检测同步信号的姿势[不使用@posedge 信号]
Detect posedge for sync signal [Without using @posedge signal]
我正在尝试检测同步信号的姿态,但我不知道如何相对于时钟实现它 [不使用 @posedge signal
]。
我可以像 @(posedge clk iff -----
) 那样实现吗?
同步设计应在同一时钟沿提供和采样信号。
要找到上升沿(从低到高的转换),您必须保存信号先前的值,因此当当前值为 1 时可以找到上升沿,但先前的值为 0。
示例:
logic sig_prev;
logic positive_edge_detected;
always @(posedge clk)
begin
sig_prev <= sig;
end
always @(posedge clk)
begin
positive_edge_detected = 0;
if((sig == 1) && (sig_prev==0)) begin
positive_edge_detected = 1;
end
end
为了好的设计,您也应该实现异步重置。
我正在尝试检测同步信号的姿态,但我不知道如何相对于时钟实现它 [不使用 @posedge signal
]。
我可以像 @(posedge clk iff -----
) 那样实现吗?
同步设计应在同一时钟沿提供和采样信号。
要找到上升沿(从低到高的转换),您必须保存信号先前的值,因此当当前值为 1 时可以找到上升沿,但先前的值为 0。
示例:
logic sig_prev;
logic positive_edge_detected;
always @(posedge clk)
begin
sig_prev <= sig;
end
always @(posedge clk)
begin
positive_edge_detected = 0;
if((sig == 1) && (sig_prev==0)) begin
positive_edge_detected = 1;
end
end
为了好的设计,您也应该实现异步重置。