在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2602|回复: 4

[求助] 求助!modelsim仿真没有输出

[复制链接]
发表于 2014-3-19 20:14:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
用的就是论坛里的M序列发生器
library ieee;
use ieee.std_logic_1164.all;

entity pps4 is
port( clk  : in  std_logic;
      load : in  std_logic;
      q    : out std_logic );
end pps4;

architecture behave of pps4 is
    signal c0,c1,c2,c3 : std_logic;
begin
    process(clk,load)
    begin
      if clk'event and clk='1' then
        if(load='1') then
          c0<='1';
          c1<='0';
          c2<='0';
          c3<='0';
          q<=c3;
        else
          c1<=c0;
          c2<=c1;
          c3<=c2;
          c0<=c3 xor c0;
          q<=c3;
        end if;
      end if;
    end process;
end behave;

testbench文件用的quartus自己生成然后改的
LIBRARY ieee;                                               
USE ieee.std_logic_1164.all;                                

ENTITY pps4_tb IS
END pps4_tb;
ARCHITECTURE ps4_arch OF pps4_tb IS
-- constants                                                
-- signals                                                   
SIGNAL clk : STD_LOGIC;
SIGNAL load : STD_LOGIC;
SIGNAL q : STD_LOGIC;
COMPONENT pps4
    PORT (
    clk : IN STD_LOGIC:='1';
    load : IN STD_LOGIC:='1';
    q : OUT STD_LOGIC:='1'
    );
END COMPONENT;
constant clk_period :time   :=20 ns;
BEGIN
    i1 : pps4
    PORT MAP (
-- list connections between master ports and signals
    clk => clk,
    load => load,
    q => q
    );
init : PROCESS                                               
-- variable declarations                                    
BEGIN                                                        
wait for 20 ns;  
        load<='0';  
        wait for 2000 ns;         -- code that executes only once                     
WAIT;                                                      
END PROCESS init;                                          
always : PROCESS                                             
-- optional sensitivity list                                 
-- (        )                                                
-- variable declarations                                      
BEGIN                                                         
clk<='0';  
        wait for clk_period/2;  
        clk<='1';  
        wait for clk_period/2;        -- code executes for every event on sensitivity list  
                                                        
END PROCESS always;                                          
END ps4_arch;

仿真以后输出只有一条红线,不知道怎么回事啊,新手求助啊。。。。
QQ截图20140319201855.png
发表于 2014-3-19 21:53:31 | 显示全部楼层
load 在 testbench 中 先设置 为 1  超过 一个 时钟  周期 然后 在 为 0
发表于 2014-3-19 21:59:52 | 显示全部楼层
tb里面,load信号没有给初始值,从来没有出现高电平。你的代码里面,load信号做置位就没成功,导致数据全是X,

SIGNAL load : STD_LOGIC:=‘1’;
 楼主| 发表于 2014-3-20 08:33:31 | 显示全部楼层
回复 2# buley


    非常感谢!!终于出东西了~~~~~
发表于 2014-3-20 08:51:38 | 显示全部楼层
可以买本modelsim的书
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

X

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-6-21 19:42 , Processed in 0.027456 second(s), 12 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表