4 多路复用器和比较器的仿真实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四多路复用器与比较器的设计与仿真
一、实验内容
1.参照芯片74LS153的电路结构,用VHDL语言设计四选一多路复用器;
2.从Maxplus中取7485器件(比较器)进行仿真与分析;用VHDL语言设计4位比较器,接着进行仿真与分析,电路逻辑结构参照芯片74x85。
二、电路功能介绍
1.74153:4选1多路复用器(4 to 1 Multiplexer),又叫4选1数据选择器用途:可以对多个输入信号进行选择。电视机里的频道转换开关就是一个多路开关。
逻辑框图
逻辑功能表
逻辑图
2.7485:4位大小比较器(4-Bit Magnitude Comparator)
逻辑框图
逻辑功能表
一、4选1多路复用器
1.VHDL语言实现:
library IEEE;
use IEEE.std_logic_1164.all;
entity mux4 is
port( a,b,c,d:in STD_LOGIC;
sel:in STD_LOGIC_VECTOR(1 downto 0);
q:out STD_LOGIC);
end mux4;
architecture mux4_arch of mux4 is
begin
process(a,b,c,d,sel)
begin
case sel is
when "00"=>q<=a;
when "01"=>q<=b;
when "10"=>q<=c;
when "11"=>q<=d;
when others=>null;
end case;
end process;
end mux4_arch;
2.波形图:
3.逻辑图:
4.用途:可以对多个输入信号进行选择。电视机里的频道转换开关就是一个多路开关。
5. 逻辑框图
6.逻辑功能表
二、比较器
1.仿真
2.VHDL语言实现:
library ieee;
use ieee.std_logic_1164.all;
entity v_7485 is
port(AL,AG,AE:in std_logic;
A,B:in std_logic_vector (3 downto 0);
ALO,AGO,AEO:out std_logic
);
end v_7485;
architecture ic_7485 of v_7485 is
signal YY:std_logic_vector(7 downto 0); begin
process(A,B,AL,AE,AG)
begin
if(A(3)>B(3)) then
ALO<='0'; AEO<='0'; AGO<='1';
elsif(A(3)
ALO<='1'; AEO<='0'; AGO<='0';
elsif(A(2)>B(2)) then
ALO<='0'; AEO<='0'; AGO<='1';
elsif(A(2)
ALO<='1'; AEO<='0'; AGO<='0';
elsif(A(1)>B(1)) then
ALO<='0'; AEO<='0'; AGO<='1';
elsif(A(1)
ALO<='1'; AEO<='0'; AGO<='0';
elsif(A(0)>B(0)) then
ALO<='0'; AEO<='0'; AGO<='1';
elsif(A(0)
ALO<='1'; AEO<='0'; AGO<='0';
else
if(AG='1'and AL='0'and AE='0') then
AGO<='1';ALO<='0';AEO<='0';
elsif(AG='0'and AL='1'and AE='0') then
AGO<='0';ALO<='1';AEO<='0';
elsif( AE='1') then
AGO<='0';ALO<='0';AEO<='1';
elsif(AG='1'and AL='1'and AE='0') then
AGO<='0';ALO<='0';AEO<='0';
else
AGO<='1';ALO<='1';AEO<='0';
end if;
end if;
end process;
end ic_7485;
3.逻辑图:
4.逻辑功能表