[問題] verilog除頻電路怎麼做

看板Electronics作者 (adol)時間15年前 (2009/08/10 15:31), 編輯推噓1(107)
留言8則, 3人參與, 最新討論串1/1
我須要設計一個duty50%的除頻電路 並且除頻參數(mod_n)需由外面電路來控制 下面是我目前寫的方法 可是glitch很嚴重 而我又想不出什麼好方法 因此想問版上的大大有沒有人會設計的 謝謝 module freqmod(clk,reset,mod_n,clk_out); input clk,reset; input [12:0] mod_n; output clk_out; wire [12:0] mod_n; reg [12:0] count; reg clk_out; always@(posedge clk) begin if(reset) count<=13'd0; else if(count<mod_n) count<=count+13'd1; else count<=13'd1; end always@(count or mod_n) begin if(count<=mod_n/2) clk_out=1; else clk_out=0; end endmodule -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 58.114.128.72

08/10 17:19, , 1F
第二個always 改用 DFF的模式去做才不會有毛刺現象
08/10 17:19, 1F

08/10 17:20, , 2F
你最後是組合邏輯輸出 有毛刺現象是很正常的
08/10 17:20, 2F

08/10 20:40, , 3F
恩恩 感謝horse大指教 第一次寫verilog很多地方都不懂= =
08/10 20:40, 3F

08/11 01:04, , 4F
要做clk的東西最好要reg輸出,此外,你的第2個always
08/11 01:04, 4F

08/11 01:04, , 5F
裡面用到/2,印象中"/"好像沒辦法合成的樣子。
08/11 01:04, 5F

08/11 01:06, , 6F
最後,為啥你的duty一定要50%呢?你有要用到negedge?
08/11 01:06, 6F

08/11 22:27, , 7F
我是寫到FPGA目前測是可以動 然後這是要去驅動半橋式換流
08/11 22:27, 7F

08/11 22:27, , 8F
器的開關 所以duty要50%
08/11 22:27, 8F
文章代碼(AID): #1AVypLh7 (Electronics)