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

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

3天内不再提示

带大家一起体验一下Vivado的ECO流程

FPGA之家 来源:赛灵思中文社区论坛 作者:Hong Han 2020-11-29 11:04 次阅读

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

这里带大家一起体验一下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

责任编辑:lq

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

    关注

    0

    文章

    52

    浏览量

    14933
  • 脚本
    +关注

    关注

    1

    文章

    391

    浏览量

    14937
  • Vivado
    +关注

    关注

    19

    文章

    815

    浏览量

    66872

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

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    电路图设计:需要问一下,需要哪些零件可以组合在一起组成个音箱?

    目前手头上只有这个音响。现在需要问一下,需要哪些零件可以组合在一起组成个音箱?嗯,设备呃,包括哪些是多大的电容电阻和三极管,最好能详细到多大的二极管,三极管电容电阻
    发表于 01-24 13:05

    AN-166:与Linduino一起飞行中更新

    电子发烧友网站提供《AN-166:与Linduino一起飞行中更新.pdf》资料免费下载
    发表于 01-12 10:09 0次下载
    AN-166:与Linduino<b class='flag-5'>一起</b>飞行中更新

    “碰一下”支付背后的4G技术

    不知道你是否有留意,近期,在线下支付场景中,多了个支付宝“碰一下”支付的设备,只需要“解锁手机—碰一下—确认”即可完成支付,对比打开付款码支付,步骤确实更加简洁。
    的头像 发表于 01-03 16:27 484次阅读

    和Dr Peter一起学KiCad 4.8:设计规则检查(DRC)

    和Dr Peter一起学KiCad 4.8:设计规则检查(DRC)
    的头像 发表于 12-25 14:55 375次阅读
    和Dr Peter<b class='flag-5'>一起</b>学KiCad 4.8:设计规则检查(DRC)

    采用THS4503驱动ADS1675,一起使用时ADC发烫的原因?

    参考设计采用THS4503驱动ADS1675,一起使用时,ADC发烫,但是能正常工作,去掉THS4503后,ADC不怎么烫,想问一下,是THS4503输出电流过大造成的,还是什么原因?目前我前面的放大电路是单端输出, 是否可以采用其他的驱动电路,自己用运放搭
    发表于 12-24 07:02

    什么是YOLO?RK3568+YOLOv5是如何实现物体识别的?一起来了解一下

    、产品简介TL3568-PlusTEB人工智能实验箱国产高性能处理器64位4核低功耗2.0GHz超高主频1T超高算力NPU兼容鸿蒙等国产操作系统二、实验目的1、了解YOLOv5模型的用途及流程;2
    的头像 发表于 12-19 19:04 355次阅读
    什么是YOLO?RK3568+YOLOv5是如何实现物体识别的?<b class='flag-5'>一起</b>来了解<b class='flag-5'>一下</b>!

    Vivado之实现布局布线流程介绍

    、前言 本文将介绍Vivado进行综合,以及布局布线的内部流程,熟悉该流程后结合Settings中对应的配置选项,对于时序收敛调试将更具有针对性。 二、Implementation(
    的头像 发表于 12-06 09:08 719次阅读
    <b class='flag-5'>Vivado</b>之实现布局布线<b class='flag-5'>流程</b>介绍

    DAC81416将多通道输出口连一起,输出不同电压,会发生什么?

    大家好,如果将DAC的多个输出通道连在一起,输出不同电压,会发生什么?
    发表于 11-20 07:36

    有铅锡膏跟无铅锡膏可以一起用吗

    的锡膏丢掉就很浪费,如果下次贴片用的是另款锡膏,这样的话这两种锡膏能一起搅拌来用吗?下面深圳佳金源锡膏厂家为大家讲解一下:首先,我们了解
    的头像 发表于 10-14 15:36 399次阅读
    有铅锡膏跟无铅锡膏可以<b class='flag-5'>一起</b>用吗

    增量式编码器3大特点,工作模式,精度,输出脉冲信号 一起了解一下

    增量式编码器3大特点,工作模式,精度,输出脉冲信号...一起了解一下吗?在现代工业自动化和控制系统中,增量式编码器扮演着至关重要的角色。它可以将机械运动转化为电信号,为各类设备提供精确的位置和速度
    的头像 发表于 08-15 14:20 797次阅读
    增量式编码器3大特点,工作模式,精度,输出脉冲信号 <b class='flag-5'>一起</b>了解<b class='flag-5'>一下</b>吗

    请问idf.py build是否可以配置多个进程一起编译?

    请教一下 idf.py build 如何配置多个进程一起编译? 就像make -j4 谢谢!
    发表于 06-21 06:41

    数字地跟模拟地能不能接一起,数字地跟模拟地的区别

    数字地和模拟地在些情况可以接在一起,但在另外些情况需要分开处理。这主要取决于具体的应用场景和设计要求。
    的头像 发表于 06-10 16:31 3300次阅读

    使用FatFS和FreeRTOS一起工作时,发现运行段时间后,FATFS就会出现m_sync不成功的情况,为什么?

    程序流程是这样的:每1秒写7个字节,先m_write,再m_sync。 当使用FatFS和FreeRTOS一起工作时,发现运行段时间后,FATFS就会出现m_sync不成功的情况。 但不
    发表于 04-30 06:36

    六类网线可以和强电一起走吗

    六类网线理论上不建议和强电一起走。从布线规范的角度来看,弱电线路和强电线路通常不建议共用同桥架,以避免潜在的电磁干扰。然而,多年的施工经验表明,在某些情况,强电线和弱电网线可能一起
    的头像 发表于 04-19 09:55 6102次阅读

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

    ;2024一起加油\"则表达了大家共同努力,相互支持的决心和信念。 在2024年,无论你的目标是什么,都希望你能保持这种积极的心态,勇敢地面对挑战,不断地学习和进步。同时,也希望大家能够相互鼓励,共同前进,
    发表于 02-26 21:01