文档详情

VHDL序设计题.doc

发布:2018-06-23约1.27万字共18页下载文档
文本预览下载声明
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
显示全部
相似文档