微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > FPGA分频,仿真与实际结果不同

FPGA分频,仿真与实际结果不同

时间:10-02 整理:3721RD 点击:
系统时钟为40MHZ,40分频为1MHZ,仿真结果正确,但是实际结果占空比为6.25%。
换成50Mhz的时钟,结果就对了,换回40M还是不对。
怀疑时钟坏了,但是用示波器测试时钟,又是正确的。
百思不得其解啊,忘各位大神指教,谢谢!
附代码:
reg[4:0] sck_cnt;  //系统时钟计数器
reg[4:0] sck_cnt_n;  //sck_cnt的下一个状态
parameter FINISHED_P    =5'd9
parameter FINISHED_X    =5'd19;
always@(posedge SYSCLK or negedge RST_B)
begin
if(!RST_B)               
sck_cnt <= 5'h0;                       
else                                
sck_cnt <= sck_cnt_n;
end
always@(posedge SYSCLK)
begin
if(sck_cnt == FINISHED_X)                               
sck_cnt_n <= 5'h0;       
else                                 
sck_cnt_n <= sck_cnt + 5'h1;               
end

always@(posedge SYSCLK or negedge RST_B)
begin
if(!RST_B)
begin               
IO3 <= 1'h0;
end       
else                                
IO3 <= IO3_N;
end

always@(*)
begin
if(!RST_B)
IO3_N <= 1'h0;       
else if(sck_cnt == FINISHED_P)                               
IO3_N <= 1'h0;       
else if(sck_cnt == FINISHED_X)                                 
IO3_N <= 1'h1;       
end

来帮顶

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top