将FPGA上的12 MHz系统时钟信号转换为1 MHz信号输出,占空比为50%。
我知道我需要将2 @ 50/50占空比除以得到6 MHz,然后再除以2得到……
这是正确的方法吗?
首先,逻辑上的时钟操作通常很难适当地进行路由,尤其是在多个阶段。其次,特别难以将时钟除以3并获得50%的占空比而没有负边沿或DDR触发器,这两种情况在FPGA架构中通常都不可用。
正确的方法是使用FPGA的时钟资源。大多数现代FPGA都有一个或多个板载DLL或PLL,可用于管理时钟信号。
在Xilinx器件上,这些资源称为DCM,PLL和/或MMCM,可以使用ClockGen IP内核进行实例化。
在Altera / Intel器件上,可以通过PLL和其他宏功能配置这些资源。
在莱迪思器件上,这些资源称为sysCLOCK PLL,可以使用IPexpress进行配置。