第3课 VHDL设计初步.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 1 组合电路的VHDL描述 一位二进制全加器及其VHDL描述 第二部分是此元件与当前设计实体(顶层文件)中的元件及端口间的连接说明,其表达式为: “例化名”是一种标识符,如果顶层文件调用多个同种元件,则可以通过这些元件不同的例化名区分(例3-7中的h_adder) “元件名”是待调用元件所对应的设计实体的实体名 port map是关键字,表示端口映射(或端口连接) “端口名”是待调用元件本身的端口名 “连接端口名”是顶层设计文件的端口名 “=”是连接符号,需要注意“=”仅代表连接关系,不表示信号流动方向,即“=”不限制信号流动方向(例3-7中元件u1的前两个端口连接符号,千万不要想当然写成“=”) * 2 基本时序电路的VHDL描述 D触发器的VHDL描述 现代数字系统设计中最基本的底层时序单元 与例3-3相比较,语句结构和语言应用类似,但例3-3描述了组合电路,例3-8描述了时序电路,为什么呢? * 上升沿检测表达式和信号属性函数event 2 基本时序电路的VHDL描述 D触发器的VHDL描述 —— 用来获得信号行为信息的函数叫信号属性函数 —— 关键词event是一种信号属性函数,包含在ieee库的std_logic_1164程序包中 —— VHDL用以下表达式测定信号的跳变情况: —— “clk’event”对信号clk在当前一个极小时间段δ内发生事件的情况进行检测;所谓发生事件就是clk的取值发生变化;若发生事件,则表达式输出布尔值ture,反之输出false ——若 “clk’event and clk=‘1’”为真,表示在δ时间内测得clk有一个跳变, 此小时间段δ过后又测得clk的取值是’1’,if语句推断clk在此刻有一个上升沿,该语句就是上升沿检测短语 —— 下降沿检测短语是”clk’event and clk=‘0’” * 2 基本时序电路的VHDL描述 D触发器的VHDL描述 不完整条件语句与时序电路 —— 这里的if语句没有利用通常的else语句明确指出当if语句不满足条件时作何操作(即没有对所有可能发生的条件给出相应的处理方式),是一种不完整的条件语句 —— VHDL综合器对不完整的条件语句解释为:若不满足条件,则保持赋值目标的原值不变(对该例来说,q1保持上一次时钟上升沿后q1被更新的值)。 —— 当输入改变后能保持q1原值不变,意味着引入了存储元件(时序元件)来保存q1的值(对该例来说,引入了d触发器) —— 利用不完整的条件语句来构成时序电路是VHDL描述时序电路最重要的途径 * 2 基本时序电路的VHDL描述 D触发器的VHDL描述 组合电路与完整的条件语句 —— 完整的条件语句用来构成组合电路(ppt p19和p22中的例子) —— 利用条件语句进行纯组合电路设计时,如果没有充分考虑所有的条件及其对应的处理方法(即没有覆盖所有的条件),将导致不完整的条件语句出现,从而综合出与设计者意愿不符的锁存器(latch) ——右例(例3-9)的if语句没有覆盖条件a=b,所以综合出了latch(见下页) * a=b? 2 基本时序电路的VHDL描述 * D触发器的VHDL描述 组合电路与完整的条件语句 —— 生成组合电路时插入不必要的latch,是很容易犯的错误,如果综合出latch,综合器通常会给出警告(warning);如果不是有意引入latch,就一定要关注这些警告,定位插入latch的语句查找原因 用左边语句替换上页红框内语句,则综合出正确的组合电路 覆盖了所有条件 2 基本时序电路的VHDL描述 * D触发器的VHDL描述 触发器(flip-flop)与锁存器(latch) —— 触发器是边沿触发的,输出信号只在指定时钟沿(如上升沿)根据输入信号发生变化(举例) —— 锁存器是电平触发的,在指定电平下,当输入信号发生变化时输出信号也随之变化,容易产生毛刺,电路不稳定(举例) —— All digital designers use the name flip-flop for a sequential device that noramlly samples its inputs and changes its outputs only at times determined by a clocking signal. On the other hand, most digital designers use the name latch for a sequential device that watches all of its inputs continuously and changes its outputs at any time, ind

文档评论(0)

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

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

1亿VIP精品文档

相关文档