在 Cyclone® III 设备的 Quartus® II 软件中使用 altclkcntrl 宏功能时,需要遵循以下规则,以正确地将不同的时钟资源连接到时钟控制模块:
- inclk0x 和 inclk1x 允许使用专用时钟输入引脚
- inclk2x 和 inclk3x 允许使用 PLL 输出时钟
- 编号较低的时钟资源连接到时钟控制模块上的编号较低的 inclkx 端口(请参阅下面的示例)
- 编号更大的时钟资源连接到时钟控制模块上编号更高的 inclkx 端口(请参阅下面的示例)
使用表 6-2 Cyclone III 设备中的时钟网络和 PLL (PDF) 以了解每个全局时钟网络的法律输入资源。
示例 1:
全局时钟网络 G0 可以接受专用时钟引脚 CLK0 和 CLK3,以及 PLL1 输出时钟 C0 和 C2。 需要以下端口映射(如果您未使用与时钟控制模块上的输入端口相关联的输入资源,则可以不再连接 inclkx 端口):
- CLK0 - inclk0x(低编号的专用时钟输入到接受时钟引脚的低订单 Inclk 端口)
- CLK3 - inclk1x(面向接受时钟引脚的高订单 Inclk 端口的高编号专用时钟输入)
- C0 - inclk2x(低编号 PLL 输出时钟至支持 PLL 输出的低订单 inclk 端口)
- C2 - inclk3x(高编号 PLL 输出时钟至支持 PLL 输出的高订单 Inclk 端口)
示例 2:
全局时钟网络 G2 可以接受专用时钟引脚 CLK0 和 CLK1,以及 PLL1 输出时钟 C2 和 C4。 需要以下端口映射:
- CLK0 - inclk0x(低编号的专用时钟输入到接受时钟引脚的低订单 Inclk 端口)
- CLK1 - inclk1x(面向接受时钟引脚的高订单 Inclk 端口的高编号专用时钟输入)
- C2 - inclk2x(低编号 PLL 输出时钟至支持 PLL 输出的低订单 inclk 端口)
- C4 - inclk3x(高编号 PLL 输出时钟至支持 PLL 输出的高订单 Inclk 端口)
Notice C2 连接到全局 0 网络时钟控制块上的 inclk3x,但是连接到全局 2 网络的时钟控制块上的 inclk2x。 这是因为在全局 0 网络 C2 上,是连接到此时钟资源的编号更大的 PLL 输出时钟,而 C2 是连接到全局 2 时钟资源的编号较低的 PLL 输出时钟。
您可以使用 Quartus II 软件中的 分配编辑器 将时钟控制模块分配给特定时钟资源。 代表全局时钟网络的价值字段是"CLKCTRL_Gx",其中 x 是全局时钟网络号。 对于Cyclone III 设备,它可以是 0 到 19 之间的整数值(参见表 6-2,以了解每个设备密度的可用时钟网络)。