【FPGA】时钟信号几种设计方法

【FPGA】时钟信号几种设计方法,第1张

介绍三种时钟的产生方式和介绍,分别是内部逻辑生成、使能时钟、门控时钟。

一、时钟FPGA自带硬核产生时钟

就我目前的小白水平来看,个人觉得使用内核生成的时钟是最简便、最稳定的时钟资源,具体的产生方式参考【FPGA】FPGA的输入、输出、扇出的那些琐事,通过DLL这些内核产生的时钟信号不但可以稳定准确进行桐早倍频、分频,而且可准确的实现相移控制、占空比控制等时钟信号内部 *** 作,并且可选择输出buff方式。强烈建议这种时钟生成方式!

二、内部逻辑生成时钟

对于所有在FPGA内生成时钟方式来说,均需要参考时钟或者同步时局知雀钟来生成,而且内部逻辑生成时钟信号,必须包含时序逻辑,也可包含组合逻辑,但是一旦有组合逻辑就有可能产生毛刺,会导致整个系统变得不稳定,另外时序逻辑产生的时钟信号也会产生固定的时延,导致后续的时许约束问题。这些问题在设计时一定要慎重考虑,另外就是驱动问题,一般情况下TTL驱动能力较弱在10个扇出信号以内,所以如果扇出较大,建议逻辑复制或者过一猛纯次BUFF。对于组合逻辑产生毛刺的问题,建议使用触发器利用原时钟进行同步一拍。

所以,一般情况下不建议使用内部逻辑产生的时钟,如果必须使用,建议使用上述 *** 作。

三、在分频时钟信号中使用使能时钟

一般设计时钟信号我们使用参考时钟或者同步时钟,使能时钟在一方面很好的解决了组合逻辑毛刺问题、时序逻辑延时问题。

解决方案1:

用Quartus的testbench芯片都有固定的几个脚接时钟输入空蠢的,只能用作软件调试。

产生激励信号测试其他的模块。一般块开发板上晶振输入行郑接脚是固定的,属于测

试程序,Location的下拉菜单里会看到有Dedicated Clock,在Pin

Assignment的时候,说明引脚可以接时钟输入.

解决方案2:

module sdata

reg data,strobe

initial

begin

data = 0

strobe = 0

#10 data = 1

#10 data = 0

#10 data = 1

strobe = 1

#12 strobe = 0

end

endmodule

解决方案3:

把测试的模块例化在testbench模块里,

module test

reg data,strobe

sdata DUT(data,strobe)

initial

begin

data = 0

strobe = 0

#10 data = 1

#10 data = 0

#10 data = 1

strobe = 1

#12 strobe = 0

end

endmodule

解决方案4:

FPGA一般时钟信号都是由外接的有缘晶振提供的,通过FPGA的某个IO口输入

解决方案5:

FPGA的时钟来自开档亏颂发板的晶振,仿真的时候都是方波,晶振输出的是正弦波,可以当方波用,自动就当方波处理了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12484481.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存