前言

对于包含PS和PL的设计,两者的数据交互PL必然会用到PS端的时钟。

对于FCLK(PS端时钟输入到PL端)的约束,此时钟的基础约束已在IP中产生。以下想约束其异步时钟的时钟组特性。

注意事项:FCLK的名字在综合时不可见,在适配阶段才可见,所以对于约束文件的属性需要选择只在适配阶段有效,否则综合时报警告(感觉无伤大雅)。

但PL中又有别的时钟,与FCLK是异步的,而且这些时钟之间并不需要进行时序分析。

则有两种选择,(1)约束false路径。但时钟之间的路径是双向的,则需要正着约束一下,反着也要约束,比较麻烦。

       (2)使用clock group约束。可以划分时钟域,时序分析只会分析时钟域中的情况,不会分析跨时钟域部分。

而跨时钟域部分通常由开发者代码保证不会产生亚稳态。

流程

(1)首先我们并不清楚fclk在综合编译后叫啥名字,所以首先就是需要获取fclk名字。

打开适配后的设计,点击编辑时序约束。

找寻时钟。

在下图中点击Find查找所有时钟,左下角就会显示出时钟名,添加到右侧,就得到了command中的名字。当然也可直接使用图形工具进行相应的约束操作。

约束语句如下:三个时钟组互不相关,跨时钟域处理需要代码保证。

set_clock_groups -async -group [get_clocks -include_generated_clock i_clk] \

-group [get_clocks -include_generated_clock i_adc_dclk_p] -group [get_clocks clk_fpga_0]

含义说明:i_clk和i_adc_dclk_p调用了两个不同的pll,两者的输出时钟不晓得名字就可以用上述语法进行约束。

(2)设置时序约束文件只在适配阶段才起作用。

(3)重编译检查劳动成果。对时钟相关性进行分析,可以看到异步路径已经被STA忽略。

以上。

怎么对ZYNQ的FCLK做时钟组约束的更多相关文章

  1. 数字设计中的时钟与约束(gate)

    转载:https://www.cnblogs.com/IClearner/p/6440488.html 最近做完了synopsys的DC workshop,涉及到时钟的建模/约束,这里就来聊聊数字中的 ...

  2. FPGA 关于中间环节生成时钟的约束---Generated clocks

    FPGA 关于中间环节生成时钟的约束---Generated clocks FPGA 的生成时钟,有一个主时钟源,在定义的之后,需要指明主时钟源. 生成时钟主要定义的是:分频,倍频,相移等 二分频时钟 ...

  3. JS 做时钟

    今天,给大家分享一个用JS做的时钟. <!DOCTYPE html><html> <head> <meta charset="utf-8" ...

  4. 齐博x1标签实例:做模板组图单图无图混排的处理

    代码如下, {qb:tag name="xxx" type="cms" rows="10"} {if ( count($rs['picurl ...

  5. 用H5的canvas做时钟

    <!doctype html><html> <head> <meta charset="UTF-8"> <title>D ...

  6. 嵌入式linux——时钟(三)

    今天写第一篇,S3C2440的时钟,配置好时钟系统,各个模块才能正常有效的工作,为了了解始终系统,必须要阅读芯片手册,尽量看英文版的,这样还能捎带着增加一下阅读英语计数文档的能力. 概览 在2440数 ...

  7. Xilinx约束学习笔记(二)—— 定义时钟

    2. 定义时钟 2.1 关于时钟 为了获得最佳精度路径覆盖信息,必须正确定义时钟. 时钟要定义在时钟树的根 pin 或 port 上,称为 source point. 时钟的边缘应该由周期和波形进行组 ...

  8. 如何用iframe标签以及Javascript制作时钟?

    如何利用iframe标签以及Javascript制作时钟? 如何制作一个时钟呢?效果如下图所示: 这里的时钟会不停的走,但是下面的页面是不会变得,这样就实现了我们想要的效果了.下面我将分为以下几个方面 ...

  9. jquery版时钟(css3实现)

    做时钟的主要原因是因为喜欢,觉得它好看(本人对特效有点爱不释手……).做的时候感觉工程量会有点大,做着做着发现实现起来其实并不难,只要理清思绪,其实还蛮简单的(我制作东西喜欢整体方向制定好,然后边做边 ...

随机推荐

  1. Python语言编写BP神经网络

    Python语言编写BP神经网络 2016年10月31日 16:42:44 ldy944758217 阅读数 3135   人工神经网络是一种经典的机器学习模型,随着深度学习的发展神经网络模型日益完善 ...

  2. merge同时包含增、改、删

    我们都知道oracle merge可以用来增和改,很少用它来删除.但是有时候我们仍然需要该特性,以提高性能,典型的场景就是将业务库逻辑删除的记录同步到查询库的时候,做真正的物理删除,这个时候merge ...

  3. WebGL学习笔记(三):绘制一个三角形

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. centos7下python2环境安装pip2、kazoo、bottle、beaker

    摘自:https://mp.weixin.qq.com/s?src=11&timestamp=1576355125&ver=2034&signature=mNp2na6VjFz ...

  5. [译]为什么在__new __()后总是调用__init __()?

    原文来源: https://stackoverflow.com/questions/674304/why-is-init-always-called-after-new 需要控制新实例的创建时,请使用 ...

  6. preg_match 第三个参数,

    //请修改变量p的正则表达式,使他能够匹配str中的姓名 $p = '/name:([\w\s]+)/'; $str = "name:steven jobs"; preg_matc ...

  7. DB2执行计划分析

    多表连接的三种方式详解 hash join.merge join. nested loop 项目中的SQL执行效率太低,就用执行计划看一下执行SQL,看不懂,百度一下,纪录下来: 大多数人从来没有听说 ...

  8. Oracle spatial与arcsde 的关系

    有一些同事问过我下面这些问题: 我们用了oracle spatial sdo_geometry,是不是没用arcsde? 我们到底是使用oracle spatial还是arcsde,有点懵! 执行了c ...

  9. 文件上传速度查询方法(watch工具)

    由于业务迁移,需要将大量文件拷贝到目标机器上的/mnt目录,在拷贝过程中,想要查看上传的速度,做法如下:[root@mail01 ~]# du -sh /mnt5.6G /mnt[root@mail0 ...

  10. php_MVC实现步骤二

    2.match_split 显示逻辑相分离 将功能强制分成两个部分,显示html文件,和逻辑PHP文件: 要求浏览器请求负责功能的PHP逻辑文件: 该PHP逻辑文件,对需要的显示内容进行载入. 逻辑P ...