VHDL语言描述语句【爆款】.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(2)用作选择控制时的IF语句书写格式为 IF (条件) THEN 顺序处理语句1; ELSE 顺序处理语句2; END IF; PROCESS(a,b,en) BEGIN IF (en=1) THEN c=a; ELSE c=b; END IF; END PROCESS; ., * (3)用作多选择控制时的IF语句书写格式为 IF 条件1 THEN 顺序处理语句1; ELSIF 条件2 THEN 顺序处理语句2; ┆ ELSIF 条件N-1 THEN 顺序处理语句N-1; ELSE 顺序处理语句N; END IF; ., * LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux4 IS PORT( input:IN STD_LOGIC_VECTOR(3 DOWNTO 0); en:IN STD_LOGIC_VECTOR(1 DOWNTO 0); y:OUT STD_LOGIC); END mux4; ARCHITECTURE aa OF mux4 IS BEGIN PROCESS(input,en) BEGIN IF (en=00) THEN y=input(0); ELSIF (en=01) THEN y=input(1); ELSIF (en=10) THEN y=input(2); ELSE y=input(3); END IF; END PROCESS; END aa; 例2(例5-9)四选一数据选择器 ., * IF语句应用例2 8-3优先编码器(74HC148) ., * 课堂练习—1 模10计数器; N位移位寄存器(右移); 作业1: (1)、N位移位寄存器(左移); (2)、通用模n计数器; CLK D Q C D Q C D Q C q3 q2 q1 D Q C q0 d ., * IF 语句使用总结 If语句必须要有else,尤其组合逻辑 嵌套计数不能太多,否则关键路径会很长,会严重影响性能; 分支较多的if应想办法采用case代替; If条件判断不能太长,若逻辑比较复杂,尽量用新产生信号代替; 注意if的优先级; 尽量不使用 、、=、=比较符。 ., * 4、CASE语句 CASE语句的一般格式为: CASE 表达式 IS WHEN 值1= 多条赋值语句; WHEN 值2= 语句2; WHEN OTHERS = 语句3(null、unaffected); END CASE; 当需要对多个条件进行判断时: (1)、WHEN 值= 语句; --单个值 (2)、WHEN 值 | 值 | 值 |…| 值=语句;--多个值的“或” (3)、WHEN 值 TO 值=语句; --取值范围,枚举 ., * 例5-10 用CASE语句描述4选1电路。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux4 IS PORT(s1,s2,a,b,c,d:IN STD_LOGIC; z:OUT STD_LOGIC); END mux4; ARCHITECTURE a OF mux4 IS SIGNAL s :STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN S= S1 S2 ; PROCESS(s1,s2,a,b,c,d) BEGIN CASE S IS WHEN “00”=Z=a;

文档评论(0)

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

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

1亿VIP精品文档

相关文档