作者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