[問題]combinational output作為sequential觸發
各位大大好
今天在寫verilog時遇到一個問題
使用的是ncverilog未使用simulation model
電路圖:
http://i.imgur.com/HojuKrZ.jpg


波形內容:
D_clk為B與clk做XOR
D_clk正緣觸發時D=B
問題:
在紅圈處D卻在非正緣的時候改變
想請問:
1.combinational circuit 處理時有cell delay 如果來不及傳給下一級我可以理解,
為何在沒有使用simulation model的情況下是屬於理想狀態就不會有這個問題吧?
但是連我使用modelsim時也是一樣的結果.
2.combinational circuit 似乎有一段轉換的時間output會為亂數才是正確的結果.
是因為這個關係才導致他沒有辦法判斷觸發條件嗎?
但是除了紅圈處其他地方都有正確判斷,讓我實在很困惑.
請問使用combinational circuit output 當作觸發這種用法難道是不行的嗎?
麻煩各位大大了
謝謝耐心看完
附上verilog code:
module test(clk,reset,out);
input clk,reset;
output out;
reg A;
reg B;
reg D;
wire D_clk;
assign out=~D;
assign D_clk=clk^B;
always @(posedge clk or negedge reset)
begin
if(!reset)
begin
A<=1'b0;
B<=1'b0;
end
else
begin
A<=~D;
B<=A;
end
end
always@(posedge D_clk or negedge reset)
begin
if(!reset)
begin
D<=1'b0;
end
else
begin
D<=B;
end
end
endmodule
test檔僅input clk and reset
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.248.8.242
※ 文章網址: https://www.ptt.cc/bbs/Electronics/M.1432232422.A.199.html
※ 編輯: daughtry (111.248.8.242), 05/22/2015 02:54:50
※ 編輯: daughtry (111.248.8.242), 05/22/2015 03:11:15
→
05/22 15:31, , 1F
05/22 15:31, 1F
推
05/22 23:04, , 2F
05/22 23:04, 2F
→
05/26 22:04, , 3F
05/26 22:04, 3F