作者felghana (adol)
看板Electronics
標題[問題] verilog除頻電路怎麼做
時間Mon Aug 10 15:31:32 2009
我須要設計一個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
1F:→ horsehead:第二個always 改用 DFF的模式去做才不會有毛刺現象 08/10 17:19
2F:→ horsehead:你最後是組合邏輯輸出 有毛刺現象是很正常的 08/10 17:20
3F:→ felghana:恩恩 感謝horse大指教 第一次寫verilog很多地方都不懂= = 08/10 20:40
4F:推 bighead319:要做clk的東西最好要reg輸出,此外,你的第2個always 08/11 01:04
5F:→ bighead319:裡面用到/2,印象中"/"好像沒辦法合成的樣子。 08/11 01:04
6F:→ bighead319:最後,為啥你的duty一定要50%呢?你有要用到negedge? 08/11 01:06
7F:→ felghana:我是寫到FPGA目前測是可以動 然後這是要去驅動半橋式換流 08/11 22:27
8F:→ felghana:器的開關 所以duty要50% 08/11 22:27