[工学]VHDL语言第5章.pptVIP

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]VHDL语言第5章

第5章 VHDL语言 构造体的描述方式 VHDL构造体的三种描述方式 行为描述方式 寄存器传输(RTL)描述方式 结构描述方式 5.1 行为级描述方式 行为描述方式是指对系统数学模型的抽象描述,其抽象程度比寄存器传输描述方式和结构化描述方式的更高。因此,行为描述有时被称为高级描述。 在行为描述方式的程序中,大量采用了算术运算、关系运算、惯性延时、传输延时等难于进行逻辑综合和不能进行逻辑综合的VHDL语句,一般来说,采用行为描述方式的VHDL程序主要用于系统层数学模型的仿真或者系统工作原理的仿真。 5.1.1 代入语句 例如: z = a nor (b and c); 等同于: process (a,b,c) begin z = a nor (b and c); end process; GENERIC语句藏用于不同层次之间的信息传递。如位矢量的长度、数组的位长、器件的延时时间等。 使用GENERIC语句易于使器件模块化和通用化。 5.2 寄存器传输级(RTL)描述方式 寄存器传输级(RTL)的描述方式,是一种以规定设计的各种寄存器形式为特征的描述方法 。它可以采用寄存器硬件一一对应的直接描述,或者采用寄存器之间的功能描述。 由于RTL描述方式是建立在并行信号赋值语句描述的基础上,描述了数据流的运动路径、运动方向和运动结果,故又称为数据流描述。 RTL描述方式是真正可以进行逻辑综合的描述方式。 RTL描述方式既可以描述时序电路,又可以描述组合电路;既含有逻辑单元的结构信息,也隐含表示某种行为。 寄存器传输级(RTL)描述 5.3 结构级描述方式 构造体的结构描述方式是描述该设计单元的硬件结构,即该硬件是如何构成的。 在多层次的设计中,常采用结构描述方式在高层次的设计模块中调用低层次的设计模块,或者直接用门电路设计单元构造一个复杂的逻辑电路。 编写结构描述程序的直观方法,可模仿逻辑图的绘制方法:即用框图来表示当前设计单元的组成和内部联结关系,而后对照该框图编制出所需的VHDL程序。 结构描述方式通常采用元件例化语句和生成语句编写程序。 a b yin c zin dout eout gout fout ARCHITECTURE rtl OF ex2 IS BEGIN PROCESS (a,zin,yin) BEGIN IF (a=1) THEN dout=1; eout=zin; ELSE dout=0; eout=yin; END IF; END PROCESS; PROCESS (b) BEGIN IF (b=1) THEN fout=1; ELSE fout=0; END IF; END PROCESS; PROCESS (a,b,c) BEGIN IF (a=1 and b=1 and c=1) THEN gout=1; ELSE gout=0; END IF; END PROCESS; END rtl; 多进程描述 ENTITY cnt IS PORT(reset,clk : IN STD_LOGIC; q : OUT STD_LOGIC_VECTOR(3 downto 0)); END cnt; ARCHITECTURE behav OF cnt IS SIGNAL qo : STD_LOGIC_VECTOR(3 downto 0); BEGIN PROCESS (clk,reset,qo) BEGIN IF reset=0 THEN qo=0000; ELSIF (clkevent and clk=1) THEN IF qo=1001 THEN qo=0000; ELSE qo=qo+1; END IF; END IF; q=qo; END PROCESS; END behav; 异步清零的模10计数器 它对计数器时钟信号的触发要求作了明确而详细的描述,对时钟信号特定的行为方式所产生的信息后果作了准确的定义。这充分展现了VHDL最为闪光之处。 ELSIF (clkevent and clk=1) THEN ENT

您可能关注的文档

文档评论(0)

jiupshaieuk12 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档