打印

请问一个不是很难的问题

[复制链接]
1172|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kdurant|  楼主 | 2012-4-15 21:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ST, RS, se, os, ge
假如在always语句里还要判断一个周期更大的信号边沿怎么办?

always @(posedge CLK10ns)
begin
    //如果这里要判断边沿怎么办?    假如signal周期为1000ns
    //如果有好几天这样的边沿要判断怎么办? 假如还有一个signal周期为2000ns
end


我知道可以用这种办法得到信号的边沿
assign                        sig_rx_rst                = (~sig_rx_rst2) & (sig_rx_rst1) ;
always @(posedge CLK)
begin
        if(RST)
        begin       
//                sig_rx_rst                <= 0 ;
                sig_rx_rst1                <= 0 ;
                sig_rx_rst2                <= 0 ;
        end
        else
                begin
                        sig_rx_rst0                <= sig_rx_sys_cs ;
                        sig_rx_rst1                <= sig_rx_rst0 ;
                        sig_rx_rst2                <= sig_rx_rst1 ;
//                        sig_rx_rst                <= (~sig_rx_rst2) & (sig_rx_rst1) ;         //sig_rx_sys_cs的上升沿,sig_rx_rst=1
//                        sig_rx_rst                <= (sig_rx_rst2) & (~sig_rx_rst1) ;         //sig_rx_sys_cs的上升沿,sig_rx_rst=1
                end
end


但如果需要判断边沿的信号很多,这样做是不是有点麻烦?有没有简单一点的办法?

当然可以直接用
always @(posedge signal)
但很多人都不推荐这种做法,请问这是为什么?

相关帖子

沙发
Backkom80| | 2012-4-15 22:02 | 只看该作者
1,用打一拍,取异或的方法可以检测出信号边沿,这跟要检测信号的周期有啥关系,1000ns的照检测,10us的也一样,
2,always @(posedge signal)不推荐的原因有:signal不是真正的时钟信号,没有走全局网络,驱动能力不是很强,偏移抖动都会较大,

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
sxhhhjicbb + 1
板凳
kdurant|  楼主 | 2012-4-15 22:37 | 只看该作者
2# Backkom80
如果有很多这样的信号,用打一拍的方法感觉有点繁琐,有没有其他的办法

使用特权

评论回复
地板
Backkom80| | 2012-4-16 09:44 | 只看该作者
呵呵,好象没有更好的办法了,

使用特权

评论回复
5
mayia| | 2012-4-16 15:19 | 只看该作者
同求答案!

使用特权

评论回复
6
GoldSunMonkey| | 2012-4-16 18:04 | 只看该作者
如果直接使用该信号,在信号有毛刺的时候,功能就错了。

时钟信号则一般不会有毛刺。

还是使用边缘检测,然后使用异或来完成上升沿的寻找吧。

使用特权

评论回复
7
dong_dt| | 2012-4-25 15:52 | 只看该作者
如果被采样的信号相对于采样时钟而言是一个异步信号,建议不要只打一拍,这样可能会由于亚稳态影响电路的稳定性。
你的第二段代码是比较规范的一种操作,不要闲麻烦哦。
第三段代码,是最不靠谱的,可谓是“赔了夫人又折兵”。稳定性且不说,出来的信号,到了第二级还是要同步到另外一个时钟域。

使用特权

评论回复
8
sxhhhjicbb| | 2012-4-25 21:06 | 只看该作者
例化元件的方法.但程序量也差不多.

使用特权

评论回复
9
GoldSunMonkey| | 2012-4-25 22:25 | 只看该作者
其实我的才是最正确的

使用特权

评论回复
10
Backkom80| | 2012-4-26 08:47 | 只看该作者
支持猴哥。:lol

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

279

帖子

0

粉丝