verilog fpga分频

来源:百度知道 编辑:UC知道 时间:2024/06/01 04:25:14
请教
我用Verilog设计分频时出现点问题,当分频较低时,比如12.5M(50M的4分频),出来的波形不是方波,很像正弦波的,根本驱动不了8051IP核!当100多分频时(输出500K时)却又是方波!是什么问题!
module odd_division(clk,rst,clk_odd);
input clk,rst;
output clk_odd;
reg clk_odd;
reg[w-1:0] count;
parameter N = 100,w =6;//N分频,w是n的寄存器位宽
always @ (posedge clk)
if(! rst)
begin
count <= 1'b0;
clk_odd <= 1'b0;
end
else
if ( count < N/2-1)
count <= count + 1'b1;
else
begin
count <= 1'b0;
clk_odd <= ~clk_odd;
end
endmodule

你的RTL代码没有问题,是不是从晶振里出来的信号就不是很干净,导致在100分频的时候,采样不是很快时候,还可以,但在4分频的时候,采样太快,在加上噪声什么的,出来的信号有问题?
(但50M就算4分频,也不是很快,也应该很干净的,你用示波器看看你的晶振出来的信号,是什么样子的,或者用DCM或者PLL来做,那样效果是不是好点,只是一点建议,谢谢)

你四分频是怎么做的,100分频在逻辑上没有问题