请问create_generated_clock该怎么使用呢?

描述

FPGA设计中,生成时钟分为两大类:自动生成时钟和用户生成时钟。前者是指由CMB(Clock Modifying Blocks,例如MMCM、PLL、BUFR 、BUFGCE_DIV、PHASER_x等)生成的时钟;后者是指用户通过组合/时序逻辑生成的时钟。

在某些场景下,对于生成时钟需要借助create_generated_clock创建。这里我们讨论一下create_generated_clock的典型应用场景。首先给出create_generated_clock的基本参数,如下图所示。生成时钟都有一个与之伴随的主时钟(MasterClock)。这个主时钟可以是全局时钟管脚进来的时钟(也就是设计的PrimaryClock),也可以是其他生成时钟。可通过选项-master_clock指定。

FPGA设计

场景1:重命名自动生成时钟

对于自动生成时钟(又称自动衍生时钟),只要创建了主时钟,工具会自动创建生成时钟。因此,如果设计中只存在“全局时钟管脚->MMCM/PLL->BUFG”这种情形,而且MMCM/PLL是通过Clocking Wizard IP生成的,那么用户就不用通过create_clock创建时钟,因为IP会自动创建。例如,对于下图所示设计,IP会自带约束。在这种情况下,打开综合后的设计,执行report_clocks命令,可以看到自动生成的时钟。

FPGA设计FPGA设计FPGA设计

如上图所示,自动生成时钟的名字之所以如此,是因为我们在调用IP时对输出端口进行了重命名,如下图所示。

FPGA设计

另一方面,如果我们没有对端口重命名,而希望生成时钟名字是期望的名字,以便于阅读分析以及后续约束的引用,这时就可以通过create_generated_clock命令进行重命名。例如:要将下图中的MMCM输出端口CLKOUT0输出时钟命名为clk200,这时需要通过选项-name给时钟命名,同时指定时钟的端口,这里通过get_pins获取。

FPGA设计FPGA设计






审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分