→ samm3320: 你沒有宣告q為reg,預設是wire所以就接一起了 11/04 21:35
→ samm3320: dual edge trigger物理上需要兩個dff跟一個mux實現 11/04 21:47
→ samm3320: 下面的code寫法會比較合理 11/04 21:48
module top_module (
input clk,
input d,
output reg q
);
wire invert_clk;
assign invert_clk=~clk;
always@(posedge clk or posedge invert_clk) begin
q<=d;
end
endmodule
我把q用 reg 宣告後 仍然是 https://imgur.com/2ErzdfZ
似乎只有下面的code可呈現 dual edge trigger
※ 編輯: gecer (122.121.18.119 臺灣), 11/05/2019 08:35:17
→ samm3320: 主要是你的code對電路來說不知道怎麼實現,要看tool怎 11/05 09:22
→ samm3320: 麼理解你的code,目前看來他不知道怎麼辦就直接接起來 11/05 09:22
推 tkhan: 有雙向的flip-flop嗎?數位不及格 11/05 13:29
一樣的code 我用 icarus verilog 模擬 便出現 flip flop 的功能
https://imgur.com/a/E0Fcusc
跟samm3320 大大說得符合 端看tool理解code的方式
※ 編輯: gecer (122.121.18.119 臺灣), 11/05/2019 19:43:31
※ 編輯: gecer (122.121.18.119 臺灣), 11/05/2019 19:44:15
推 tkhan: 硬體描述語言,你真的懂硬體嗎?.. 11/05 19:57
→ samm3320: 不過你的寫法不符合硬體的原理,建議你還是建立良好的 11/05 21:38
→ samm3320: 習慣讓code跟硬體連結,比較不會出事。 11/05 21:38