




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第5章 并发代码5.1 回忆组合电路和时序电路回忆组合电路和时序电路组合电路:组合电路:y=f(输入)(输入) 组合电路有:加法器,减法器,数据选择组合电路有:加法器,减法器,数据选择器,编码器,译码器,奇偶校验器等器,编码器,译码器,奇偶校验器等时序电路:时序电路:y=f(输入,状态输入,状态) 时序电路:触发器,计数器,分频器,时序电路:触发器,计数器,分频器,移位寄存器,控制器移位寄存器,控制器VHDL中的语句:并行语句中的语句:并行语句 顺序语句顺序语句并行代码:使用运算表达式对信号赋值并行代码:使用运算表达式对信号赋值 when语句语句 生成语句生成语句 块语句块语句 进程(顺序代码
2、)进程(顺序代码)5.2使用运算表达式使用运算表达式 实现组合电路设计实现组合电路设计 例例1:4位加法器设计位加法器设计 5.3 WHEN 语句语句有两种:条件赋值和选择赋值有两种:条件赋值和选择赋值1、条件赋值(、条件赋值(when/else语句)语句) 判断根据不同的条件对信号赋值判断根据不同的条件对信号赋值格式:信号格式:信号=值值1 when 条件条件1 else 值值2 when 条件条件2 else . 值值n;(最后不加条件,表示以上条件都不满足)(最后不加条件,表示以上条件都不满足)例例1:多路数据选择器:多路数据选择器Library ieee;Use ieee.std_lo
3、gic_1164.allEntity my_mux is Port(a,b,c,d,so,s1:in std_logic; Y:std_logic);End my_mux;Architecture bhv of my_mux isBegin Y=a when s1=0 and s0=0 else b when s1=0 and s0=1 else c when s1=1 and s0=0 else d;End bhv;仿真图:仿真图:注:条件赋值语句是基于顺序判断,条件判断注:条件赋值语句是基于顺序判断,条件判断 有优先级。有优先级。例例2:设计编码器(普通编码器,优先级编码器):设计编码器(
4、普通编码器,优先级编码器)普通编码器:普通编码器:Library ieee;Use ieee.std_logic_1164.all;Entity encoder is Port(x:in std_logic_vector(7 downto 0); Y:out std_logic_vector(2 downto 0);End encoder;Architecture bhv of encoder isBegin Y=111 when x=10000000 else 110 when x=01000000 else 101 when x=00100000 else 101 when x=00010
5、000 else 011 when x=00001000 else 010 when x=00000100 else 001 when x=00000010 else 000 when x=00000001 else ZZZ;End bhv;优先级编码器:优先级编码器:Architecture bhv of encoder isBegin Y=”111” when x(7)=1 else “110” when x(6)=1 else “101” when x(5)=1 else “100” when x(4)=1”else “011” when x(3)=1 else “010” when x
6、(2)=1 else “001” when x(1)=1”else “000” when x(0)=1else “ZZZ”;End bhv;2、选择赋值语句、选择赋值语句根据选择项不同的选择值,对信号赋值根据选择项不同的选择值,对信号赋值语法:语法: with 选择项选择项 select 信号信号=表达式表达式1 when 选择值选择值1, 表达式表达式2 when 选择值选择值2, . 表达式表达式n when 选择值选择值n;说明:说明:选择值必须包含所有选择项可能出项选择值必须包含所有选择项可能出项的值,经常用到的值,经常用到others,而且非常重要。,而且非常重要。 例例3:多路选择
7、器设计:多路选择器设计Library ieee;Use ieee.std_logic_1164 .all;Entity my_mux isPort (a,b,c,d:in std_logic; sel:in std_logic_vector(1 downto 0); y:out std_logc);End my_mux;Architecture bhv of my_mux is begin With sel select Y=a when “00”, b when “01”, c when “10”, d when others;End bhv;例例4:一位全加器的设计:一位全加器的设计Lib
8、rary ieee;Use ieee.std_logic_1164.all;Entity adder is Port (a,b,ci:in std_logic; S,co:out std_logic); End adder;Architecture bhv of adder is Signal temp:std_logic_vector(2 downto 0);Begin Temp=a&b&ci; With temp select S=0 when “000”|”011”|”101”|”110”, 1 when others; Co=0 when “000”|”001”|”01
9、0”|”100”, 1 when others;End bhv;例例5:三态缓冲器:三态缓冲器ena为低电平时,输出等于输入,否则,输出为高阻状态、为低电平时,输出等于输入,否则,输出为高阻状态、Library ieee;Use ieee.std_logic_1164.all;Entity tri_state s Port ( ena:in std_logic; Input:in std_logic_vector(7 downto 0); Output:out std_logic_vector(7 downto 0);End tri_state;Architecture bhv of tri_
10、state is Begin Output=input when ena=0 else “ZZZZZZZZ”; End bhv;最后:总结选择赋值和条件赋值语句的区别:最后:总结选择赋值和条件赋值语句的区别: 条件赋值是基于顺序判断条件的判断,条件赋值是基于顺序判断条件的判断, 有优先有优先级,占用资源少;级,占用资源少; 选择赋值语句无优先级,占用资源多。选择赋值语句无优先级,占用资源多。5.3 块语句(块语句(block)语法: 标号:block begin 并发代码 end block 标号;例:a1:block begin end block;注:块语句只为程序结构读起来更清晰,对硬件
11、电路没有任何影响。5.4 生成语句(generate) (1)for-generate (2) if generate1. for-generate 语句 (循环生成具有某些规律和特点的并行代码)语法: 标号: for 循环变量 in 范围 generate 并行语句 end generate;说明:(1)for-generate 循环范围中的上下限必需是 静态数据 (2)注意多值驱动问题(不允许一个信号被赋予多个 值) 例:使用for-generate 语句实现电路要求功能。S(7)=x(3) and y(7);S(6)=x(2) and y(6);S(5)=x(1) and y(5);S(
12、4)=x(0) and y(4);S(3)=z(3) and y(3);S(2)=z(2) and y(2);S(1)=z(1) and y(1);S(0)=z(0) and y(0);Library ieee;Use ieee.std_logic_1164 .all;Entity encoder isPort (x,z,:in std_logic_vector(3 downto 0); y:in std_logic_vector(7 downto 0); s:out std_logc_vector(7 downto 0);End encoder;Architecture bhv of enc
13、oder is begin a1:for i in 7 downto 4 generate s(i)=x(i-4) and y(i); end generate; a2:for i in 3 downto 0 generate s(i)=z(i) and y(i); end generate;End bhv; 例:例:4位二进制数转格雷码位二进制数转格雷码Library ieee;Use ieee.std_logic_1164 .all;Entity grad is Generic(n:integer:=4);Port (x:in std_logic_vector(3 downto 0); y:out std_logic_vector(3 downto 0);End grad;Architecture bhv of grad is
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三级人力资源管理师-三级人力资源管理师考试《理论知识》考前冲刺2
- 2025年年市政工程合作协议书
- 农机技术推广在乡村振兴战略中的作用和推广策略
- DB12-522-2014反恐怖防范管理规范第1部分-通则
- STEAM理念下的高中地理教学研究
- 小儿心肌损害的发病特点及与中医证型的相关性研究
- 小学语文作文原创童诗6首
- 浙江专版2025版高考生物一轮复习第34讲胚胎工程教案
- 任务期限合同范例
- 高考化学二轮复习讲练测专题02 NA及其运用(讲)(学生版)
- 2024 IMT-2030(6G)推进组白皮书 -面向6G的智能超表面技术研究报告
- 中华人民共和国保守国家秘密法实施条例培训课件
- 八年级数学分式经典练习题分式的乘除
- 设备工程师招聘面试题与参考回答
- 读书分享读书交流会《你当像鸟飞往你的山》课件
- 口腔牙齿美白课件
- 2024年中国山地滑道市场调查研究报告
- GB/T 2423.65-2024环境试验第2部分:试验方法试验:盐雾/温度/湿度/太阳辐射综合
- 【三菱】M800M80系列使用说明书
- 2024年巴中市中考历史试卷(含答案解析)
- 高职高专教育英语课程教学基本要求-20211209120040
评论
0/150
提交评论