【问题标题】:Ring Oscillator changing frequency?环形振荡器改变频率?
【发布时间】:2018-08-22 15:39:50
【问题描述】:

我有一个大约 1000 个门的基于 nand 的环形振荡器。每个 nand 的一个输入连接到 1,除了一个连接到使能引脚的门(当使能变高时,启用环形振荡器)。

我将设计加载到 fpga 上,然后在示波器上得到输出。我得到的频率约为 40 MHz。但是,如果我将启用拉低并返回高,则频率会发生巨大变化。每个启用切换都可以从 40 MHz 到 9 MHz 到 30 MHz 以及介于两者之间的任何位置。我什至尝试一直保持启用高电平,然后打开和关闭电路板,然后频率也会改变。

关于发生了什么/如何解决它的任何想法?是不是我需要在环上增加更多的门来增加延迟?

谢谢!

【问题讨论】:

  • 您是如何将启用拉低的?持续多长时间?
  • 我把它绑在一个按钮上。未按下按钮时,拉高,按下时接地。我尝试了多个时间段,即手动推送它。但如上所述,即使 enable 保持高电平并且电路板关闭再打开,问题仍然存在。
  • 环形振荡器不仅仅是一个振荡器。这是一条延迟线,传播任何馈送到它的东西。您至少应该消除按钮的抖动。否则,环形振荡器将从按钮的触点旋转一些随机的脉冲序列,以某种不可预测的方式影响观察到的频率。
  • @Vlad 这很可能是问题的原因。我建议你回答这个问题。
  • @Vlad 确实,如果 enable 始终保持高电平并且电路板被关闭和打开,则问题不会每次都发生。所以可能是启用是问题所在。我会去抖动它并更新。

标签: verilog fpga frequency


【解决方案1】:

环形振荡器不仅仅是一个振荡器。这是一条延迟线,传播任何馈送到它的东西。

通常它会是您的振荡信号的前端,但现在它可能是来自按钮弹跳触点的噪声。

您至少应该消除按钮的抖动。否则,环形振荡器将从按钮的触点旋转一些随机的脉冲序列,以某种不可预测的方式影响观察到的频率。

【讨论】:

    猜你喜欢
    • 2017-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多