module clk16x
(
clk16x,
CLK_3M125,
CLK_25M,
FPGA_nRESET_reg1
);
output clk16x ;
input CLK_3M125 ;
input CLK_25M ;
input FPGA_nRESET_reg1 ;
reg [15:0] clk16x_cnt ;
reg [7:0] cnt;
reg clk16x ;
always @(posedge CLK_3M125)
begin
if(!FPGA_nRESET_reg1)
begin
clk16x_cnt <= 16'h0000;
cnt <= 8'h00;
end
else
begin
if(cnt == 8'h7D)
begin
cnt <= 8'h00 ;
if(clk16x_cnt == 16'h63)
begin
clk16x_cnt <= 16'h0000;
end
else
clk16x_cnt <= clk16x_cnt + 1;
end
else
cnt <= cnt + 1 ;
end
end
always@(posedge CLK_25M)
begin
if(!FPGA_nRESET_reg1)
begin
clk16x <= 16'h0000 ;
end
else if(!clk16x_cnt)
begin
clk16x <= ~clk16x ;
end
end
代码有什么错误嘛?
仿真不出想要的结果呢?clk16x_cnt和cnt 两个量始终没数,新手求解答,谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
同样的问题,再问一下,clk16x 8MS
always@(posedge clk16x or posedge FPGA_nRESET_reg1) begin
if(!FPGA_nRESET_reg1)
begin
clkdiv <= 4'b0000 ;
end
else if(clk1x_enable)
begin
clkdiv <= clkdiv + 1 ;
end
end
assign clk1x = clkdiv[3] ;
不论是clk1x驱动还是clk16x驱动的 初值都没有附上,复位给的时间也足够长了,
不知道还有什么要注意的,大虾给点指点,谢谢!
一周热门 更多>