欢迎来到天天文库
浏览记录
ID:37907884
大小:59.50 KB
页数:5页
时间:2019-06-02
《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
此文档下载收益归作者所有