购买商品

ALTERA AX301
ALTERA AX301
¥199.00
ZYNQ AX7010/20
ZYNQ AX7010/20
¥899.00
发新帖

[分享] 【ALTERA AX301 FPGA开发板试用体验】+ derive_pll_clocks语法

[复制链接]
发表于 2017-12-19 09:15:52
| 434 查看 | 0 回复
本帖最后由 Eagleson 于 2017-12-19 09:16 编辑

derive_pll_clocks -create_base_clocks

Quartus II Handbook, Volume3  6-35
锁相环时钟  Derive PLL Clocks
PLLs(锁相环)在Altera器件中被用于时钟管理和综合。你可以定制基于你设计需要的PLL输出时钟约束。因为所有的时钟节点应该有一个共同的时钟基准,故所有的PLL输出应该有一个关联时钟。
你可以使用create_generated_clock命令手动添加一个作为PLL输出的基准时钟,或者你也可以使用derive_pll_clocks命令自动搜寻时序网表并通过设置指定PLL输出来产生时钟。
使用derive_pll_clocks命令为PLL输出自动产生时钟的实例如下:
derive_pll_clocks
[-use_tan_name]
Table 69. derive_pll_clocksCommand Options
  
选项
  
描述
-use_tan_name
缺省下,时钟名为输出时钟名字。这个选项使用的网络名字类似于在Quartus II Classic Timing Analyzer中使用的。
derive_pll_clocks命令调用create_generated_clock命令以产生PLL输出的生成时钟。
create_generated_clock命令的sourcePLL的输入时钟。derive_pll_clocks命令的前后已固定,你必须手动为PLL生成一个输入时钟节点。如果PLL的输入时钟节点未被定义好,报告中不会出现PLL输出的时钟。取而代之的,当时序网表更新后,Quartus II TimeQuest Timing Analyzer发出一个类似于Figure 610的警告信息。
Example 610. Warning Message
Warning: The master clock for this clockassignment could not be derived.
Clock: <name of PLL output clock pinname> was not created.
你可以把derive_pll_clocks命令添加到你的SDC文件中,以使得derive_pll_clocks命令可以自动检测PLL的任何变化。derive_pll_clocks在你的SDC文件中,每次读取该文件,PLL输出时钟脚的create_generated_clock命令就将生成。如果在derive_pll_clock命令后使用write_sdc命令,新的SDC文件包含了独立的PLL输出时钟管脚的create_generated_clock命令,并且不是derive_pll_clocks命令。任何PLL属性的变化不会自动的反应到新的SDC文件中。你必须通过写入derive_pll_clocks命令手动更新新的SDC文件中的create_generated_clock命令(反映PLL的变化)。
通过添加适当的multicycle约束计算不确定因素,derive_pll_clocks将约束设计中的任何LVDS传送和LVDS接收。
例如,Figure 621展示了一个寄存器到寄存器路径的单一PLL设计。
uart_sdc8.jpg
使用derive_pll_clocks命令自动约束PLL。当Figure 621的设计中使用到这个命令,将产生Example 611的信息。
Example 611.derive_pll_clocks Generated Messages
Info:
Info: Deriving PLL Clocks:
Info: create_generated_clock -sourcepll_inst|altpll_component|pll|inclk[0] -divide_by 2 -name
pll_inst|altpll_component|pll|CLK[0]pll_inst|altpll_component|pll|clk[0]
Info:
名为pll_inst|altpll_component|pll|inclk[0]的节点用于作为PLL输入时钟脚的源参考选项。此外,PLL输出时钟的名字是PLL输出时钟节点pll_inst|altpll_component|pll|clk[0]
如果PLL处于时钟替换模式,PLL输出时钟将产生多时钟;一个是主要输入时钟(例如inclk[0]),另一个是次要输入时钟(例如inclk[1])。假若那样的话,你可以使用set_cock_groups命令加上-exclusive选项以削减主要和次要输出时钟。在你可以为这个设计产生任何报告之前,你必须为PLL输入时钟管脚产生一个基本时钟,使用类似下面的命令:
create_clock -period 5 [get_portspll_inclk]
你不用在PLL的输入时钟管脚pll_inst|altpll_component|pll|inclk[0]上产生基本时钟。PLL输入时钟管脚产生所有的扇出时钟管脚,包括PLL输入时钟管脚。

评分

参与人数 3 +3 收起 理由
LiuYang + 1
汉云 + 1
Sourcelink + 1

查看全部评分

我要点赞 0

举报

您需要登录后才可以回帖 登录 | 立即注册