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

    文章

    5589

    浏览量

    129057
  • ECO
    ECO
    +关注

    关注

    0

    文章

    54

    浏览量

    15400
  • Vivado
    +关注

    关注

    19

    文章

    846

    浏览量

    70471

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    AMD Vivado ChipScope助力硬件调试

    许多硬件问题只有在整个集成系统实时运行的过程中才会显现出来。AMD Vivado ChipScope 提供了套完整的调试流程,可在系统运行期间最大限度提升对可编程逻辑的观测能力,助力设计调试。
    的头像 发表于 09-05 17:08 908次阅读

    N9H20如何将 SPI 闪存与非作系统 BSP 一起使用?

    N9H20如何将 SPI 闪存与非作系统 BSP 一起使用?
    发表于 09-01 08:27

    N9H20如何将非作系统 NVTFAT 与 SPI 闪存一起使用?

    N9H20如何将非作系统 NVTFAT 与 SPI 闪存一起使用?
    发表于 09-01 06:38

    Vivado无法选中开发板的常见原因及解决方法

    对应的器件信息和约束文件(XDC),大大简化工程初始化流程。然而,在某些情况下,我们可能会发现 Vivado 的界面中无法选中目标开发板,导致只能手动选择器件。那么,遇到这种情况该如何处理呢?
    的头像 发表于 07-15 10:19 1389次阅读
    <b class='flag-5'>Vivado</b>无法选中开发板的常见原因及解决方法

    光纤能与电线一起走吗

    光纤与电线在特定条件下可以一起布线,但需严格遵守安全规范和物理隔离要求,以下是详细分析: 、光纤与电线的物理特性差异 光纤 传输介质:以光信号传输数据,不导电,因此不受电磁干扰(EMI
    的头像 发表于 07-14 10:40 4880次阅读

    寻开发伙伴 一起搞细胞电阻仪,有兴趣的朋友来聊聊!

    寻开发伙伴 一起搞细胞电阻仪,有兴趣的朋友来聊聊!
    发表于 07-10 15:51

    是否可以将客户端控件与CYW920706WCDEVAL一起使用?

    是否可以将客户端控件与CYW920706WCDEVAL一起使用? 我想用它来发现蓝牙 BR/EDR,然后将其与其他设备配对。 有客户端控制的下载链接或文档吗? 另外,你有 AIROC Connect 蓝牙应用程序的文档吗?
    发表于 07-04 07:50

    如何将FX3与WSL(Linux 的 Windows 子系统)一起使用?

    如何将 FX3 与 WSL(Linux 的 Windows 子系统)一起使用? 我在 /dev/ 中找不到任何设备 我有许多项目在 Windows 上使用VISUAL STUDIO项目进行操作,因此请验证该设备是否在 Windows 上运行。
    发表于 05-06 07:11

    Vivado HLS设计流程

    为了尽快把新产品推向市场,数字系统的设计者需要考虑如何加速设计开发的周期。设计加速主要可以从“设计的重用”和“抽象层级的提升”这两个方面来考虑。Xilinx 推出的 Vivado HLS 工具可以
    的头像 发表于 04-16 10:43 1348次阅读
    <b class='flag-5'>Vivado</b> HLS设计<b class='flag-5'>流程</b>

    屏蔽网线可以和电线一起

    屏蔽网线与电线不建议一起走线,原因主要有以下几点: 电磁干扰:电源线在传输电能时会产生电磁场,而屏蔽网线中的导线可能会受到这个电磁场的干扰。这种干扰可能导致屏蔽网线的信号质量下降、速度变慢,甚至无法
    的头像 发表于 03-07 10:47 1528次阅读

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

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

    ADS5404EVM 和TSW1400EVM一起使用就可以开发吗?

    ADS5404EVM 和TSW1400EVM一起使用就可以开发吗? 这个开发板一起使用的时候还需要购买其他互联电缆不? 开发套件中有没有包含信号和时钟的输入同轴电缆? 三个问题。
    发表于 12-30 08:30

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

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

    将UCC39002与3个PT4484模块一起使用

    电子发烧友网站提供《将UCC39002与3个PT4484模块一起使用.pdf》资料免费下载
    发表于 12-21 10:23 2次下载
    将UCC39002与3个PT4484模块<b class='flag-5'>一起</b>使用

    afe5803 SPI控制VCAT 8路每路单独控制还是只能一起控制?

    afe5803SPI控制VCAT 8路每路单独控制还是只能一起控制? 如何选择digital VCNTL mode,哪里可以找到digital Vcntl相关?
    发表于 12-20 07:04