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

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

3天内不再提示

如何获取被复制的寄存器

FPGA技术驿站 来源:FPGA技术驿站 2024-09-18 10:48 次阅读

vivado -mode tcl和vivado -mode batch有什么区别?

同样的Tcl脚本,我们可以采用Vivado Tcl模式运行,也可以采用Vivado Batch模式运行,如下所示:

vivado-mode tcl -source user.tcl

vivado-mode batch -source user.tcl

从Tcl角度而言,两者并没有本质的差别,只有一些细微差别。细微差别如下:

-mode tcl会打开Vivado tcl shell,运行结束后仍然在Vivado tcl shell下;

-mode batch也会打开Vivado tcl shell,但运行结束后会返回native shell下;

-mode batch模式下可以通过选项-tclargs设置参数,例如:

vivado -mode batch -sourcescript.tcl -tclargs "FPGA=115-2"

同时,batch模式下未知命令不会被送给OS去执行。

如何导出更详细的资源利用率报告?

在Vivado图形界面下,我们可以通过命令report_utilization生成资源利用率报告。在这个报告里可以看到每个模块的资源利用率,如下图所示。有时我们需要将报告导出来,此时可以在下图所示界面点击鼠标右键,选择“Exportto Spreadsheet”就会生成一个Excel文件,该文件里会详细显示每个模块的资源利用率信息

wKgaombqP1mAJks9AACv9qZI3Zc403.jpg

此外,我们还可以通过选项-spreadsheet_depth管理需要查看到的层次,最顶层算1,如下图所示。使用-spreadsheet_file时需要和-name一起使用。

wKgZombqP1mAYo7PAAASgGqLNm8503.jpg

如果只是看总体资源利用率,那么就可以直接用report_utilization添加-file选项。

如何获取被复制的寄存器

降低扇出的一种方法就是复制寄存器。通常,工具会根据时序需求对驱动高扇出net的寄存器进行复制,新生成的寄存器名字中会包含关键字rep,如下图所示。如果我们设计中存在由原始寄存器作为起始单元的时序例外约束,那么就要确保该约束同样作用于新生成的复制寄存器。尽管我们可以通过关键字rep来锁定这些复制的寄存器,但这种方法仍然过于繁琐。好在命令get_cells本身就提供了选项-include_replicated_objects,这样添加该选项即可获得原始寄存器外加新生成的复制寄存器。

wKgZombqP1mAdEVbAABj-p5vjPk619.jpg

wKgZombqP1mALc9aAAA67JBe7Ts665.jpg

如何限定约束的作用域?

假定有这样一个场景:模块A内部包含一些多周期约束的路径,同时模块A本身在设计中被多次实例化。如果把模块A当作顶层描述其中的多周期路径约束将非常方便,这样避免了设计层次的干扰。而实际情形是模块A并非顶层,如果针对模块A的实例化逐一添加该约束,那么这个过程将会较为繁琐且容易出错。有没有其他办法呢?想想Vivado自带的IP,很多IP都自带约束,同一个IP无论实例化多少次,我们只会看到一份约束文件。这是因为这些约束文件都被限制了作用域。如下图所示,显示了IPFIFO生成的约束文件的作用域,这个作用域是通过属性SCOPED_TO_CELLS和SCOPE_TO_REF来指定。通过其一就可指定作用域。这里SCOPE_TO_REF值为模块A本身的名字,而SCOPED_TO_CELL的值为模块A实例化的名字,注意两者含义的差别。采用此方法我们就可以将用户约束文件限定其作用域为指定模块。需要注意的是有些约束依赖于外部时钟,比如多周期路径约束,set_multicycle_path跟的数值为时钟周期个数,工具要将其转换为绝对时间ns,就要知道时钟周期具体数值,因此还要指定该约束文件的处理顺序,这可通过属性PROCESSING_ORDER指定,将其值设置为LATE即可。

wKgaombqP1mADmDXAAB3KNO4FYs724.jpg

launch_runs时的jobs和thread有什么区别?

Launch Runs时会弹出如下图所示的对话框,其中可以让用户选择“Number of jobs”,其含义是指当同时执行多个Run时可使用的本地CPU核的个数。而thread线程数,则需要通过Tcl脚本设定,

set_paramgeneral.maxThreads 4

wKgZombqP1mALZ0nAABQzh5b1BY022.jpg

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

    关注

    31

    文章

    5250

    浏览量

    119180
  • 命令
    +关注

    关注

    5

    文章

    658

    浏览量

    21926
  • 脚本
    +关注

    关注

    1

    文章

    382

    浏览量

    14760
  • Vivado
    +关注

    关注

    19

    文章

    797

    浏览量

    65848

原文标题:几个常见问题

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

收藏 人收藏

    评论

    相关推荐

    寄存器是什么?怎么操作寄存器点亮LED灯?

    寄存器,是集成电路中非常重要的一种存储单元,通常由触发组成。在集成电路设计中,寄存器可分为电路内部使用的寄存器和充当内外部接口的寄存器这两
    的头像 发表于 07-21 16:59 3615次阅读
    <b class='flag-5'>寄存器</b>是什么?怎么操作<b class='flag-5'>寄存器</b>点亮LED灯?

    寄存器与移位寄存器

    寄存器与移位寄存器 寄存器是用来寄存数码的逻辑部件,所以必须具备接收和寄存数码的功能。任何一种触发
    发表于 03-12 15:19 59次下载

    寄存器,寄存器是什么意思

    寄存器,寄存器是什么意思 寄存器定义  寄存器是中央处理内的组成部分。寄存器是有限存贮容量
    发表于 03-08 14:26 2.2w次阅读

    数据寄存器,数据寄存器是什么意思

    数据寄存器,数据寄存器是什么意思 数据寄存器数据寄存器包括累加AX、基址寄存器BX、计数
    发表于 03-08 14:38 1.2w次阅读

    移位寄存器,移位寄存器是什么意思

    移位寄存器,移位寄存器是什么意思 移位寄存器_
    发表于 03-08 14:50 1.7w次阅读

    寄存器培训教程

    寄存器培训教程 7.4.1 寄存器1.定义2.电路举例 3.逻辑功能分析7.4.2 移位寄存器一、单向移位寄存器㈠ 由4个维持阻塞D触发
    发表于 03-08 14:52 1220次阅读

    寄存器与移位寄存器

    寄存器与移位寄存器:介绍寄存器原理和移位寄存器的原理及实现。
    发表于 05-20 11:47 0次下载

    指令指针寄存器和指针寄存器差异性在哪儿

    指令寄存器IR ,是临时放置从内存里面取得的代码数据(也就是指令),然后等待译码来译码。指令指针寄存器ip,里面放置的是不是指令,而是一个指向下一个将要去获取的指令的内存地址(所以它
    发表于 11-13 10:24 8019次阅读
    指令指针<b class='flag-5'>寄存器</b>和指针<b class='flag-5'>寄存器</b>差异性在哪儿

    移位寄存器怎么用_如何使用移位寄存器_移位寄存器的用途

    移位寄存器是一个具有移位功能的寄存器,是指寄存器中所存的代码能够在移位脉冲的作用下依次左移或右移。本文主要介绍了移位寄存器的用途以及移位寄存器
    发表于 12-22 15:49 2w次阅读

    寄存器变量

    C语言中使用关键字register来声明局部变量为寄存器变量。寄存器变量的值会被存放在CPU的寄存器中,每当需要使用它们时,CPU就可以直接使用,而无须再通过控制从内存中
    发表于 06-03 10:13 2251次阅读

    移位寄存器的原理

    移位寄存器按照不同的分类方法可以分为不同的类型。 如果按照移位寄存器的移位方向来进行分类, 可以分为左移移位寄存器、移位寄存器和双向移位寄存器
    发表于 07-15 09:38 7.4w次阅读
    移位<b class='flag-5'>寄存器</b>的原理

    AD转换寄存器设置

    AD转换寄存器设置AD转换寄存器设置AD转换寄存器设置
    发表于 11-10 17:36 16次下载
    AD转换<b class='flag-5'>寄存器</b>设置

    ARM通用寄存器及状态寄存器详解

    笔者来聊聊ARM通用寄存器以及状态寄存器的认识与理解。
    的头像 发表于 01-06 14:58 6378次阅读

    单片机工作寄存器作用 单片机常用专用寄存器

    除了通用寄存器(如累加、通用寄存器等),单片机中还会有特定功能的寄存器,如定时寄存器、中断控
    的头像 发表于 04-08 14:46 6880次阅读

    寄存器分为基本寄存器和什么两种

    寄存器是计算机中用于存储数据的高速存储单元,它们是CPU内部的重要组成部分。寄存器可以分为基本寄存器和扩展寄存器两种类型。 一、基本寄存器
    的头像 发表于 07-12 10:31 622次阅读