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

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

    关注

    31

    文章

    5310

    浏览量

    119984
  • ECO
    ECO
    +关注

    关注

    0

    文章

    52

    浏览量

    14863
  • Vivado
    +关注

    关注

    19

    文章

    808

    浏览量

    66318

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

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

收藏 人收藏

    评论

    相关推荐

    请问tas5731m PBTL模式,单声道输出(AB连一起,CD连一起)如何实现左右声道的混音输出?

    请问tas5731m PBTL模式,单声道输出(AB连一起,CD连一起)如何实现左右声道的混音输出 还有开发软件里能直接拉线么
    发表于 10-17 06:23

    将TPS23753A与外部误差放大器一起使用

    电子发烧友网站提供《将TPS23753A与外部误差放大器一起使用.pdf》资料免费下载
    发表于 10-10 10:23 0次下载
    将TPS23753A与外部误差放大器<b class='flag-5'>一起</b>使用

    隔离电源的地能接在一起吗,隔离电源能不能直接共地使用

    不能接在一起。在使用隔离电源时,需要将隔离电源的输入和输出端的地线分别接在接地柱和接地线上,而不能将它们接在一起。实际上,如果将隔离电源两端的地线接在一起,会导致接地系统的干扰,降低系统的工作稳定性
    的头像 发表于 10-01 16:27 1364次阅读

    将5G信号链与电平转换结合在一起

    电子发烧友网站提供《将5G信号链与电平转换结合在一起.pdf》资料免费下载
    发表于 09-18 14:49 0次下载
    将5G信号链与电平转换结合在<b class='flag-5'>一起</b>

    模拟地和电源地能接在一起

    模拟地和电源地是否能接在一起,取决于电子系统的具体要求和设计。在电子系统中,地(Ground)是个共同的参考点,用于构建电位参考平面。电源地是所有电源网络的参考点,用于确保电源的稳定性和系统的正常工作。模拟地则与模拟电路相关,用于提供参考电位。
    的头像 发表于 09-15 11:43 877次阅读

    DAC8771RGZ电流输出端IOUT和电压输VOUT出端是连在一起的,是否可以不并在一起

    请教下DAC8771RGZ这款芯片,看官方demo板,电流输出端IOUT和电压输VOUT出端是连在一起的,是否可以不并在一起,分成两路,单独分别输出电流或电压吗?
    发表于 08-08 07:59

    普通门电路的输出端能否连在一起

    普通门电路的输出端能否连在一起,取决于具体的应用场景和需求。普通门电路的输出端能否连在一起个复杂的问题,涉及到数字电路设计、逻辑电路分析、信号完整性、电源管理等多个方面。 门电路的基本概念 在
    的头像 发表于 07-30 15:13 693次阅读

    可以将USB主机与Esp8266一起使用吗?

    我可以将 USB 主机(USB A 型母头)与 Esp8266 一起使用吗? 为什么我不能使用它
    发表于 07-19 06:49

    如何将atoi与esp8266 sdk一起使用?

    有谁知道如何将 atoi 与 esp8266 sdk 一起使用?我似乎找不到可以提供它的头文件。 I\'m using \"ESP8266_NONOS_SDK_V1.5.4_16_05_20\"
    发表于 07-09 07:59

    adc2和蓝牙一起使用会异常的原因?

    ESP32的ADC2的通道0(gpio4)与蓝牙一起使用时采集的ad值异常,而未开启蓝牙时ad值正常,请问adc2的通道0有使用限制还是怎么样? 蓝牙启动以后ad采集值直接满量程,而实际电压还是刚上电时采集的电压 蓝牙未启动时ad采集
    发表于 06-21 07:16

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

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

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

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

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

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

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

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

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

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