如何使用VHDL实现时钟倍频器

时间:2013-12-31 08:55:45

标签: vhdl fpga

我是VHDL编码的初学者。我正在尝试使用VHDL实现倍频器。我已经实现了分频器,但倍频并不那么容易。请提出实施该建议的想法。

2 个答案:

答案 0 :(得分:5)

要在FPGA中实现,您必须使用专用的FPGA资源,如Phase-Locked Loop (PLL)(请参阅AlteraXilinx)或数字时钟管理器(DCM)(请参阅Xilinx )乘以一个频率。

这些资源可以根据输入频率创建输出频率,如:

f_out = (N / M) * f_in

PLL和DCM资源是特定于设备的,并且通常是非常高级的资源,允许对相位,延迟等进行额外控制,因此请查看您正在使用的设备中的资源。

答案 1 :(得分:3)

可以使用触发器划分时钟频率。但是,时钟倍增不能由纯数字电路执行。如Morten所述,PLL单元(它是混合电路,因此不直接用VHDL实现)用于此。 PLL是FPGA中的内置单元,因此您所要做的就是实例化它们。

有关如何操作的详细示例,请参见V. Pedroni的“使用VHDL进行电路设计和仿真”的附录G.在该书中还包括几个完整的示例,用于在数据序列化器中进行时钟倍增。