微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 初学者写的分频程序,可是结果却是这样的。

初学者写的分频程序,可是结果却是这样的。

时间:10-02 整理:3721RD 点击:
我是一个初学者,在学习并自己写分频程序的时候,仿真却出现这种结果,我不清楚是怎么回事,请大家指点:
这是我的程序:
module fenpin(outClk,inClk);
input inClk;
output outClk;
reg outClk;
always @(posedge inClk)
begin
  outClk<=~outClk;
end
endmodule
下面是仿真截图:



inClk是输入时钟,outClk的分频到是没错,但是为什么和inClk的时间对不上呢?比inClk的第一个上升沿延迟了6.721ns,但是第outClk的第一个上升沿到第2个上升沿的时间却是正好的20ns,我不太清楚我是不是哪没有设置好还是?我选用的CPLD是240T100C5。在做其他任何程序仿真都出现这个问题,而且我下载到CPLD中,分出来的频率也不稳定。请教各位前辈!

时钟没处理好

最好有个复位信号吧

好像也不行。

产生这个想象的原因主要是由于器件本身存在延时造成的,所以是对的,你本身编程没有问题。

可是这样看着很不舒服。我记得我在写逐次分频的时候,也不知道动了哪,出现的波形非常整齐,8个输出一个时钟,每一个输出的上升沿都是上一个输出的下降沿,而且第一个输出也是和时钟想对应的。我能不能弄成那样的呢?

看不到,被广告挡了

In quaters, it use device delay,check the menu, whether can do with zero delay.

你做的应该是对的吧

设计上没有什么大的问题,最好加上复位信号!

原理上设计肯定是没问题的,当然有rst最好拉,你试试看

仿真和实际还是有很大差别的.

你是不是选择了时序仿真?功能仿真就如LZ说的对齐了

你做的应该是时序仿真吧?器件的延时quartus也算进去的

应该是时序仿真

设计与仿真完全正确,延时是芯片本身造成的,不可避免......,

20ns <==>  50M
PAD电容已经不可以忽视,在内部可能没什么问题。
分几级之后再输出到PAD  应该没问题

the design is correct, there seems to be a delay added by the tool

感谢各位前辈的指点,我终于弄明白了,我用的是时序仿真,后来选择了功能仿真之后,就完全对齐了!再次感谢各位!

做的是哪一级的仿真 这个先搞明白了

应该有个复位信号吧

如果是作为时钟使用 没有复位也能用

没有问题. 1111

在写这些程序的时候要习惯使用复位信号!

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

网站地图

Top