第八讲第7章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文档。上传文档
查看更多
第7章 VHDL基本语句 顺序语句 并行语句 属性描述与定义语句 1. 顺序语句 VHDL基本语句: VHDL基本语句包括顺序语句和并行语句两大类 并行语句:每一条语句在执行顺序的地位上是平等的,其执行顺序与书写的顺序无关。主要用于结构体中。 顺序语句:每一条语句的执行顺序是与它们的书写顺序基本一致的。主要用于进程和子程序中。 顺序语句的分类:有六类基本顺序语句 赋值语句 流程控制语句 等待语句 子程序调用语句 返回语句 空操作语句。 1. 顺序语句 赋值语句:将一个值或一个表达式的运算结果传递给某一数据对象,如信号或变量等。VHDL规定:赋值目标与赋值源的数据类型必须严格相等。 赋值语句分类:赋值语句有两种 信号赋值语句:具有全局性特征,信号不但可以作为一个设计实体内部各单元之间数据传送的载体,而且可通过信号与其他的实体进行通信。赋值过程存在延时。 变量赋值语句:具有局部特征,它的有效性只局限于所定义的一个进程或子程序中,它是一个局部的、暂时性数据对象,并且赋值是立即发生的。 1. 顺序语句 IF语句:属于流程控制语句。 CASE语句:属于流程控制语句。 CASE语句执行中必须选中,选择值不能相同。 格式如下: CASE 表达式 IS WHEN 选择值或标识符 = 顺序语句; ... WHEN 选择值或标识符 = 顺序语句; ... WHEN OTHERS = 顺序语句; ... END CASE ; 选择值的不同表达方式 单个普通数值,如6。 数值选择范围,如(2 TO 4)。 并列数值,如3 | 5。 混合方式,以上三种方式的混合。 1. 顺序语句 例1:4选1数据选择器设计。根据4位输入码确定4位输出中那一位为1。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux41 IS PORT (s4, s3, s2, s1 : IN STD_LOGIC;z4, z3, z2, z1 : OUT STD_LOGIC); END mux41; ARCHITECTURE activ OF mux41 IS BEGIN PROCESS (sel , s4, s3, s2, s1 ) VARIABLE sel : INTEGER RANGE 0 TO 15; BEGIN sel:= 0 ; -- 输入初始值 IF (s1 =1) THEN sel := sel+1 ; ELSIF (s2 =1) THEN sel := sel+2 ; 1. 顺序语句 ELSIF (s3 =‘1’) THEN sel := sel+4 ; ELSIF (s4 =1) THEN sel := sel+8 ; ELSE NULL; -- 注意,这里使用了空操作语句 END IF; z1=0 ; z2=0; z3=0; z4=0; --输入初始值 CASE sel IS WHEN 0 = z1=1 ; -- 当sel=0时选中 WHEN 1 | 3 = z2=1 ; -- 当sel为1或3时选中 WHEN 4 To 7 | 2 = z3=1; -- 当sel为2、4、5、6或7时选中 WHEN OTHERS = z4=1 ; -- 当sel为8~15中任一值时选中 END CASE ; END PROCESS ; END activ ; 1. 顺序语句 例2:实现一个简单的算术逻辑单元ALU设计,完成加、减、相等和不等比较操作。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY alu IS PORT( a, b : IN STD_LOGIC_VECTOR (7 DOWNTO 0);opcode: IN STD_LOGIC_VECTOR (1 DOWNTO 0);result: OUT STD_LOGIC_VECTOR (7 DOWNTO 0) ); END alu; ARCHITECTURE behave OF alu IS CONSTANT plus : STD_LOGIC_VECTOR (1 DOWNTO 0) := b00; CONSTANT minus : STD_LOGIC_VECTOR (1 DOWNTO 0) := b01; CONSTANT equal : STD_LOG

文档评论(0)

挺进公司 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档