VHDL语言构造体的描述方式

VHDL语言构造体的描述方式

ID:37907884

大小:59.50 KB

页数:5页

时间:2019-06-02

VHDL语言构造体的描述方式_第1页
VHDL语言构造体的描述方式_第2页
VHDL语言构造体的描述方式_第3页
VHDL语言构造体的描述方式_第4页
VHDL语言构造体的描述方式_第5页
资源描述:

《VHDL语言构造体的描述方式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、VHDL语言构造体的描述方式4.1构造体的行为描述方式 4.2构造体的寄存器传输描述方式 4.3构造体的结构描述方式   4.1构造体的行为描述方式l        可并行信号赋值是VHDL的特点。l        简单与门(AND)模块如下:ENTITYand2ISPORT(a,b,:INBIT;c:OUTBIT);ENDand2;ARCHITECTUREand2_behavOFand2ISBEGINc<=aANDbAFTER5ns;ENDand2_behav;2.延时语句l        惯性延时*用于系统或器件的惯性描述;*语句:a<=bafter5ns;说

2、明可以缺省;*惯性延时说明在仿真时有意义,综合时忽略l        传输延时*用于总线、连接线或芯片中路径的延时;*语句:B<=transportAafter5ns;说明不可缺省;3.多驱动器描述语语句(略)4.GENERIC语句l        用于不同层次之间的信息传送例如,在数据说明中用于位矢量长度、数组长度、器件延时等参数的传递。例:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityascounti

3、sgeneric(countsize:integer:=3);port(clk,areset,enable:instd_logic;count:bufferstd_logic_vector(countsize-1downto0));endascount;  54.2构造体的寄存器传输描述方式1.描述方式的特点l        寄存器描述方法:与硬件一一对应的描述或寄存器之间的功能描述(p56-57)l        VHDL语言的限制2.描述方式应注意的问题l        "X"状态传递l        寄存器RTL描述的限制:*在一个进程中不能有多于一个寄存器

4、的描述*IF语句中不能有ELSEl        关联性强的信号应放在一个进程中54.3构造体的结构描述方式l        多层次设计,高层次设计调用低层次设计模块1.         COMPONENT语句l        元件说明COMPONENT元件名[GENERIC(类属说明)][PORT(端口说明)]ENDCOMPONENT; l        可以在结构体、包集合和BLOCK的说明中使用l        例1:componentAND2port(I1,I2:inBIT;Z:outBIT);endcomponent;l        例2:compon

5、entADDgeneric(N:POSITIVE);port(X,Y:inBIT_VECTOR(N-1downto0);z:outBIT_VECTOR(N-1downto0);CARRY:outBIT);endcomponent;l        元件例化语句*将现成元件的端口信号映射成高层次设计电路中的信号;*格式:例化名:元件名[genericmap(类属名=>表达式{,类属名=>表达式})]portmap([端口信号名=>]信号{,[端口信号名=>]信号})*类属映射为可选项,类属名与元件说明语句中的相同,每个表达式要计算出一个值。*端口信号名与元件说明语句

6、中的相同,信号为高层实际信号。端口映射方法:位置映射:把实际信号按元件端口说明的顺序列在端口映射表;名称映射:将元件端口说明中的端口名赋给实际信号。*例1:port(a,b:inbit;c:outbit);…u1:and2portmap(nsel,d1,ab);--位置映射*例2:u1:and2portmap(a=>nsel,b=>d1,c=>ab);--名称映射*例3:D触发器:libraryieee;useieee.std_logic_1164.all;entitydffisport(clk,reset:instd_logic;d:instd_logic;q:

7、bufferstd_logic);enddff;architecturearchdffofdffisbeginp1:process(reset,clk)beginifreset='1'thenq<='0';elsif(clk'eventandclk='1')thenq<=d;endif;endprocess;endarchdff;*例4:4个D触发器组成移位寄存器:libraryieee;useieee.std_logic_1164.all;entityshiftisport(clk,reset:instd_logic;a:instd_logic;b:outstd

8、_logi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。