VHDL序设计题.doc
文本预览下载声明
VHDL程序设计题
四、 编程题(共50分)
1、请补全以下二选一VHDL程序(本题10分)
Entity mux is
port(d0,d1,sel:in bit;
q:out BIT ); (2)
end mux;
architecture connect of MUX is (4)
signal tmp1, TMP2 ,tmp3:bit; (6)
begin
cale:
block
begin
tmp1=d0 and sel;
tmp2=d1 and (not sel)
tmp3= tmp1 and tmp2;
q = tmp3; (8)
end block cale;
end CONNECT ; (10)
2、编写一个2输入与门的VHDL程序,请写出库、程序包、实体、构造体相关语句,将端口定义为标准逻辑型数据结构(本题10分)
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; (2)
ENTITY nand2 IS
PORT (a,b:IN STD_LOGIC; (4)
y:OUT STD_LOGIC); (6)
END nand2;
ARCHITECTURE nand2_1 OF nand2 IS (8)
BEGIN
y = a NAND b; --与y =NOT( a AND b);等价 (10)
END nand2_1;
3、根据下表填写完成一个3-8线译码器的VHDL程序(16分)。
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY decoder_3_to_8 IS
PORT (a,b,c,g1,g2a,g2b:IN STD_LOGIC;
y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); (2)
END decoder_3_to_8;
ARCHITECTURE rtl OF decoder_3_to_8 IS
SIGNAL indata:STD_LOGIC_VECTOR (2 DOWNTO 0); (4)
BEGIN
indata = c b a; (6)
PROCESS (indata,g1,g2a,g2b)
BEGIN
IF (g1 = 1 AND g2a = 0 AND g2b = 0 ) THEN (8)
CASE indata IS
WHEN 000= y =
WHEN 001 = y =
WHEN 010 = y = (10)
WHEN 011 = y =
WHEN 100 = y =
WHEN 101 = y =
WHEN 110 = y = (12)
WHEN 111 = y =
WHEN OTHERS= y = XXXXXXXX;
END CASE;
ELSE
y = (14)
END IF;
END PROCESS; (16)
END rtl;
4、三态门电原理图如右图所示,真值表如左图所示,请完成其VHDL程序构造体部分。
(本题14分)
LIBRARY IEEE;
USE IEEE.STD_LOGIC_11
显示全部