|  | 
 
| 
我们被要求分别用 behavioral 和 structureal model 编写 38译码器 还要 写 testbench program
×
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册  请大家帮助修改下我写的两个model的程序,并请教下testbench program如何编写:)
 behavioral model
 ibrary ieee;
 use ieee.std_logic_1164.all;
 entity 38decoder is
 Port(D0:in std_logic_vector(2 down to 0);clk,en:in bit;
 Q0
  ut std_logic_vector(7 down to 0)); end entity 38decoder;
 architechture behav of 38decoder is
 begin
 wait until clk='1'
 process(D0,en)
 begin
 if (en='0') then Q0<="zzzzzzzz" after 2ns;
 else
 case D0 is
 when "000" => Q0<= "00000001" after 2ns;
 when "001" => Q0<= "00000010" after 2ns;
 when "010" => Q0<= "00000100" after 2ns;
 when "011" => Q0<= "00001000" after 2ns;
 when "100" => Q0<= "00010000" after 2ns;
 when "101" => Q0<= "00100000" after 2ns;
 when "110" => Q0<= "01000000" after 2ns;
 when "111" => Q0<= "10000000" after 2ns;
 when others=> Q0<= "zzzzzzzz" after 2ns;
 end case;
 end if;
 end process;
 end architechture behav;
 
 structureal model
 
 entity 38decoder is
 Port(D0,D1,D2,clk,en:in bit;
 Q0,Q1,Q2,Q3,Q4,Q5,Q6,Q7
  ut bit); end entity 38decoder;
 architecture struct of 38decoder is
 component declaration
 signal int_clk : bit;
 begin
 bit:
 port map(int_clk,Q0);
 bit1:
 port map(D0,int_clk,Q1);
 bit2:
 port map(D1,int_clk,Q2);
 bit3:
 port map(D1,D0,int_clk,Q3);
 bit4:
 port map(D2,int_clk,Q4);
 bit5:
 port map(D2,D0,int_clk,Q5);
 bit6:
 port map(D2,D1,int_clk,Q6);
 bit7:
 port map(D2,D1,D0,int_clk,Q7);
 gate: and2
 port map (en, clk, int_clk);
 end architecture struct;
 | 
 |