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

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

3天内不再提示

FPGA之主时钟约束解析

电子设计 来源:科学计算technomania 作者:猫叔 2020-11-16 17:45 次阅读

约束主时钟

在这一节开讲之前,我们先把wave_gen工程的wave_gen_timing.xdc中的内容都删掉,即先看下在没有任何时序约束的情况下会综合出什么结果?

对工程综合并Implementation后,Open Implemented Design,会看到下图所示内容。


可以看到,时序并未收敛。可能到这里有的同学就会有疑问,我们都已经把时序约束的内容都删了,按我们第一讲中提到的“因此如果我们不加时序约束,软件是无法得知我们的时钟周期是多少,PAR后的结果是不会提示时序警告的”,这是因为在该工程中,用了一个MMCM,并在里面设置了输入信号频率,因此这个时钟软件会自动加上约束。

接下来,我们在tcl命令行中输入report_clock_networks -name main,显示如下:


可以看出,Vivado会自动设别出两个主时钟,其中clk_pin_p是200MHz,这个是直接输入到了MMCM中,因此会自动约束;另一个输入时钟clk_in2没有约束,需要我们手动进行约束。

或者可以使用check_timing -override_defaults no_clock指令,这个指令我们之前的内容讲过,这里不再重复讲了。

在tcl中输入

create_clock -name clk2 -period 25 [get_ports clk_in2]

注:在Vivado中,可以直接通过tcl直接运行时序约束脚本,运行后Vivado会自动把这些约束加入到xdc文件中。

再执行report_clock_networks -name main,显示如下:


可以看到,主时钟都已被正确约束。

编辑:hfy


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

    关注

    1629

    文章

    21729

    浏览量

    603002
  • TCL
    TCL
    +关注

    关注

    10

    文章

    1722

    浏览量

    88566
  • Vivado
    +关注

    关注

    19

    文章

    812

    浏览量

    66472
  • 时钟约束
    +关注

    关注

    0

    文章

    15

    浏览量

    6015
收藏 人收藏

    评论

    相关推荐

    FPGA时序案例分析之时钟周期约束

    时钟周期约束,顾名思义,就是我们对时钟的周期进行约束,这个约束是我们用的最多的约束了,也是最重要
    的头像 发表于 11-19 11:44 5647次阅读
    <b class='flag-5'>FPGA</b>时序案例分析之<b class='flag-5'>时钟</b>周期<b class='flag-5'>约束</b>

    FPGA案例解析:针对源同步的时序约束

    FPGA与外部器件共用外部时钟;源同步(SDR,DDR)即时钟与数据一起从上游器件发送过来的情况。在设计当中,我们遇到的绝大部分都是针对源同步的时序约束问题。所以下文讲述的主要是针对源
    的头像 发表于 11-20 14:44 7803次阅读
    <b class='flag-5'>FPGA</b>案例<b class='flag-5'>解析</b>:针对源同步的时序<b class='flag-5'>约束</b>

    FPGA的IO口时序约束分析

      在高速系统中FPGA时序约束不止包括内部时钟约束,还应包括完整的IO时序约束和时序例外约束
    发表于 09-27 09:56 1737次阅读

    FPGA时钟约束详解 Vivado添加时序约束方法

    FPGA设计中,时序约束的设置对于电路性能和可靠性都至关重要。在上一篇的文章中,已经详细介绍了FPGA时序约束的基础知识。
    发表于 06-06 18:27 1.1w次阅读
    <b class='flag-5'>FPGA</b>主<b class='flag-5'>时钟</b><b class='flag-5'>约束</b>详解 Vivado添加时序<b class='flag-5'>约束</b>方法

    FPGA时序约束之衍生时钟约束时钟分组约束

    FPGA设计中,时序约束对于电路性能和可靠性非常重要。在上一篇的文章中,已经详细介绍了FPGA时序约束的主时钟
    发表于 06-12 17:29 2712次阅读

    FPGA时钟周期约束讲解

    时钟周期约束是用于对时钟周期的约束,属于时序约束中最重要的约束之一。
    发表于 08-14 18:25 882次阅读

    FPGA全局时钟约束(Xilinx版本)

    FPGA上的全局时钟管脚用完了就出现不够用的情况。FPGA全局时钟约束(Xilinx版本)[hide][/hide]
    发表于 02-29 09:46

    FPGA时钟约束问题

    FPGA的DCM模块,40MHz时钟输入,得到clkout1 40MHz,clkout2 60MHz,clkout1 120MHz。对40MHz时钟添加了约束,系统不是会自动对三个输出
    发表于 05-25 15:06

    FPGA案例之衍生时钟约束

    约束衍生时钟 系统中有4个衍生时钟,但其中有两个是MMCM输出的,不需要我们手动约束,因此我们只需要对clk_samp和spi_clk进行约束
    的头像 发表于 11-17 16:28 2324次阅读
    <b class='flag-5'>FPGA</b>案例之衍生<b class='flag-5'>时钟</b><b class='flag-5'>约束</b>

    简述Xilinx FPGA管脚物理约束解析

    引言:本文我们简单介绍下Xilinx FPGA管脚物理约束,包括位置(管脚)约束和电气约束
    的头像 发表于 04-27 10:36 4483次阅读
    简述Xilinx <b class='flag-5'>FPGA</b>管脚物理<b class='flag-5'>约束</b><b class='flag-5'>解析</b>

    简述FPGA时钟约束时钟余量超差解决方法

    在设计FPGA项目的时候,对时钟进行约束,但是因为算法或者硬件的原因,都使得时钟约束出现超差现象,接下来主要就是解决
    的头像 发表于 10-11 14:52 3527次阅读
    简述<b class='flag-5'>FPGA</b><b class='flag-5'>时钟</b><b class='flag-5'>约束</b><b class='flag-5'>时钟</b>余量超差解决方法

    进入IP Core的时钟,都不需要再手动添加约束

    对于7系列FPGA,需要对GT的这两个时钟手工约束:对于UltraScale FPGA,只需对GT的输入时钟
    的头像 发表于 02-16 16:21 1549次阅读
    进入IP Core的<b class='flag-5'>时钟</b>,都不需要再手动添加<b class='flag-5'>约束</b>吗

    FPGA时序约束的原理是什么?

    FPGA开发过程中,离不开时序约束,那么时序约束是什么?简单点说,FPGA芯片中的逻辑电路,从输入到输出所需要的时间,这个时间必须在设定的时钟
    发表于 06-26 14:42 712次阅读
    <b class='flag-5'>FPGA</b>时序<b class='flag-5'>约束</b>的原理是什么?

    FPGA设计衍生时钟约束时钟分组约束设置

    FPGA设计中,时序约束对于电路性能和可靠性非常重要。
    发表于 06-26 14:53 1651次阅读
    <b class='flag-5'>FPGA</b>设计衍生<b class='flag-5'>时钟</b><b class='flag-5'>约束</b>和<b class='flag-5'>时钟</b>分组<b class='flag-5'>约束</b>设置

    时序约束一主时钟与生成时钟

    一、主时钟create_clock 1.1 定义 主时钟是来自FPGA芯片外部的时钟,通过时钟输入端口或高速收发器GT的输出引脚进入
    的头像 发表于 11-29 11:03 293次阅读
    时序<b class='flag-5'>约束</b>一主<b class='flag-5'>时钟</b>与生成<b class='flag-5'>时钟</b>