如果系统时钟的周期为T,然后我们如何能够延缓由1/4 T中的时钟而无需使用任何模拟装置的一小部分延迟的时钟?可综合的VHDL代码是首选。由周期
Q
由周期
0
A
回答
2
您不能可靠地使用数字电子时钟周期的任何部分延误。 (无论您在VHDL或Verilog或PALASM或云裳代码,或任何无关。)
您可以通过延迟时钟大致如果您使用时钟的相对边缘,但即使这不是1/2T可靠。这样做时,假设时钟的标记 - 空间比接近50:50,无论电源电压,芯片温度(实际芯片的温度)还是工艺边界(FPGA的速度等级) )。
可以通过小于1/2T延迟的唯一方法是利用任何逻辑门具有穿过它的延迟的事实。然而,这是一种非常不可靠的方法,因为这种延迟会随着电源电压,芯片温度和工艺角落而变化很大。例如,容易减少3倍。因此,如果你想延迟一些可靠的工作,需要一个周期为1/4T的时钟。
1
如何,如果可以做到这一点取决于你的目标技术,再加上地方,为什么要延迟时钟。
在一个FPGA,时钟和数据的输入和输出通常需要被延迟。特别是对于Xilinx FPGA,存在称为IDELAY和ODELAY的强化宏,允许您执行此操作。 documentation可以提供更多的细节。使用PLL/MMCM/DCM(另一个硬化宏,用于从一个输入时钟合成各种时钟),也可以在您的逻辑内完成相位偏移,以90度偏移重新生成相位锁定的时钟。再次,documentation可以给你更多的见解。
我有联系的文件是专门针对赛灵思7系列FPGA,但也有多数厂商和FPGA系列类似的文件。如果你想用ASIC来做这件事,那么你很可能会避免使用任何模拟器件,因为我所提到的强化宏都依赖于内部的模拟器件,而不是你必须设计的器件。
相关问题
- 1. 使用加入由周期
- 2. Angular2路由器生命周期挂钩
- 3. 集团由周日期和月份
- 4. 由周
- 5. 数由每周
- 6. 周期检测含有多个周期
- 7. 的iCalendar2周间隔/周期
- 8. 将日期转换为日期名称周一,周二,周三
- 9. 组由周在MySQL
- 10. 与周期
- 11. 周期IE7层
- 12. 与JSON周期
- 13. Android HTTPRequest周期
- 14. 活动周期
- 15. 周期出错
- 16. 可变周期
- 17. 排列周期
- 18. 周期与LXML
- 19. 转换星期日期分量数周内日期(的......周)
- 20. 本周星期一日期
- 21. 不同的日期周期
- 22. Rails 4.0.0遇到了现有路由的周期性路由错误异常(404)
- 23. 使用儿童路由器时的Durandal路由器/生命周期事件
- 24. 如何找到什么顶点由周期无向图如果只有一个图表周期?
- 25. 由1个周期延长大熊猫datetimeindex
- 26. React-Router对我的生命周期路由器感到困惑
- 27. MySQL的集团由周民瓦特/多个日期列
- 28. 由ChannelFactory生成的WCF对象生命周期
- 29. 周期由日食中的项目组成
- 30. 流星和铁路由器:订阅生命周期
我需要用于我的小8位CPU的时钟应该有三个输出:1-时钟(周期为T的原始时钟)。 2使能时钟(在3/4 T时为'1',在1/4 T时为'0')。 3设定时钟(仅在期间的中间为1/4T)。如果延迟时间为1/4T,则可以通过用原始时钟对延迟时钟进行编程和定时,使上述启用和设置时钟不在原始时钟内。但是,如果不可能,我现在怎么做?感觉失望...... – argasm
然后,为什么不给CPU提供一个'clk',时钟周期为'4 * T',并产生你的使能信号,FFs频率为1/T频率? – rascob