【发布时间】:2017-08-22 10:10:23
【问题描述】:
我正在尝试使用多个 LPM 计数器在 Quartus 中构建一个 12 小时时钟,并要求它同步运行,所有 lpm 计数器都由单个时钟源驱动。
我将 BDF 与两个计数器组合在一起来测试秒数,一个 mod-10 计数器处理“个”数字,另一个 mod-6 计数器处理“十”数字。来自 mod-10 的进位驱动 mod-6 计数器上的时钟使能引脚。一切都在模拟中按预期工作。
我试图复制这个模块来作为分钟计数器工作,除了分钟'ones' mod-10 计数器得到非常奇怪的结果。每当秒“十”计数器达到 5 时,分钟“一”开始对每个时钟脉冲进行计数,直到前一个计数器再次归零。
这是我的 BDF 的图片,以及波形模拟:
我不确定是什么导致了这个问题,因为据我了解,第二个十位的 cout 应该只在它翻转到 0 时才被断言,并且只有足够长的时间才能使分钟的增量一次。
出于好奇,我交换了两个中间计数器,看看问题是否与 mod6 cout 驱动 mod10 的方式有关,但得到相同的结果,(除了 mod 10 命中 9,然后触发mod6 对每个 clk 脉冲进行计数,直到 mod10 翻转到 0)
任何帮助将不胜感激,谢谢。
【问题讨论】:
标签: clock synchronous quartus