0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

请问create_generated_clock该怎么使用呢?

FPGA技术驿站 来源:FPGA技术驿站 2024-01-25 09:06 次阅读

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指定。

52ef0aec-bb16-11ee-8b88-92fbcf53809c.png

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

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

52f6be7c-bb16-11ee-8b88-92fbcf53809c.png5302f552-bb16-11ee-8b88-92fbcf53809c.png530fa784-bb16-11ee-8b88-92fbcf53809c.png

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

531b43a0-bb16-11ee-8b88-92fbcf53809c.png

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

53385da0-bb16-11ee-8b88-92fbcf53809c.png534d4102-bb16-11ee-8b88-92fbcf53809c.png






审核编辑:刘清

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

    关注

    9

    文章

    425

    浏览量

    26273
  • PLL电路
    +关注

    关注

    0

    文章

    91

    浏览量

    6281

原文标题:create_generated_clock该怎么使用?

文章出处:【微信号:Lauren_FPGA,微信公众号:FPGA技术驿站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA中时钟的用法

    FPGA中的BUFGCE_DIV/BUFG_GT以及Versal中的MBUFG/BUFG_GT等。对于这类时钟,Vivado会自动创建时钟,并不需要用户手工通过create_generated_clock创建。
    的头像 发表于 01-11 09:50 596次阅读
    FPGA中时钟的用法

    对边沿对齐源同步输入端口的约束

    -name input_clock -period 10 [get_ports clk_in] #PLL时钟,为保证建立时间和保持时间,相移90度create_generated_clock -name
    发表于 12-25 14:28

    时序约束之时钟约束

    、变占空比 create_clock -name clkin -period 10[get_ports clkin]create_generated_clock -name clkdiv2
    发表于 09-21 11:51

    CLOCK作为外部输出控制Pin的整体延迟?

    , using create_generated_clock, but more importantly I can control the delay from the MMCM
    发表于 10-30 18:04

    create_generate_clock无法找到正确的引脚

    create_generated_clock -name dut_clk -source [get_ports InClk] -divide_by 6 [get_pins u_clk_div / CLK_OUT]我已经通过
    发表于 11-05 11:32

    怎么使用生成的时钟

    {CLK100MHZ}]; create_generated_clock -name clkdiv2 -source [get_ports CLK100MHZ] -divide_by 2 [get_pins REGA
    发表于 04-08 07:44

    Xilinx工具vivado使用约束命令时出现警告的解决办法?

    (TX_CLK_o)。我想使用下面的约束命令来设置时钟转发,但我在合成时发现了警告。警告是什么意思?// constraints命令create_generated_clock -name TX_CLK_o
    发表于 05-04 08:04

    请问如何约束作为输入时钟复制的时钟?

    的问题是如何约束这个TDM_SCKx4输出时钟。我试过这个:create_generated_clock -name TDM_SCKx4 -source [get_pins
    发表于 08-18 10:16

    子模块的generated clock是否需要和其它子模块进行balance?

    一种情况,这十个子模块里面有些模块是不需要和其它子模块交互数据的,那么子模块的 generated clock 就不需要和其它子模块进行 balance?
    发表于 06-23 14:28

    静态时序分析

    10ns,占空比(duty_cycle)为50%(默认值),clock definition point 是UPLL0的CLKOUT pin )create_generated_clock -name
    发表于 04-20 16:17

    今日说“法”:TimeQuest约束外设之诡异的Create Generated Clocks

    create_generated_clock -name {clk_div_r} -source [get_ports {sysclk}] -divide_by 2 -master_clock {sysclk
    发表于 05-06 16:24

    FPGA案例之衍生时钟约束

    create_generated_clock -name clk_samp -source [get_pins clk_gen_i0/clk_core_i0/clk_tx] -divide_by 32 [get_pins
    的头像 发表于 11-17 16:28 2075次阅读
    FPGA案例之衍生时钟约束

    UVM中类的例化用new还是create

    UVM中类的例化用new和create有什么不同?什么时候可以用new?什么时候该用create? new是OOP自带属性,create是UVM override属性,可以理解成crea
    的头像 发表于 03-21 11:26 722次阅读

    SDC是如何炼成的?create_generated_clock花式定义方法

    从最早的芯片规格定义分解出系统所需要的时钟和频率,以及各个模块需要的时钟和频率。
    的头像 发表于 06-27 15:00 3937次阅读
    SDC是如何炼成的?<b class='flag-5'>create_generated_clock</b>花式定义方法

    探讨下clock的基本定义(上)

    Clock分为两大类,一类是root clock,其定义指令是create_clock;另外一类是generated clock,其定义指令
    的头像 发表于 07-06 15:31 1106次阅读
    探讨下<b class='flag-5'>clock</b>的基本定义(上)