问答题 用VHDL描述下列器件的功能:
【正确答案】4选1数据选择器。
   ENTITY mum41 IS
   PORT(en,a0,a1,d0,d1,d2,d3:IN Bit;
   F:OUT Bit);
   END mux41;
   ARCHITECTURE bch mux41 OF mux41 IS
   BEGIN
   PROCESS(en,a1,a0,d3,d2,d1,d0)
   BEGIN
   IF(en='i')THEN
   IF(a1='0' AND a0='0')THEN
   f<=d0;
   ELSIF(a1='0' AND a0='i')THEN
   f<=d1;
   ELSIF(a1='i' AND a0='0')THEN
   f<=d2;
   ELSE
   f<=d3;
   ENDIF;
   ELSE
   f<='0';
   ENDIF;
   END PROCESS;
   END bch_mux41;
【答案解析】
【正确答案】2线-4线译码器。
   LIBRARY IEEE;
   USE IEEE STD_LOGIC_1164.ALL;
   ENTITY b0-2-4 IS
   PORT(en,a0,a1:IN STD LOGIC;
   Y0,Y1,Y2,Y3:OUT STD LOGICO);
   END b0-2-4;
   ARCHITECTURE rtl OF b0-2-4 IS
   SIGNAL tmp_IN:STD_LOGIC_VECTOR(IDOWNTO 0);
   SIGNAL tmp_OUT:STD_LOGIC_VECTOR(3DOWNTO 0);
   BEGIN
   tmp_IN<=al&a0;
   PROCESS(tmp_IN,en)
   BEGIN
   IF(en='0')THEN
   CASS tmp_IN IS
   WHEN "00"=>tmp_OUT<="1110";
   WHEN "01"=>tmp_OUT<="1101";
   WHEN "10”=>tmp_OUT<="1011";
   WHEN "11"=>tmp_OUT<="0111";
   WHEN OUTTHERS=>tmp_OUT<="1111";
   END CASS;
   ELSE
   tmp_OUT<="1111";
   END IF;
   YO<=tmp_OUT(0);
   Y1<=tmp_OUT(1);
   Y2<=tmp_OUT(2);
   Y4<=tmp OUT(3);
   END PROCESS;
   END rtl;
【答案解析】
【正确答案】时钟R-S触发器。
   ENTITY R-S-FF
   PORT(r,s,CLK:IN Bit;
   q,nq:BUFFER Bit);
   END R-S-FF;
   ARCHITECTURE rsff OF R-S-FF IS
   BEGIN
   ASSERT NOT(r='1' AND s='1')
   REPORT "Control | error"SEVERITV Error;
   PROCESS(r,s,CLK)
   BEGIN
   IF CLK='1' THEN
   q<=s OR(NOT r AND q);
   nq<= NOT(s OR(NOT r AND q));
   END IF;
   END PROCESS;
   END rsff;
【答案解析】
【正确答案】带复位端Clear和置位端Preset、输出延迟Tpd为20ns,响应CP下降沿的J-K触发器。
   LIBRARY IEEE;
   USE IEEE.STD_LOGIC_1164.ALL;
   ENTITY JKff IS
   PORT(clear,preset,CLK,J,K:INSTD_LOGIC;
   q,Nq:OUT STD_LOGIC);
   END JKff;
   ARCHITECTURE rl OF JKff IS
   PROCESS(clear,preset,CLK,J,K)
   BEGIN
   IF(clear='0')THEN
   q<='0';
   Nq<='1';
   ELSIF(preset='0')THEN
   q<='1';
   Nq<='0';
   ELSIF(CLK 'EVENT AND CLK='0')THEN
   IF(J='0')AND(K='1')THEN
   q<='0' AFTER 20ns;
   Nq<='1' AFTER 20ns;
   ELSIF(J='1')AND(K='0')THEN
   q<='1' AFTER 20ns;
   Nq<='0' AFTER 20ns;
   ELSIE(J='1')AND(K='1')THEN
   q<=NOT q AFTER 20ns;
   Nq<=NOT Nq AFTER 20ns;
   ENDIF;
   END PROCESS;
   END rtl;
【答案解析】
【正确答案】主从J-K触发器。
   读者可根据主从J-K触发器特点自行编程。
【答案解析】
【正确答案】集成计数器74163。
   ENTITY counter16 IS
   PORT(cr,ld,cp,ctt,ctp:IN Bit;
   d:IN Bit_VECTOR(3DOWNTO 0);
   q:BUFFER Bit_Vector(3DOWNTO 0);
   co:OUT Bit);
   END counter16;
   ARCHITECTURE behave_ctr16 OF counter16 IS
   BEGIN
   PROCESS(cp)
   BEGIN
   IF(cp='1')THEN
   IF er='0' THEN
   q<="0000";
   ELSIF id='0' THEN
   q<=d;
   ELSIF(ctt='1' AND ctp='1')THEN
   IF q="1111" THEN
   q<="0000";
   ELSE
   q<=q+1;
   END IF;
   END IF;
   END IF;
   END PROCESS;
   cO<='1' WHEN(q="1111" AND ctt='1')ELSE '0';
   END bch_ctr16;
【答案解析】
【正确答案】集成移位寄存器74194。
【答案解析】