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

    文章

    5620

    浏览量

    130444
  • ECO
    ECO
    +关注

    关注

    0

    文章

    54

    浏览量

    15504
  • Vivado
    +关注

    关注

    19

    文章

    860

    浏览量

    71417

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何使用 Python 将 I2C LCD 与 VIsionFive 一起使用?

    我刚刚发布了篇关于将 I2C LCD 与 VisionFive 一起使用的新文章。你可以检查下。 注意:这是基于 libgpiod 库,我已经在使用这个库。您可
    发表于 03-30 06:52

    如何将 VisionFive 2 与业余无线电一起使用?

    将 VisionFive 2 与业余无线电一起使用
    发表于 03-25 07:01

    为什么不能将 USB 磁盘与 exFat 一起使用?

    不能将 USB 磁盘与 exFat 一起使用
    发表于 03-04 06:27

    阿里狗16.6,层叠表能打开,但是打开后内容缩在一起,调整间距之后,关闭在打开还是缩在一起,怎么处理呢

    阿里狗16.6,层叠表能打开,但是打开后内容缩在一起,调整间距之后,关闭在打开还是缩在一起,怎么处理呢 试过初始化窗口,重新破解,还有重新加载补丁,都不行
    发表于 02-13 11:01

    回望2025:与162万开发者一起,让AI硬件触手可及

    设备中。今天,我们想和大家一起回顾这年的成长,也分享我们对未来的期待。2025,我们跟开发者一起完成了1、开发者生态持续壮大截至四季度末,涂鸦平台累计注册开发者超
    的头像 发表于 02-12 18:59 401次阅读
    回望2025:与162万开发者<b class='flag-5'>一起</b>,让AI硬件触手可及

    通过vivado HLS设计个FIR低通滤波器

    Vivado HLS是款强大的高层次综合工具,可将C/C++代码转换为硬件描述语言(HDL),显著提升FPGA开发效率。
    的头像 发表于 01-20 16:19 552次阅读
    通过<b class='flag-5'>vivado</b> HLS设计<b class='flag-5'>一</b>个FIR低通滤波器

    奇捷科技EasyAI ECO Suite即将发布

    奇捷科技将于1月29日正式发布集成AI引擎的智能ECO解决方案包——EasyAI ECO Suite。在芯片设计关键的后期阶段,ECO可能成为决定产品上市速度与成败的“终极挑战”。面对复杂EC
    的头像 发表于 01-15 16:25 991次阅读

    AMD Vivado ChipScope助力硬件调试

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

    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 1971次阅读
    <b class='flag-5'>Vivado</b>无法选中开发板的常见原因及解决方法

    光纤能与电线一起走吗

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

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

    寻开发伙伴 一起搞细胞电阻仪,有兴趣的朋友来聊聊!
    发表于 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