打印

边缘检测后如何保持输出一直为1

[复制链接]
1195|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
aikimi7|  楼主 | 2013-3-17 14:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我检测一个信号上升沿之后,想保持输出一直为高电平,怎么做呢?因为后续电路想让它一直为高电平。。。我是不是可以在边缘检测电路中增加一个操作,把一个寄存器置为1.
module VREF_posedge_detection (
   input  LLC,
   input  rst_n,
   input  VREF,
   output o_rising_edge
);

reg VREF_in0;
reg VREF_in1;

assign o_rising_edge = ~VREF_in0 & VREF_in1;

always@(posedge LLC or negedge rst_n) begin
   if (!rst_n) begin
     VREF_in0 <= 1'b0;
     VREF_in1 <= 1'b0;
   end
   else begin
     VREF_in0 <= VREF_in1;
     VREF_in1 <= i_data_in;
   end
end

endmodule


相关帖子

沙发
GoldSunMonkey| | 2013-3-17 20:34 | 只看该作者
比方设一个计数器,让计数器开始为0,然后上升沿以后为1,然后保持1不动即可

使用特权

评论回复
板凳
aikimi7|  楼主 | 2013-3-18 09:38 | 只看该作者
GoldSunMonkey 发表于 2013-3-17 20:34
比方设一个计数器,让计数器开始为0,然后上升沿以后为1,然后保持1不动即可 ...

谢谢猴哥的方法。。
我在上面的边沿检测中增加了这么一段:
always@(posedge LLC or negedge rst_n)
   if (!rst_n)
     VREF_flag <= 1'b0;
   else if (o_rising_edge)
     VREF_flag <= 1'b1;
好像也可以,就是打了一拍,猴哥,你觉得呢?

使用特权

评论回复
地板
GoldSunMonkey| | 2013-3-18 17:00 | 只看该作者
aikimi7 发表于 2013-3-18 09:38
谢谢猴哥的方法。。
我在上面的边沿检测中增加了这么一段:
always@(posedge LLC or negedge rst_n)

嗯,就是2进制计数器嘛

使用特权

评论回复
5
feihong777| | 2013-3-18 17:19 | 只看该作者
GoldSunMonkey 发表于 2013-3-18 17:00
嗯,就是2进制计数器嘛

V5

使用特权

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

本版积分规则

21

主题

136

帖子

0

粉丝