【发布时间】:2011-12-07 10:15:49
【问题描述】:
我想检测信号的上升沿从触发器AA 到BB
+----+
A ----------------| |----- OUT
+----+ | BB |
B ----| |------|> |
| AA | +----+
clk ----|> |
+----+
Verilog 代码:
module edge_detect (
input A,
input B,
input clk,
output OUT
);
reg AA;
reg BB;
always @(posedge clk) begin
AA <= B;
end
always @(posedge AA)begin
BB <= A;
end
assign OUT = BB;
endmodule
AA 的输出用作BB 的时钟,表示AA 已完成其工作,然后BB 现在可以继续其操作。
我很少看到这段代码。这是一个好习惯吗?
如果没有,还有其他正确的方法来检测信号的边缘吗?
【问题讨论】: