lgcHR 发表于 2010-11-22 17:24:20

菜鸟求助:仿真错误,请高手赐教

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY CNT10 IS
PORT (CLK,RST,EN : INSTD_LOGIC;
            CQ : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
            COUT : OUT STD_LOGIC);
END CNT10;
ARCHITECTURE BHV OF CNT10 IS
BEGIN
PROCESS(CLK,RST,EN)
    VARIABLE CQI : STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
    IF RST = '1' THEN CQI := (OTHERS => '0');--counter reset
   ELSIF CLK'EVENT AND CLK = '1' THEN
      IF EN = '1' THEN
       IF CQI < 9 THEN CQI := CQI + 1;--permit to count
       ELSE CQI := (OTHERS => '0');
      END IF;
    END IF;
   END IF;
    IF CQI = 9 THEN COUT <= '1';
   ELSE COUT <= '0';
    END IF;
      CQ <= CQI;
END PROCESS;
END BHV;
               
这是我的VHDL的10进制计数器,仿真后出现错误。不知道是什么原因。请高手赐教
下面是我的仿真图
http://cache.amobbs.com/bbs_upload782111/files_34/ourdev_599666MD6IY6.jpg
十进制计数器仿真图 (原文件名:截图1290417720.jpg)

lgcHR 发表于 2010-11-22 19:25:02

怎么没人回帖啊,我真的很着急呀!我怀疑是我的软件装的有问题,但具体原因还不清楚。在别人那仿真时正确的,郁闷啊~~~~~~~

lm78l05 发表于 2010-11-22 19:59:12

错那里了,没有看出来

zgq800712 发表于 2010-11-22 20:08:29

回复【2楼】lm78l05JimoPanda
错那里了,没有看出来
-----------------------------------------------------------------------

同感

lgcHR 发表于 2010-11-22 20:33:11

回复【3楼】zgq800712 SEED
-----------------------------------------------------------------------

程序中当上升沿是计数,可是仿真出来是下降沿计数。搞不懂,赐教啊。我郁闷了一天了~~~~~哎

lm78l05 发表于 2010-11-22 20:35:00

仿真的时间单位太小了。

lgcHR 发表于 2010-11-22 20:41:05

回复【5楼】lm78l05 JimoPanda
-----------------------------------------------------------------------

太感谢大侠了,解决了,确实是仿真时间单位太小了。谢谢!!!今晚可以睡个好觉了

lgcHR 发表于 2010-11-22 21:01:35

回复【5楼】lm78l05 JimoPanda
仿真的时间单位太小了。
-----------------------------------------------------------------------

请问大侠为什么时间单位太小会引起这种原因呢?搞不懂

lm78l05 发表于 2010-11-22 21:07:38

时间单位太小,如何你用功能仿真就没有问题,而你用的是后仿真,在这种仿真里面是加了器件参数的,比如延时。 如果时间参数设置过小,输出通过器件延时就跑到你的时钟后沿了。这是表面现象而已。

jlqamark 发表于 2010-11-23 09:02:01

回复【8楼】lm78l05 JimoPanda
-----------------------------------------------------------------------

en,同意,很常见的问题
页: [1]
查看完整版本: 菜鸟求助:仿真错误,请高手赐教