上升沿檢測電路
01
題目:對于8位向量中的每個位,檢測輸入信號何時從一個時鐘周期的0變?yōu)橄乱粋€時鐘周期的1(類似于上升沿檢測)。應(yīng)在從0到1的跳變發(fā)生后的周期內(nèi)設(shè)置輸出位。
以下為例子, 為了清楚起見,分別顯示了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的狀態(tài);
第十行 pedge <= in & ~d_last; 檢測上升沿,簡答來說就是檢測input由0變1。
雙邊沿檢測電路
02
題目:對于8位向量中的每個位,檢測輸入信號何時從一個時鐘周期更改為下一個時鐘周期(檢測任何邊沿)。應(yīng)在從0到1的跳變發(fā)生后的周期內(nèi)設(shè)置輸出位。
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的狀態(tài);
第九行 anyedge <= d_old^ in ; 即現(xiàn)在的信號in與上一個狀態(tài)不一樣的話,輸出1(異或是兩個信號不一樣置1),這樣該電路就可以雙邊沿檢測。
-
檢測電路
+關(guān)注
關(guān)注
13文章
308瀏覽量
58192 -
Verilog
+關(guān)注
關(guān)注
28文章
1351瀏覽量
110143 -
狀態(tài)機(jī)
+關(guān)注
關(guān)注
2文章
492瀏覽量
27559 -
時鐘域
+關(guān)注
關(guān)注
0文章
52瀏覽量
9539
發(fā)布評論請先 登錄
相關(guān)推薦
評論