我是VHDL编码的初学者。我正在尝试使用VHDL实现倍频器。我已经实现了分频器,但倍频并不那么容易。请提出实施该建议的想法。
答案 0 :(得分:5)
要在FPGA中实现,您必须使用专用的FPGA资源,如Phase-Locked Loop (PLL)(请参阅Altera和Xilinx)或数字时钟管理器(DCM)(请参阅Xilinx )乘以一个频率。
这些资源可以根据输入频率创建输出频率,如:
f_out = (N / M) * f_in
PLL和DCM资源是特定于设备的,并且通常是非常高级的资源,允许对相位,延迟等进行额外控制,因此请查看您正在使用的设备中的资源。
答案 1 :(得分:3)
可以使用触发器划分时钟频率。但是,时钟倍增不能由纯数字电路执行。如Morten所述,PLL单元(它是混合电路,因此不直接用VHDL实现)用于此。 PLL是FPGA中的内置单元,因此您所要做的就是实例化它们。
有关如何操作的详细示例,请参见V. Pedroni的“使用VHDL进行电路设计和仿真”的附录G.在该书中还包括几个完整的示例,用于在数据序列化器中进行时钟倍增。