我正在尝试从 100 MHz 信号创建一个仅持续 10 个时钟周期的时钟。时钟将从脉冲信号中启用。
- 每次脉冲信号进入 1 个时钟 2 时,跟随 100 MHz 时钟 1 10 个周期
- 我正在使用 VHDL
我正在尝试从 100 MHz 信号创建一个仅持续 10 个时钟周期的时钟。时钟将从脉冲信号中启用。
- 每次脉冲信号进入 1 个时钟 2 时,跟随 100 MHz 时钟 1 10 个周期
你的意思是一个100 MHz的时钟作为输入?
假设是这样,小型状态机和计数器将是解决此问题的好方法。状态机可能有 2 个状态:idle和count。如果脉冲信号为高电平,下一个状态逻辑会将状态从空闲变为计数。在计数状态下,计数器将递增,当计数器达到 10 时,状态将移回idle。当处于计数状态时,输出逻辑会将时钟信号转发到输出。空闲时,输出将为“0”。
有关制作状态机的更多信息:如何在 VHDL 中实现状态机
有关制作计数器的更多信息:VHDL 中的计数器
clock_input 是作为输入的 100 MHz 时钟,clock_generated 是输出。
输出逻辑将涉及多路复用器:
clock_generated <= clock_input when state=count else '0';