五讲VHDL数据对象及属性.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文档。上传文档
查看更多
五讲VHDL数据对象及属性

寄存器生成的条件 对信号来说:当一个信号的赋值是以另一个信号的边沿或跳变为条件时(即发生同步赋值时),该信号经编译后就会生成寄存器。同步赋值只能在进程、函数或过程等顺序代码中出现,一般在语句if signal’event....或wait until之后。 对变量来说: (1)若一个变量是在一个信号跳变时被赋值,并且该值最终又被赋给了另外的信号(数值传递作用),则将生成寄存器 。(2)一个变量未进行赋值操作时已经被信号使用,也将产生寄存器(用以存储process上一次执行后c的值)。 如果未被进程、函数或过程之外的代码调用,则不一定生成寄存器。 * 端口描述: 一个输入端口:input(n-1:0) 一个输出端口:output(n:0) 功能特征分析 输入矢量的宽度比输出矢量的宽度少一位;输出矢量的其它位由输入矢量直接赋值。 功能固定,规格不固定,可以设计成通用构造体。 需要统计输入矢量中‘1’的个数。 设计要点 如何使用GENERIC语句来定义端口规格,以适应不同规格电路设计的需要? 如何统计输入矢量中‘1’的个数?循环累加还是异或运算?代价如何? * 具体实现: 1------------------------------------------------------ 2 entity parity_gen is 3 GENERIC (n: integer:=7); 4 port( input: IN bit_vector(n-1 downto 0); 5 output: OUT bit_vector(n downto 0) ); 6 end parity_gen; 7----------------------------------------------- 8 architecture parity OF parity_gen is 9 begin 10 process(input) variable temp1: BIT; variable temp2: BIT_VECTOR(output’range); 13 begin 14 temp1:=‘0’; 15 FOR i IN input’range loop 16 temp1:=temp1 XOR input(i); 17 temp2(i):=input(i); 18 END loop; 19 temp2(output’HIGH):=temp1; 20 output=temp2; 21 end process; 22 end entity; * 复习 1、变量和信号各有哪些特点? 2、VHDL中预定义的属性都是如何使用的? 3、VHDL中用户自定义属性的语法结构? 4、信号与变量的主要区别有哪些? 5、信号与变量是怎样影响寄存器数量的? 课后作业: 1、使用GENERIC语句改写3-8译码器,使其成为通用译码器。 2、书后作业题。 * 3、有效范围的不同: 信号一般可在程序包、实体、结构体内定义,在整个系统,所有进程内有效,为全局量; 变量一般在进程和子程序中定义,只在所定义的进程和子程序内有效,为局部量。 * 4、赋值行为的不同: 信号赋值要等到进程结束后才更新数值;信号赋值可指定延迟时间,有时间的前后关联属性,常用于描述时序电路。 变量赋值时立即更新数值。没有时间的前后关联属性,常用于描述组合电路。 5、信号的多次赋值 a. 同一个进程中一个信号被多次赋值,只有最后一次赋值 有效。 b. 如果几个进程(或其它并行语句)给同一个信号赋值, 则构成多源驱动,输出连接在一起(Wired together)。电 路综合可能无效,也可能是线与(Wired AND)、线或 (Wired OR)、三态(Tri_state)总线。 * 例:output1和output2都被寄存的情况 process (clk) begin if (clk’event AND clk=‘1’) then

文档评论(0)

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

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

1亿VIP精品文档

相关文档