集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 4777|回复: 10

在时钟的上升沿,怎样判断一个脉冲的上升沿???

[复制链接]
乡下乖乖女 发表于 2010-6-25 23:06:17 | 显示全部楼层 |阅读模式
本帖最后由 fpgaw 于 2010-7-12 11:25 编辑

在时钟的上升沿,怎样判断一个脉冲的上升沿???
绿豆宝贝 发表于 2010-6-26 00:56:29 | 显示全部楼层
有通用的边沿判断电路,就是用时钟上升沿驱动一个寄存器,把该脉冲作为输入,把该寄存器的输入和输出作为条件,如果输入为0输出为1,则表示出现上升沿。不过这样的上升沿会延迟一个时钟周期的。
蓝色海域 发表于 2010-6-26 01:41:58 | 显示全部楼层
always @(posedge clk)<br>
begin <br>
&nbsp; &nbsp;&nbsp; &nbsp;pluse_buf1&lt;= pluse;<br>
&nbsp; &nbsp;&nbsp; &nbsp;plues_buf2&lt;=pluse_buf1;<br>
end<br>
assign&nbsp; &nbsp;pluse_raise = pluse_buf1&nbsp;&nbsp;&amp; (~pluse_buf2);
我不是少爷 发表于 2010-6-26 01:44:17 | 显示全部楼层
请教楼上, pluse_raise = pluse_buf1&nbsp;&nbsp;&amp; (~pluse_buf2);采用两级d触发器是增加稳定性吗??
出外的囝仔 发表于 2010-6-26 03:26:15 | 显示全部楼层
消除亚稳态,没错的。就是采用二级触发器。
七郎仔 发表于 2010-6-26 03:47:09 | 显示全部楼层
本帖最后由 wushihai 于 2010-6-20 12:14 编辑 <br>
<br>
3楼写的好。<br>
<br>
clkreg&lt;clk_in;<br>
<br>
clkfall&lt;=clkreg &amp;&amp; (~clk_in);<br>
<br>
可以判断下降沿吧。
一个人的舞台 发表于 2010-6-26 04:54:29 | 显示全部楼层
如果本来就是同步的话,就不需要这样写了。<br>
always @(posedge clk)<br>
begin<br>
&nbsp; &nbsp;&nbsp; &nbsp;pluse_buf1&lt;= pluse;<br>
end<br>
assign&nbsp; &nbsp;pluse_raise = pluse &amp; (~pluse_buf1);<br>
如果想消除亚稳态的话,那应该是如下写法:<br>
always @(posedge clk)<br>
begin<br>
&nbsp; &nbsp;&nbsp; &nbsp;pluse_buf1&lt;= pluse;<br>
&nbsp; &nbsp;&nbsp; &nbsp;plues_buf2&lt;=pluse_buf1;<br>
plues_buf3&lt;=pluse_buf2;<br>
end<br>
assign&nbsp; &nbsp;pluse_raise = pluse_buf2&nbsp;&nbsp;&amp; (~pluse_buf3);<br>
<br>
打两拍后才用,才是标准的消除亚稳态的电路。
绿豆宝贝 发表于 2010-6-26 05:25:13 | 显示全部楼层

高!
        7#
kk2009
别生气咯 发表于 2010-6-26 06:44:41 | 显示全部楼层
7楼正解,不过还是要考虑快慢时钟的问题,打两拍不是万能的
麦子 发表于 2010-6-26 07:43:41 | 显示全部楼层
还是7楼的标准
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

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

GMT+8, 2025-5-6 17:08 , Processed in 0.066658 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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