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

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

3天内不再提示

一起体验Vivado 的ECO流程

YCqV_FPGA_EETre 来源:赛灵思中文社区论坛 作者:Hong Han 2020-10-26 09:45 次阅读

作者:Hong Han,来源:赛灵思中文社区论坛

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

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

1. 打开Vivado 界面

2. 打开Example Design "Wavegen":

File -> Project -> Open Example

选中Wavegen(HDL), 器件选择xcku035

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

4. 打开Implemented Design (点击左侧Flow Navigator 窗口 Open Implemented Design 按钮)

5. 选一条两个寄存器之间的路径,运行以下命令,选中打印出的路径,双击可以查看时序报告,F4 键可以打开这条路径的原理图

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

可以看到Data Path的布线延迟是0.504ns

路径的原理图

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

%disconnect_net -net clkx_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的INIT property

%create_cell -reference LUT1clkx_spd_i0/meta_harden_bus_new_i0/my_lut1 %set_property INIT 2'h1 [get_cells clkx_spd_i0/meta_harden_bus_new_i0/my_lut1]

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

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

%connect_net -net clkx_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和之前断下来的寄存器D pin 到新创建的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文件

%write_bitstream test.bit

原文标题:【干货分享】用ECO脚本的方式在网表中插入LUT1

文章出处:【微信公众号:FPGA开发圈】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

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

    关注

    30

    文章

    5028

    浏览量

    117719
  • ECO
    ECO
    +关注

    关注

    0

    文章

    51

    浏览量

    14774
  • Vivado
    +关注

    关注

    18

    文章

    790

    浏览量

    65093

原文标题:【干货分享】用ECO脚本的方式在网表中插入LUT1

文章出处:【微信号:FPGA-EETrend,微信公众号:FPGA开发圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    #新开端、新起点,2024一起加油#

    \"新开端、新起点,2024一起加油\" 这句话充满了积极向上的精神和对未来的期待。新开端和新起点意味着我们有机会摒弃过去的不足,以个全新的姿态开始新的旅程。而\"
    发表于 02-26 21:01

    AD7606的AGND和VXGND是否定要接在一起

    你好: 想咨询下,我们正使用贵公司AD7606作为模拟输入转换芯片,在使用过程中遇到了个问题,因为芯片的AGND和VXGND分开设计没有共接在一起,这样VXGND和VIN就可以实现正负电压采集
    发表于 12-14 07:36

    2片AD5410的GND和AVDD是否可以连到一起

    如题,使用2片AD5410,2片AD5410的GND和AVDD是否可以连到一起,之前看到AD421的相关资料有介绍,2片AD421的COM是不能连接的一起的.
    发表于 12-06 07:44

    单片机的蜂鸣器是否可以与小灯一起使用?

    单片机的蜂鸣器是否可以与小灯一起使用
    发表于 10-31 06:40

    请问串口支持个设备发送,两个设备一起接收吗?

    串口支持个设备发送,两个设备一起接收吗?这样使用是否可以?有什么后果呢?确实没见别人这么用过。
    发表于 09-26 06:50

    Vivado设计流程指导手册

    Vivado 设计分为 Project Mode 和 Non-project Mode 两种模式,般简单设计中,我们常用的是 Project Mode。在本手册中,我们将以个简单的实验案例,
    发表于 09-20 07:37

    vivado主界面及设计流程

    Vivado设计主界面,它的左边是设计流程导航窗口,是按照FPGA的设计流程设置的,只要按照导航窗口一项一项往下进行,就会完成从设计输入到最后下载到开发板上的整个设计流程
    的头像 发表于 09-17 15:40 1633次阅读
    <b class='flag-5'>vivado</b>主界面及设计<b class='flag-5'>流程</b>

    Vivado设计套件用户指南(设计流程概述)

    电子发烧友网站提供《Vivado设计套件用户指南(设计流程概述).pdf》资料免费下载
    发表于 09-15 09:55 1次下载
    <b class='flag-5'>Vivado</b>设计套件用户指南(设计<b class='flag-5'>流程</b>概述)

    NUC120RE3AN和Flash一起烧录提示空间不足如何解决?

    各位工程你们好,请问下NUC120RE3AN在烧录时,只能烧录LDROM和APROM进去,而数据Flash一起烧录时,提示空间不足,但从参考的样品读取,别人是LDROM、APROM数据Flash都有显示,请问怎样才可以把数据Flash也一起烧录进去呢?请大神指导!
    发表于 08-30 07:00

    vivado仿真流程

    vivado开发软件自带了仿真工具,下面将介绍vivado的仿真流程,方便初学者进行仿真实验。
    的头像 发表于 07-18 09:06 2547次阅读
    <b class='flag-5'>vivado</b>仿真<b class='flag-5'>流程</b>

    vivado创建工程流程

    vivado的工程创建流程对于大部分初学者而言比较复杂,下面将通过这篇博客来讲解详细的vivado工程创建流程。帮助自己进行学习回顾,同时希望可以对有需要的初学者产生帮助。
    的头像 发表于 07-12 09:26 1319次阅读
    <b class='flag-5'>vivado</b>创建工程<b class='flag-5'>流程</b>

    用 TCL 定制 Vivado 设计实现流程

    常常用来报告特定的时序信息、修改网表内容、实现 ECO 等等。 用 Tcl定制实现流程 综上所述,标准的 FPGA 设计实现流程完全可以通过 Vivado IDE
    发表于 06-28 19:34

    esp可以与wifi连接一起使用吗?

    ,因为速度非常快且能量低,但经过研究后我对 esp now 有些疑问: 1- esp现在可以与 wifi 连接一起使用吗? 我读到 esp 的频道现在应该和 wifi 样,但我听说它只能在频道 1 或
    发表于 05-08 06:48

    Vivado中实现ECO功能

    关于 Tcl 在 Vivado中的应用文章从 Tcl 的基本语法和在 Vivado 中的 应用展开,继上篇《用 Tcl 定制 Vivado 设计实现流程》介绍了如何扩展甚 至是定制 F
    的头像 发表于 05-05 15:34 1796次阅读
    在<b class='flag-5'>Vivado</b>中实现<b class='flag-5'>ECO</b>功能

    用TCL定制Vivado设计实现流程

    今天推出Xilinx已发布的《Vivado使用误区与进阶》系列:用TCL定制Vivado设计实现流程
    的头像 发表于 05-05 09:44 728次阅读
    用TCL定制<b class='flag-5'>Vivado</b>设计实现<b class='flag-5'>流程</b>