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

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

3天内不再提示

Vivado的ECO流程

电子工程师 来源:XILINX技术社区 作者:XILINX技术社区 2020-11-04 10:25 次阅读

通常在设计网表中,需要在基础上微调逻辑,这样既无需修改代码,也无需重新做综合,在设计调试中可以节省时间的同时维持其逻辑无任何改动。

本文将带大家一起体验一下Vivado的ECO流程,以Vivado自带的Example Design为例, 直接用TCL命令修改网表,在正常的寄存器路径之间加一级LUT.

1.打开Vivado 界面

2.打开Example Design "Wavegen":

<1> File -> Project -> Open Example

<2> 选中Wavegen (HDL),器件选择xcku035

3.点击左侧Flow Navigator 窗口 Run Implementation 按钮, 完成综合实现.

4. 打开Implemented Design

(点击左侧Flow Navigator 窗口 Open Implemented Design 按钮)

5.选一条两个寄存器之间的路径

运行以下命令,选中打印出的路径,双击可以查看时序报告,F4 键可以打开这条路径的原理图,可以看到Data Path的布线延迟是0.504ns

%report_timing -from[get_cells clkx_spd_i0/meta_harden_bus_new_i0/signal_meta_reg] -to [get_cellsclkx_spd_i0/meta_harden_bus_new_i0/signal_dst_reg] -delay_type max -name test1

路径的原理图

6.把目的寄存器的D端从net上断下来

%disconnect_net -netclkx_spd_i0/meta_harden_bus_new_i0/signal_meta_reg_n_0-objects {clkx_spd_i0/meta_harden_bus_new_i0/signal_dst_reg/D}

在这里获取操作对象(net, Pin)的方法:在原理图中选中对象,然后查看走下角Property 窗口中的NAME 属性

Pin被从Net上断开后,会在原理图上显示n/c

7.创建一个LUT1,并设置LUT的INITproperty

%create_cell -reference LUT1clkx_spd_i0/meta_harden_bus_new_i0/my_lut1

%set_property INIT 2'h1 [get_cellsclkx_spd_i0/meta_harden_bus_new_i0/my_lut1]

可以看到这个新创建的LUT1所有端口(Pin)都是悬空的. 接下来的步骤要将这些pin连接到合适的net上.

8.把LUT1的输入端口连接到之前断开的net上.

%connect_net -netclkx_spd_i0/meta_harden_bus_new_i0/signal_meta_reg_n_0 -objects{clkx_spd_i0/meta_harden_bus_new_i0/my_lut1/I0}

9.创建一个新的net用来连接LUT1的输出pin和之前断下来的寄存器D pin

%create_net clkx_spd_i0/meta_harden_bus_new_i0/my_net

10. 连接LUT1的输出pin和之前断下来的寄存器Dpin 到新创建的net上

%connect_net -net clkx_spd_i0/meta_harden_bus_new_i0/my_net -objects {clkx_spd_i0/meta_harden_bus_new_i0/my_lut1/O clkx_spd_i0/meta_harden_bus_new_i0/signal_dst_reg/D}

11.在Netlist窗口选窗口选中新建的LUT1,将其拖曳到Device中空着的slice LUT bel中对应的命令:

place_cell clkx_spd_i0/meta_harden_bus_new_i0/my_lut1 SLICE_X52Y83/B6LUT

12.对新的LUT1两端的net进行布线

%route_design -nets [get_nets -of [get_pins clkx_spd_i0/meta_harden_bus_new_i0/my_lut1/*]]

13. 检查布线结果确保没有布线错误

%report_route_status

14.用步骤5的命令重新报一下时序

15.生成bit文件

责任编辑:lq

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

    关注

    31

    文章

    5284

    浏览量

    119770
  • ECO
    ECO
    +关注

    关注

    0

    文章

    51

    浏览量

    14848
  • Vivado
    +关注

    关注

    19

    文章

    803

    浏览量

    66195

原文标题:开发者分享 | 用ECO脚本的方式在网表中插入LUT1

文章出处:【微信号:gh_2d1c7e2d540e,微信公众号:XILINX开发者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Vivado使用小技巧

    有时我们对时序约束进行了一些调整,希望能够快速看到对应的时序报告,而又不希望重新布局布线。这时,我们可以打开布线后的dcp,直接在Vivado Tcl Console里输入更新后的时序约束。如果调整
    的头像 发表于 10-24 15:08 151次阅读
    <b class='flag-5'>Vivado</b>使用小技巧

    Vivado编辑器乱码问题

    ,但是在Vivado里面打开用sublime写的代码之后,经常出现中文乱码,让人很不舒服。究其原因就是一般来说第三方的编辑器是采用utf8的编码方式,而vivado的text editor不是这种方式。
    的头像 发表于 10-15 17:24 302次阅读
    <b class='flag-5'>Vivado</b>编辑器乱码问题

    Vivado 2024.1版本的新特性(2)

    从综合角度看,Vivado 2024.1对SystemVerilog和VHDL-2019的一些特性开始支持。先看SystemVerilog。
    的头像 发表于 09-18 10:34 502次阅读
    <b class='flag-5'>Vivado</b> 2024.1版本的新特性(2)

    Vivado 2024.1版本的新特性(1)

    Vivado 2024.1已正式发布,今天我们就来看看新版本带来了哪些新特性。
    的头像 发表于 09-18 10:30 711次阅读
    <b class='flag-5'>Vivado</b> 2024.1版本的新特性(1)

    如何在AMD Vivado™ Design Tool中用工程模式使用DFX流程

    本文介绍了在 AMD Vivado™ Design Tool 中用工程模式使用 DFX 流程以及需要注意的地方。在使用 DFX 工程模式的过程中要把具体步骤映射到相应的 DFX 非工程模式的步骤,这样才能更好地理解整个流程的运行
    的头像 发表于 04-17 09:28 664次阅读
    如何在AMD <b class='flag-5'>Vivado</b>™ Design Tool中用工程模式使用DFX<b class='flag-5'>流程</b>?

    深入探索Vivado非工程模式FPGA设计流程

    在设计过程的每个阶段,设计者均可以打开Vivado集成开发环境,对存储器中保存的当前设计进行分析和操作。
    发表于 04-03 09:36 785次阅读
    深入探索<b class='flag-5'>Vivado</b>非工程模式FPGA设计<b class='flag-5'>流程</b>

    分享一种大型SOC设计中功能ECO加速的解决方案

    大型SOC项目的综合非常耗时间,常常花费好几天。当需要做功能ECO时,代码的改动限定在某些子模块里,设计人员并不想重跑一次完整的综合,这种方法缩短了一轮ECO的时间,保证了项目进度。
    的头像 发表于 03-11 10:41 405次阅读
    分享一种大型SOC设计中功能<b class='flag-5'>ECO</b>加速的解决方案

    请问psoc6_cy8c6247bzi-d54_ECO有什么特点?

    如图所示,单片机需要两个晶体(WCO/ECO)。 WCO 支持看门狗和 RTC 功能。 我们想知道 ECO 支持哪些功能? 如果我们不使用这个功能,我们就不需要 ECO Crystal 了,对吧?
    发表于 01-26 07:30

    从DeepSleep模式过渡到活动模式时,IMO和ECO时钟在唤醒过程中是如何运行的呢?

    我正在使用 CYT2B95。 我在主动模式下使用 ECO 作为 FLL/PLL 参考时钟。 从 DeepSleep 模式过渡到活动模式时,IMO 和 ECO 时钟在唤醒过程中是如何运行的? 问题 1
    发表于 01-24 07:52

    请问如何将ECO输出分配给PSoC6的GPIO?

    如何将ECO输出分配给PSoC6的GPIO
    发表于 01-16 07:56

    如何禁止vivado自动生成 bufg

    Vivado中禁止自动生成BUFG(Buffered Clock Gate)可以通过以下步骤实现。 首先,让我们简要了解一下什么是BUFG。BUFG是一个时钟缓冲器,用于缓冲输入时钟信号,使其更稳
    的头像 发表于 01-05 14:31 1824次阅读

    Vivado时序问题分析

    有些时候在写完代码之后呢,Vivado时序报红,Timing一栏有很多时序问题。
    的头像 发表于 01-05 10:18 1744次阅读

    VIVADO安装问题解决

    vivado出现安装问题刚开始还以为是安装路径包含中文空格了,重装的注意了一下,发现还是这个问题。。。。后来又一顿操作猛如虎,终于发现了问题。出这个问题的原因是vivado压缩包解压的路径包含中文了把解压文件放到不含中文的地方,再重新安装,安装路径也不能含中文。然后。。。
    发表于 12-22 10:56 0次下载

    VIVADO软件使用问题总结

    【关键问题!!!!重要!!!】VIVADO会在MESSAGE窗口出提示很多错误和警告信息!
    的头像 发表于 12-15 10:11 1706次阅读
    <b class='flag-5'>VIVADO</b>软件使用问题总结

    MIDIMASTER ECO为什么找不到设置电机正传和反转的地方?

    MIDIMASTER ECO为什么找不到设置电机正传和反转的地方
    发表于 11-15 07:29