Circuits----sequential Logic
前言
一、题目(latches-detect an edge)
脉冲边沿检测-Verilog
For each bit in an 8-bit vector, detect when the input signal changes from 0 in one clock cycle to 1 the next (similar to positive edge detection). The output bit should be set the cycle after a 0 to 1 transition occurs.
Here are some examples. For clarity, in[1] and pedge[1] are shown separately.
二、知识点
1.判断上升沿还是下降沿
若检测脉冲边沿,只需将前后进来的信号做异或运算,即两个电平不相同则是发生边沿。
思路:
设计寄存器用来接收被检测的信号;
若{先进reg,后进reg}=2’b10,则是下降沿;
若{先进reg,后进reg}=2’b01,则为上升沿;
三、解决
1.检测上边沿
代码如下(示例):
module top_module (
input clk,
input [7:0] in,
output [7:0] pedge
);
reg [7:0]in_1,in_2;
always@(posedge clk)
begin
in_1<=in;
in_2<=in_1;
end
assign pedge=~in_2&in_1;
endmodule