实验2---组合逻辑电路的VHDL设计

上传人:豆浆 文档编号:92222530 上传时间:2019-07-08 格式:DOC 页数:6 大小:333.52KB
返回 下载 相关 举报
实验2---组合逻辑电路的VHDL设计_第1页
第1页 / 共6页
实验2---组合逻辑电路的VHDL设计_第2页
第2页 / 共6页
实验2---组合逻辑电路的VHDL设计_第3页
第3页 / 共6页
实验2---组合逻辑电路的VHDL设计_第4页
第4页 / 共6页
实验2---组合逻辑电路的VHDL设计_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《实验2---组合逻辑电路的VHDL设计》由会员分享,可在线阅读,更多相关《实验2---组合逻辑电路的VHDL设计(6页珍藏版)》请在金锄头文库上搜索。

1、 实验二 组合逻辑电路的VHDL设计1、 实验目的与要求1、目的(1)熟悉VHDL语言的基本结构(2)掌握用VHDL语言实现组合逻辑功能器件的逻辑功能的一般方法。2、要求(1)调试程序要记录调试过程中出现的问题及解决办法;(2)给出每个问题的算法或画出流程图;(3)编写程序要规范、正确,上机调试过程和结果要有记录,并注意调试程序集成环境的掌握及应用,不断积累编程及调试经验;(4)做完实验后给出本实验的实验报告。二、实验设备、环境PII以上计算机,装有QuartusII软件三、方法与步骤(一)教师简单回顾所需知识并演示较一个简单功能的实现过程。1、 简单回顾组合逻辑电路的特点及常用逻辑功能器件的

2、功能2、 回顾QuartusII的VHDL操作步骤3、 以4选1数据选择器为例,重点演示该组合逻辑单元的VHDL设计过程。(1)4选1数据选择器的真值表与电路符号地址输入输出S0S100A01B10C11D(2)4选1数据选择器的参考VHDL程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux41 IS PORT(S:IN STD_LOGIC_VECTOR (1 DOWNTO 0); A,B,C,D : IN STD_LOGIC;Y:OUT STD_LOGIC );END mux41;ARCHITECTURE a OF mux41 ISBE

3、GINPROCESS (s,A,B,C,D) BEGINIF (S=00) THEN Y = A; ELSIF (S=01) THEN Y = B; ELSIF (S=10) THEN Y = C; ELSIF (S=11) THEN Y = D; END IF; END PROCESS;END a;四、实验过程、内容、数据处理及分析按照设计选题编写简单程序1、 可供选择进行设计的组合逻辑电路如下,要求规定课时内至少完成3种逻辑电路的设计。设计对象选择:基本门电路、8选1数据选择器、3-8译码器、BCD码译码器、优先级编码器、全加器、4位加法器。(1) 8选1数据选择器library ieee

4、;use ieee.std_logic_1164.all;entity mux81 is port (s: in std_logic_vector (2 downto 0); a,b,c,d,e,f,g,h : in std_logic; y: out std_logic);end mux81;architecture e of mux81 isbegin process(s,a,b,c,d,e,f,g,h) begin if(s=000)then y=a; elsif s=(001) then y=b; elsif s=(010) then y=c; elsif s=(011) then y

5、=d; elsif s=(100) then y=e; elsif s=(101) then y=f; elsif s=(110) then y=g; elsif s=(111) then y=h;end if;end process;end e;(2) 3-8译码器library ieee;use ieee.std_logic_1164.all;entity mux38 is port (s: in std_logic_vector (2 downto 0); y: out std_logic_vector(7 downto 0);end mux38;architecture e of mu

6、x38 isbegin process(s) begin if(s=000)then y=11111110; elsif s=(001) then y=11111101; elsif s=(010) then y=11111011; elsif s=(011) then y=11110111; elsif s=(100) then y=11101111; elsif s=(101) then y=11011111; elsif s=(110) then y=10111111; elsif s=(111) then y=01111111;end if;end process;end e; (3)

7、优先级编码器library ieee;use ieee.std_logic_1164.all;entity adv is port (I:in std_logic_vector( 0 to 7 ); y:out std_logic_vector (0 to 2);end adv;architecture a of adv isbegin process(I) begin if (i(7)=0) then y=000; elsif (i(6)=0) then y=100; elsif (i(5)=0) then y=010; elsif (i(4)=0) then y=110; elsif (i

8、(3)=0) then y=001; elsif (i(2)=0) then y=101; elsif (i(1)=0) then y=011; elsif (i(0)=0) then y=111; end if; end process;end a; 对所编写的VHDL程序进行软件仿真,直到仿真结果满足功能要求。1、 功能仿真。2、 选择某一型号器件后时序仿真。记录正确的源程序与仿真波形。五、实验结论与问题讨论1、功能仿真与时序仿真有何区别? 答:功能仿真不考虑器件和布线的延时,而时序仿真需要考虑2、 记录软件仿真的波形并与实际功能相对照,检查是否符合功能要求。3、 记录实验过程遇到的问题以及解决的方法。 答:时序仿真的时候出现毛刺,但功能仿真可以解决。六、实验心得 通过本次实验,我已基本掌握了用VHDL语言实现组合逻辑功能器件的逻辑功能的一般方法。而时序仿真的时候还会出现毛刺。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号