oliviagx 发表于 2011-4-12 22:52:18

一个计数触发电路,输出信号延时后的“仿真”输出会有毛刺是怎么回事

本帖最后由 oliviagx 于 2011-4-12 22:54 编辑

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.All;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;

ENTITY trigger15_6 IS
PORT(trigger6,en6,en6_1,clk:IN STD_LOGIC;
      q6:OUT STD_LOGIC;
      enout6:OUT STD_LOGIC);
END trigger15_6;

ARCHITECTURE BEH of trigger15_6 IS
signal q:STD_LOGIC:='0';
signal count6:STD_LOGIC_VECTOR(2 DOWNTO 0):="000";
signal count:STD_LOGIC_VECTOR(19 DOWNTO 0);
BEGIN
PROCESS(trigger6,en6)
   BEGIN
   IF(en6='0')THEN count6<="000";q<='0';
   ELSIF(trigger6 'EVENT AND trigger6='1')THEN
   IF(en6='1' AND en6_1='1')THEN
   count6<=count6+1;
   IF(count6="000")THEN
   q<='1';
   END IF;
   END IF;
   END IF;
   
END PROCESS;
holdtime:PROCESS(clk,en6)
BEGIN
IF(en6='0')THEN count<=(OTHERS=>'0');
ELSIF(clk 'EVENT AND clk='1') THEN
   IF(q='1')THEN
   count<=count+'1';
   END IF;
END IF;
END PROCESS;

q6<='1' WHEN count>="00000000000000001111" ELSE '0';
enout6<='1' WHEN count6="101" AND q='1' ELSE '0';
END BEH;

宏观上看输出正确,只是不知道为何对输出信号延时15个时钟周期,输出及输出使能就都有毛刺产生,毛刺对后续电路会有影响么

哦十全_至芯学员 发表于 2011-4-17 23:06:35

毛刺很正常的。

oliviagx 发表于 2011-4-18 20:42:32

回复 2# 哦十全_至芯学员


    那这样的毛刺会影响功能实现么

哦十全_至芯学员 发表于 2011-4-18 21:53:41

应该是没有问题的。还有可能和仿真工具有关系,你用modelsim仿真看看。
页: [1]
查看完整版本: 一个计数触发电路,输出信号延时后的“仿真”输出会有毛刺是怎么回事