新数字系统设计与EDA技术 第2版 教学课件 于润伟 第5章 VHDL语言的并行语句.pptVIP

新数字系统设计与EDA技术 第2版 教学课件 于润伟 第5章 VHDL语言的并行语句.ppt

  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文档。上传文档
查看更多
块语句是一种并行语句的组合方式,可以使程序更加有层次、更加清晰。在物理意义上,一个块语句对应一个子电路;在逻辑电路图上,一个块语句对应一个子电路图。块语句的格式如下: 块标号:BLOCK 说明语句; BEGIN 并行语句; ……; END BLOCK 块标号; 块标号是块的名称,块说明语句与结构体的说明语句相同,用来定义块内局部信号、数据类型、元件和子程序,在块内并行语句区可以使用所有的并行语句。 一个结构体内可以包含多个进程语句,多个进程之间是同时执行的。进程语句本身是并行语句,但每个进程的内部则由一系列顺序语句构成。进程语句的格式如下: [进程名]:PROCESS(敏感信号表) 进程说明; --说明用于该进程的常数,变量和子程序 BEGIN 变量和信号赋值语句; 顺序语句; END PROCESS [进程名]; 进程语句的主要特点归纳如下: (1)同一结构体中的各个进程之间是并发执行的,并且都可以使用实体说明和结构体中所定义的信号;而同一进程中的描述语句则是顺序执行的,并且在进程中只能设置顺序语句。 (2)为启动进程,进程的结构中必须至少包含一个敏感信号。 (3)一个结构体中的各个进程之间可以通过信号或共享变量来进行通信,但任一进程的进程说明部分不允许定义信号和共享变量。 (4)进程语句是VHDL中的重要的建模语句,进程语句不但可以被综合器所支持,而且进程的建模方式直接影响仿真和综合的结果。 1.元件声明语句(COMPONENT)格式如下: COMPONENT 元件名 PORT 元件端口说明 (与该元件源程序实体中的PORT部分相同) END COMPONENT; 2.元件例化语句(PORT MAP)格式如下: 例化名:元件名 PORT MAP(元件端口对应关系列表); (1)位置映射。就是被调用元件端口说明中信号的书写顺序及位置和PORT MAP语句中实际信号的书写顺序及位置一一对应。例如某元件的端口说明为:PORT(a,b:IN BIT;c:OUT BIT);调用该元件时可使用:com1:u1 PORT MAP(n1,n2,m);显然n1对应a,n2对应b,m对应c,com1是例化名,u1是元件名。 (2)名称映射。就是将库中已有的模块的端口名称赋予设计中的信号名。上例可改为:com1:u1 PORT MAP(a = n1,b = n2,c = m); 1.FOR工作模式的生成语句 FOR工作模式常常用来进行重复结构的描述,格式如下: [生成标号:] FOR 循环变量 IN 取值范围 GENERATE 并行语句; END GENERATE [生成标号]; 2.IF工作模式的生成语句 IF工作模式的生成语句常用来描述带有条件选择的结构。格式如下: [生成标号:] IF 条件 GENERATE 并行语句; END GENERATE [生成标号]; 在一些场合,需要用特定的符号或数码表示特定的对象,例如一个班级中的每个同学都有不重复的学号,每个电话用户都有一个特定的号码等。在数字电路中,需要将具有某种特定含义的信号变成代码,利用代码表示具有特定含义对象的过程,称为编码。能够完成编码功能的器件,称为编码器(Encoder)。编码器分为普通编码器和优先级编码器两类。 普通编码器在某一时刻只能对一个输入信号进行编码,即只能有一个输入端有效,当信号高电平有效时,则应只有一个输入信号为高电平,其余输入信号均为低电平。一般来说,由于n位二进制代码可以表示2n种不同的状态,所以,2n个输入信号只需要n个输出就完成编码工作。 8-3线普通编码器电路具有8个输入端,3个输出端(23=8),属于二进制编码器。用X7~X0表示8路输入,Y2~Y0表示3路输出。原则上对输入信号的编码是任意的,常用的编码方式是按照二进制的顺序由小到大进行编码。 LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY ENCODE IS PORT(X : IN std_logic_VECTOR(7 DOWNTO 0); Y : BUFFER std_logic_VECTOR(2 DOWNTO 0)); END ENCODE; ARCHITECTURE A OF ENCODE IS BEGIN WITH X SELECT Y=000 WHEN 001 WHEN 010 WHEN 011 WHEN 0

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档