上升沿检测电路
01
题目:对于8位向量中的每个位,检测输入信号何时从一个时钟周期的0变为下一个时钟周期的1(类似于上升沿检测)。应在从0到1的跳变发生后的周期内设置输出位。
以下为例子, 为了清楚起见,分别显示了in [1]和pedge [1]。
module top_module(
input clk,
input [7:0] in,
output reg [7:0] pedge);
reg [7:0] d_last;
always @(posedge clk) begin
d_last <= in;
pedge <= in & ~d_last; // A positive edge occurred if input was 0 and is now 1.
end
endmodule
第九行 d_last <= in ; 是记录信号in上一个cycle的状态;
第十行 pedge <= in & ~d_last; 检测上升沿,简答来说就是检测input由0变1。
双边沿检测电路
02
题目:对于8位向量中的每个位,检测输入信号何时从一个时钟周期更改为下一个时钟周期(检测任何边沿)。应在从0到1的跳变发生后的周期内设置输出位。
module top_module (
input clk,
input [7:0] in,
output [7:0] anyedge
);
reg [7:0] d_old;
always@(posedge clk)begin
d_old <= in;
anyedge <= d_old^in;
end
endmodule
第八行 d_old <= in ; 是记录信号in上一个cycle的状态;
第九行 anyedge <= d_old^ in ; 即现在的信号in与上一个状态不一样的话,输出1(异或是两个信号不一样置1),这样该电路就可以双边沿检测。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
检测电路
+关注
关注
13文章
289浏览量
57856 -
Verilog
+关注
关注
28文章
1327浏览量
109312 -
状态机
+关注
关注
2文章
486浏览量
27184 -
时钟域
+关注
关注
0文章
49浏览量
9455
发布评论请先 登录
相关推荐
FPGA设计中的边沿检测问题
在同步电路设计中,边沿检测是必不可少的!后一种方法所耗的资源要比前一种方法多(一个触发器),但是就可以大大提高可靠性,这绝对是物有所值!!
发表于 02-01 10:53
•912次阅读
用移位寄存器实现边沿检测的技巧
本文记录一下关于用移位寄存器实现边沿检测的技巧。要学会硬件思维式的“模块式”读写代码,那么请多看别人的代码,并用ISE或者VIVADO综合出来看看。 边沿检测
发表于 04-15 10:26
•2976次阅读
FPGA学习系列:12. 边沿检测设计
设计背景: 在我们工程设计中,有时会需要到上升沿和下降沿这么一个说法,通过上升沿和下降沿来驱动一个电路,那么学习边沿检测就非常的重要了。 设计原理 : 在学习边沿
评论