这是一个学习记录:
Posedge:
在clk时钟上升沿对信号signal打两拍: signal_1和signal_2,然后将第二拍取反和第一拍相与 &&
module get_posedge(clk,signal,pos,signal_1,signal_2,signal_2n);
input clk;
input signal;
output pos;
output reg signal_1;
output reg signal_2;
output signal_2n;
always@(posedge clk) //对signla打两拍
begin
signal_1 <= signal;
signal_2 <= signal_1;
end
assign signal_2n = ~signal_2;
assign pos= signal_2n & signal_1;
endmodule
仿真截图:
Negedge:
在clk时钟上升沿对信号signal打两拍: signal_1和signal_2, 然后将第1拍取反和第2拍 相与 &&
module get_negedge(clk,signal,signal_1,signal_2,signal_1n,neg);
input clk,signal;
output reg signal_1,signal_2;
output signal_1n,neg;
always@(posedge clk)
begin
signal_1<=signal;
signal_2<=signal_1;
end
assign signal_1n = ~signal_1;
assign neg = signal_1n && signal_2;
endmodule
截图:
完毕。。。