集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 3191|回复: 7

求教如何去除毛刺

[复制链接]
ck2010 发表于 2011-10-16 12:02:11 | 显示全部楼层 |阅读模式
rt,想要编写输入为50MHz系统时钟,输出为10Hz计数时钟的vhdl程序,用按键实现输入,会产生毛刺。。。
想要通过信号的last_active实现去毛刺,但ise显示unsupported Clock statement.,是要包含某个包集合还是什么原因???
求教啊。。。。。。
程序如下:
architecture Behavioral of clk_generate is
   SIGNAL TEMP:STD_LOGIC:='0';
begin

PROCESS(CLKIN)
        VARIABLE COUNT : INTEGER:=0;
BEGIN
        IF(RISING_EDGE(CLKIN) and clkin'last_active>=2 ns)THEN
                COUNT:=COUNT+1;
                IF(COUNT=250000)THEN
                   TEMP<= NOT TEMP;
                        COUNT:=0;
                ELSE NULL;
                END IF;
        END IF;
END PROCESS;
   CLK<=TEMP;
end Behavioral;
pengdan0905 发表于 2011-10-17 14:12:20 | 显示全部楼层
好像一般加D触发器可以去毛刺吧
jasonshows 发表于 2011-10-17 16:13:11 | 显示全部楼层
第一个IF里面的语句有问题吧  你时钟的状态和对last—active的判断分开写    你这种写法我没见过
good luck!
至芯兴洪 发表于 2011-10-19 09:21:39 | 显示全部楼层
clkin'last_active>=2 ns 这种写法没见过,可不可以给我解释下啊
这样吧,你加个复位信号,复位信号的时间远大于毛刺的时间,设计脱离复位后开始分频毛刺早过了
zjh6697476 发表于 2011-10-21 16:53:05 | 显示全部楼层
可以试试先用电阻电容做滤波,再用施密特整形,,,,应该可以的
ireland_Lover 发表于 2011-10-23 23:10:28 | 显示全部楼层
貌似工程里常用的就是加电容吧。
最基本的电容滤波电路就可以
当然D flip flop也可以
cgh996 发表于 2011-10-24 16:30:32 | 显示全部楼层
你太有才了  写的居然是不可综合语句!
ok1246 发表于 2011-10-24 16:45:43 | 显示全部楼层
我是路过打酱油的..
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-6-24 15:27 , Processed in 0.075022 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表