Generated Clock简介及实现方法在FPGA
Generated Clock,也称为衍生时钟,是一种经过时钟分频和相位偏移处理的时钟信号,通常用于FPGA芯片中的时序设计。与普通时钟不同的是,Generated Clock可以快速生成,可调节,且具有单一的时钟域,因此在FPGA设计中具有广泛的应用。
如何生成Generated Clock呢?我们以Vivado Design Suite为例,通过以下步骤进行设置:
- 在IP Integrator中添加一个Clocking Wizard组件。
- 连接所需的时钟输入,外部时钟源或已有的Generated Clock。
- 设置需要的时钟频率和相位偏移等参数,生成新的Generated Clock输出。
- 将Generated Clock输出连接到需要使用的模块中。
这里给出一个简单的示例代码,生成100MHz的Generated Clock:
// 输入外部时钟信号
input clk_in;
// 定义Clocking Wizard组件
clocking cb @(posedge clk_in);
// Generated Clock输出端口
output generated_clock;
endclocking
// 生成100MHz的Generated Clock
wire clk100mhz;
cb #(
.CLKOUT0_DIVIDE(5), // 分频比为5
.CLKOUT0_PHASE(0.0), // 相位偏移为0