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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 9076|回复: 8

功能仿真和时序仿真怎么不一样呢?

[复制链接]
发表于 2008-4-21 20:16:04 | 显示全部楼层 |阅读模式

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

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

x
很短的一个计数分频程序:


library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity fenpin is
port(
        clk:in std_logic;                  --12M时钟信号
        clk_scanut std_logic
);
end;
architecture abc of fenpin is
signal cnt:integer range 0 to 30;
begin
    process(clk)
    begin
        
        if(rising_edge(clk))then
            if(cnt=cnt'high)then
                cnt<=0;
            else
                cnt<=cnt+1;
            end if;
        end if;
    end process;
    process(cnt,clk)
    begin
        
        if(rising_edge(clk))then
            if(cnt>=cnt'high/2)then
                clk_scan<='1';
            else
                clk_scan<='0';
            end if;
        end if;
    end process;
end;



=====================================================







不知道程序有没有问题?我做功能仿真的时候能够看到cnt信号,但是做时序仿真的时候就没有了。怎么回事呢?
发表于 2008-4-22 17:46:45 | 显示全部楼层
Testbench中是否没有为cnt赋初始值?

建议引入全局复位信号,为cnt赋初值。
发表于 2008-4-23 09:36:02 | 显示全部楼层
同意楼上的看法。
 楼主| 发表于 2008-4-23 12:51:59 | 显示全部楼层
好的·我试试·
 楼主| 发表于 2008-4-23 12:53:00 | 显示全部楼层



你是说在程序中加一段赋初始值的程序,还是在波形文件中对cnt赋值啊?
发表于 2008-4-23 17:13:11 | 显示全部楼层
欧,原来如此。

建议使用Testbench,用辅助仿真的工具会有很多功能不好实现的。
 楼主| 发表于 2008-4-24 00:05:59 | 显示全部楼层


原帖由 dragonba 于 2008-4-23 17:13 发表
欧,原来如此。

建议使用Testbench,用辅助仿真的工具会有很多功能不好实现的。



新手··还不懂什么是testbench
 楼主| 发表于 2008-4-25 14:27:58 | 显示全部楼层
是因为时序仿真时一些信号会被解释成连接线,被工具优化掉了吗????
发表于 2010-11-15 13:29:42 | 显示全部楼层
lz请教一下你那个代码里面的cnt‘high是什么意思? 我是初学者!麻烦讲解
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-23 13:22 , Processed in 0.031814 second(s), 12 queries , Gzip On, Redis On.

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