打印
[verilog]

代码分析

[复制链接]
1411|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
布川酷子|  楼主 | 2013-10-10 10:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有这样一段代码,不知道要实现什么功能,烦请详解
        module test(
        input     gls_clk,encoder,
        output reg   clr_counter
        );
        reg q3,q4;
        always@(posedge gls_clk ) begin
                clr_counter <=q3 & !q4;
                q4<=q3;
                q3<=encoder;
        end
        endmodule
        谢谢!

相关帖子

沙发
yixiupu0| | 2013-10-10 12:57 | 只看该作者
输出一个 encoder 的上升沿

使用特权

评论回复
板凳
布川酷子|  楼主 | 2013-10-14 14:46 | 只看该作者
yixiupu0 发表于 2013-10-10 12:57
输出一个 encoder 的上升沿

非常谢谢你的回答,那请问这个呢?
                        R_addr_reg1 <= R_addr_reg0;
                        R_addr <= R_addr_reg1;
为什么不直接把R_addr_reg0赋值给R_addr,谢谢

使用特权

评论回复
地板
guugel| | 2013-10-15 11:18 | 只看该作者
上面这段代码应该是实现 把R_addr_reg0  延时2个时钟后赋给R_addr,直接赋值的话,只延时1个时钟

使用特权

评论回复
5
and| | 2013-10-15 11:52 | 只看该作者
也可能是为了避免亚稳态。

使用特权

评论回复
6
huabutterfly| | 2013-10-21 22:32 | 只看该作者
R_addr_reg0,R_addr_reg1, R_addr  这是一个信号的三个时钟的值,T0 T1 T2,不知道你的整体程序是什么,但是做数据分析,傅里叶等计算时,这都是很正常的。
  

使用特权

评论回复
7
xxnwinner| | 2013-10-22 18:32 | 只看该作者
直接赋值和这样的赋值对应的电路图是不一样的,reg类型属于寄存器类型,如果直接赋值就表示没有中间过程的寄存器存储R_addr_reg1

使用特权

评论回复
8
nan2074| | 2013-10-22 19:50 | 只看该作者
边沿检测吧?

使用特权

评论回复
9
GoldSunMonkey| | 2013-10-22 21:27 | 只看该作者
感谢大家的讨论

使用特权

评论回复
10
GoldSunMonkey| | 2013-10-22 21:27 | 只看该作者
谢谢啦

使用特权

评论回复
11
suzixiang0| | 2013-10-23 14:32 | 只看该作者
本帖最后由 suzixiang0 于 2013-10-23 14:33 编辑

上升沿监测

使用特权

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

本版积分规则

3

主题

40

帖子

1

粉丝