上升沿检测电路
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文章
305浏览量
58104 -
Verilog
+关注
关注
28文章
1343浏览量
109973 -
状态机
+关注
关注
2文章
492浏览量
27470 -
时钟域
+关注
关注
0文章
52浏览量
9528
发布评论请先 登录
相关推荐
FPGA设计中的边沿检测问题
在同步电路设计中,边沿检测是必不可少的!后一种方法所耗的资源要比前一种方法多(一个触发器),但是就可以大大提高可靠性,这绝对是物有所值!!
发表于 02-01 10:53
•970次阅读
FPGA学习系列:12. 边沿检测设计
设计背景: 在我们工程设计中,有时会需要到上升沿和下降沿这么一个说法,通过上升沿和下降沿来驱动一个电路,那么学习边沿检测就非常的重要了。 设计原理 : 在学习边沿
Verilog系统函数和边沿检测
“ 本文主要分享了在Verilog设计过程中一些经验与知识点,主要包括Verilog仿真时常用的系统任务、双向端口的使用(inout)、边沿检测”
评论