modelsim仿真遇到问题 激励全有但是输出没有是红线

2019-07-15 23:26发布

测试文件
LIBRARY ieee;                                               
USE ieee.std_logic_1164.all;                                

ENtiTY ex1_vhd_tst IS
END ex1_vhd_tst;
ARCHITECTURE ex1_arch OF ex1_vhd_tst IS
-- constants                                                
-- signals                                                   
SIGNAL aa : STD_LOGIC_VECTOR(15 DOWNTO 0);
SIGNAL clk : STD_LOGIC;
SIGNAL clr : STD_LOGIC;
SIGNAL cp : STD_LOGIC;
SIGNAL data_rst : STD_LOGIC;
SIGNAL en : STD_LOGIC;
SIGNAL key : STD_LOGIC_VECTOR(15 DOWNTO 0);
SIGNAL key_out : STD_LOGIC_VECTOR(15 DOWNTO 0);
SIGNAL load : STD_LOGIC;
SIGNAL rst : STD_LOGIC;
SIGNAL sequ_out : STD_LOGIC_VECTOR(15 DOWNTO 0);
COMPONENT ex1
        PORT (
        aa : IN STD_LOGIC_VECTOR(15 DOWNTO 0);
        clk : IN STD_LOGIC;
        clr : IN STD_LOGIC;
        cp : IN STD_LOGIC;
        data_rst : IN STD_LOGIC;
        en : IN STD_LOGIC;
        key : IN STD_LOGIC_VECTOR(15 DOWNTO 0);
        key_out : OUT STD_LOGIC_VECTOR(15 DOWNTO 0);
        load : IN STD_LOGIC;
        rst : IN STD_LOGIC;
        sequ_out : OUT STD_LOGIC_VECTOR(15 DOWNTO 0)
        );
END COMPONENT;
BEGIN
        i1 : ex1
        PORT MAP (
-- list connections between master ports and signals
        aa => aa,
        clk => clk,
        clr => clr,
        cp => cp,
        data_rst => data_rst,
        en => en,
        key => key,
        key_out => key_out,
        load => load,
        rst => rst,
        sequ_out => sequ_out
        );
init: PROCESS                                                                                 
BEGIN                                                        
clk<='1';
wait for 20ns;
clk<='0';
wait for 20ns;                                                                              
END PROCESS init;                                          
tb: PROCESS                                                                                
BEGIN                                                         
aa<="0000000000000000";
key<="0000000000000000";
clr<='1';
load<='0';
rst<='1';
data_rst<='1';
en<='0';
cp<='0';
wait for 40ns;
aa<="1111111111000001";
key<="1111000011111110";
clr<='0';
load<='1';
rst<='0';
data_rst<='0';
en<='1';
cp<='1';     
WAIT for 500ns;                                                        
END PROCESS;                                          
END ex1_arch;


捕获.PNG
捕获14.PNG
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
TT24593638
2019-07-16 05:25
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
--*********************************************
ENTITY miyaoxulie is
                PORT(
                 clk,rst,en                 : IN        STD_LOGIC;
                 aa                                  : in        STD_LOGIC_VECTOR(15 DOWNTO 0);
                 key                          : in        STD_LOGIC_VECTOR(15 DOWNTO 0);
         sequ_out                 : buffer        STD_LOGIC_VECTOR(15 DOWNTO 0);
         data_rst                 : IN        STD_LOGIC
                  );
END miyaoxulie;
--*********************************************
ARCHITECTURE a OF miyaoxulie IS
begin
--****************************************
process(clk,rst,en,data_rst)
begin
        if rst='1' then sequ_out<=(others=>'0');                                --复位清零
                elsif data_rst='1' then sequ_out<=(others=>'0');
                elsif clk'event and clk='1' then
                        if en='1'then
                        sequ_out<=key xor aa;
                                end if;
                        end if;
end process;
end a;

一周热门 更多>