EDA技术与VHDL设计第三VHDL语言入门.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EDA技术与VHDL设计第三VHDL语言入门

3.7.2 类属参量的应用   如3.4.3节所述,类属参量多用于模块化设计时不同层次模块之间信息的传递,可以将其理解为高层次模块传递给底层模块的形参。在例3-16中,类属参量n的缺省取值为3,但n的具体取值可通过例3-17中参数传递映射GENERIC MAP语句动态指定。     3.8 简单时序电路的描述   以上所述示例都是组合逻辑电路,VHDL语言能够进行时序逻辑电路的描述,且因为它行为建模的特点,描述时序电路更加方便。触发器是最简单、最具代表性的时序电路,它是数字系统设计中最基本的底层时序单元。触发器的VHDL描述包含了VHDL许多有特色的语言现象,例3-18显示了一个D触发器的描述,其仿真结果如图3-13所示。 图3-13 D触发器时序波形   从仿真结果可以看出,当时钟信号clk上升沿到来时,输出信号q随输入信号d的变化而变化,以实现D触发器的功能。例3-18涉及的相关语法如下:   (1) ?IF语句中的判断表达式“clk EVENT AND clk?=?1?”用于检测时钟信号clk的上升沿(L15),即只要有时钟信号clk的上升沿到来,表达式将输出TURE,执行赋值语句“q1 = d”,从而实现D触发器的功能。   (2) 关键词EVENT是预定义的信号类属性,用来获得指定对象行为的信息,其格式一般是:对象 EVENT。属性EVENT表示如果信号在很短的时间内发生变化,则返回TURE。L15表示:信号clk在一小段时间内发生变化,且变化后clk取值为“1”,两者都成立的情况下,可以推断clk出现了一个上升沿,判断表达式输出为TURE。   (3) 也可采用其他的方式来进行上升沿的检测,如例3-19~例3-21所示。由于clk信号的数据类型是STD_LOGIC,则它可能的取值有9种,那么语句“clk EVENT AND clk=1”并不能保证信号clk发生跳变前的值是“0”(有可能是从“Z”到“1”的跳变),这样就不能确保clk出现了一个上升沿。例3-19使用了信号属性LAST_VALUE,它表示在最后一次事件发生前信号的值,如果“clkLAST_VALUE=0”成立,则确保了信号clk发生变化前的值为“0”。例3-21使用了函数rising_egde( ),该函数是在IEEE库的标准程序包std_logic_1164中的预定义函数,只能用于数据类型STD_LOGIC,指定信号的值必须是“0”到“1”的转换,不允许“Z”或“X”到1的转换。   同样在std_logic_1164程序包中还定义了测试下降沿的函数falling_edge( ),指定信号的值必须是“1”到“0”的转换。需要注意的是,在使用这两个函数前必须打开IEEE库和std_logic_ 1164程序包。虽然,例3-19~例3-21是更为严格的上升沿的检测方式,但考虑到多数综合器并不理会边沿检测语句中信号的STD_LOGIC数据类型,所以最常用的检测语句仍是“clk EVENT AND clk=1”。   (4) 例3-18的IF语句属于单分支条件语句,对于不满足条件(即没有上升沿到来)的情况,VHDL的综合器会解释成跳过赋值语句q1=d不予执行,这意味着保持q1的原值不变。对于数字电路来说,当输入改变后仍能保持原值不变,就意味着使用了具有存储功能的元件,必须引进时序元件(寄存器)来保存q1的原值,直到满足IF语句的判断条件后才能更新q1的值。     3-1 解释以下的实体描述,说明实体名、端口定义、数据类型等,并画出对应的元件符号。 人有了知识,就会具备各种分析能力, 明辨是非的能力。 所以我们要勤恳读书,广泛阅读, 古人说“书中自有黄金屋。 ”通过阅读科技书籍,我们能丰富知识, 培养逻辑思维能力; 通过阅读文学作品,我们能提高文学鉴赏水平, 培养文学情趣; 通过阅读报刊,我们能增长见识,扩大自己的知识面。 有许多书籍还能培养我们的道德情操, 给我们巨大的精神力量, 鼓舞我们前进。 * 结构体说明语句位于关键词ARCHITECTURE和BEGIN之间,主要是对结构体功能描述语句中将要用到的数据类型、常量、信号、子程序、函数、元件等的声明。(说明语句并非必须的。在一个结构体中,说明语句部分声明的数据类型、常量、信号、子程序、函数、元件等只能用于该结构体。如果希望它们能够用于其他的设计实体,则需要作为程序包来处理)。 结构体功能描述语句位于关键词BEGIN和END RCHITECTURE之间,负责具体逻辑功能和电路结构的描述,可以是并行语句、顺序语句或是二者的混合。 3.5.3 功能描述语句   结构体功能描述语句负责描述具体电路的逻辑实现。功能描述语句中可以包含进程、并行信号赋值语句、元件例化语句、子程序调用语句等几类。这几类语句

文档评论(0)

little28 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档