第5章 寄存器皓设计应用.pptVIP

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

第5章 寄存器设计应用 寄存器VHDL描述 寄存器描述的VHDL程序 寄存器描述的VHDL程序 * * 《CPLD与FPGA的应用》 D触发器的描述 D触发器 【例】 LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY DFF1 IS PORT (CLK : IN STD_LOGIC ; D : IN STD_LOGIC ; Q : OUT STD_LOGIC ); END ; ARCHITECTURE bhv OF DFF1 IS SIGNAL Q1 : STD_LOGIC ; --类似于在芯片内部定义一个数据的暂存节点 BEGIN PROCESS (CLK,Q1) BEGIN IF CLKEVENT AND CLK = 1 THEN Q1 = D ; END IF; END PROCESS ; Q = Q1 ; --将内部的暂存数据向端口输出 END bhv; VHDL描述的语言现象说明 信号定义和数据对象 信号定义 SIGNAL Q1:STD_LOGIC; 表示在描述的器件DFF1内部定义标识符Q1的数据对象为信号SIGNAL,其数据类型为STD_LOGIC。 由于Q1被定义为器件的内部节点信号,数据的进出不像端口信号那样受限制,所以不必定义其端口模式(如IN、OUT等)。 定义Q1的目的是为了在设计更大的电路时使用由此引入的时序电路的信号,这是一种常用的时序电路设计的方式。 有Q1过渡,Q不用BUFFER类型。 VHDL描述的语言现象说明 上升沿检测表式和信号属性函数EVENT CLK‘EVENT AND CLK=’1‘ 检测时钟信号CLK的上升沿 关键词EVENT是信号属性函数,用来获得信号行为信息的函数称为信号属性函数 信号名EVENT “clkEVENT”就是对clk标识符的信号在当前的一个极小的时间段 ? 内发生事件的情况进行检测。所谓发生事件,就是clock在其数据类型的取值范围内发生变化,从一种取值转变到另一种取值(或电平方式)。 VHDL描述的语言现象说明 上升沿检测表式和信号属性函数EVENT 如果clk的数据类型定义为STD_LOGIC,则在? 时间段内,clk从其数据类型允许的9种值中的任何一个值向另一值跳变,如由‘0’变成‘1’、由‘1’变成‘0’或由‘Z’变成‘0’,都认为发生了事件 虽然STD_LOGIC一般只有‘0’和‘1’ ’LAST_VALUE 信号属性函数,它表示最近一次事件发生前的值。 【例】 ENTITY COMP_BAD IS PORT( a1,b1 : IN BIT; q1 : OUT BIT ); END ; ARCHITECTURE one OF COMP_BAD IS BEGIN PROCESS (a1,b1) BEGIN IF a1 b1 THEN q1 = 1 ; ELSIF a1 b1 THEN q1 = 0 ;-- 未提及当a1=b1时,q1作何操作 END IF; END PROCESS ; END ; 不完整条件语句与时序电路 不完整条件语句与时序电路 电路图(Synplify综合) 不完整条件语句与时序电路 ... IF a1 b1 THEN q1 = 1 ; ELSE q1 = 0 ; END IF; ... (Synplify综合) 实现时序电路的不同表述 【例】 ... PROCESS (CLK) BEGIN IF CLKEVENT AND (CLK=1) AND (CLKLAST_VALUE=0) THEN Q = D ; --确保CLK的变化是一次上升沿的跳变 END IF; END PROCESS ; 实现时序电路的不同表述 【例】 ... PROCESS (CLK) BEGIN IF CLK=1 AND CLKLAST_VALUE=0 THEN Q = D ; END IF; END PROCESS ; 【

文档评论(0)

181****7523 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档