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

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

3天内不再提示

用Elaborated Design优化RTL的代码

FPGA威廉希尔官方网站 驿站 来源:CSDN威廉希尔官方网站 社区 作者:CSDN威廉希尔官方网站 社区 2020-10-21 10:56 次阅读

在Vivado FlowNavigator中有一个Elaborated Design,如下图所示,属于RTL Analysis这一步对应的设计。可能很多工程师都没有使用到,而实际上对于代码优化,它是很有帮助的。

通常情况下,我们总是习惯了打开综合后的设计,执行诸如

report_timing

report_timing_summary

report_design_analysis

等命令分析时序,却忽视了RTL代码层面的优化。通过这些命令找到关键路径之后,一个重要的步骤是检查这些路径上的逻辑单元是否很好地映射到FPGA器件中。如果没有,就要尝试通过修改RTL代码、使用综合属性(Synthesis Attribute)、设置综合选项、使用BlockLevel综合威廉希尔官方网站 或者使用不同的综合策略优化RTL代码,使得在综合之后时序能够达到一个较好的结果。这对于逻辑级数较高的路径尤为重要。因为高逻辑级数的路径会对后期布局布线带来很大的压力,同时成为设计整体性能提升的瓶颈,更明显的是改善高逻辑级数路径的常用且有效的方法是插入流水寄存器以降低逻辑级数,这一工作在设计初期完成最为快捷,越是在设计后期越难以做这一工作。

在Vivado Project模式下,同时打开Synthesized Design和ElaboratedDesign。在Synthesized Design下对设计进行分析,找到设计的关键路径,生成相应的时序报告,如下图所示。选中图中的时序路径,按下F4,会生成该路径对应的Schematic视图,同时还可以看到路径上的逻辑单元(cell)和单元之间的连线(net)都已被选中。此时切换到Elaborated Design,按下F4,可看到这条路径在Elaborated Design下的Schematic视图。这时候就可以检查这条路径的RTL逻辑单元,尤其是注意执行了哪些操作、数据位宽是否合理。


责任编辑人:CC

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

    关注

    1

    文章

    382

    浏览量

    59340
  • design
    +关注

    关注

    0

    文章

    152

    浏览量

    45589

原文标题:借助Elaborated Design优化RTL代码

文章出处:【微信号:Lauren_FPGA,微信公众号:FPGA威廉希尔官方网站 驿站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何在不改变RTL代码的情况下,优化FPGA HLS设计

    软件从 C 转化来的 RTL 代码其实并不好理解。今天我们就来谈谈,如何在不改变 RTL 代码的情况下,提升设计性能。 本项目所需应用与工
    的头像 发表于 12-20 11:46 1581次阅读
    如何在不改变<b class='flag-5'>RTL</b><b class='flag-5'>代码</b>的情况下,<b class='flag-5'>优化</b>FPGA HLS设计

    RTL级设计的基本要素和步骤是什么

      综合(Logic Synthesize)是指将HDL语言、原理图等设计输入翻译成由与、或、非门等基本逻辑单元组成的门级连接(网表),并根据设计目标与要求(约束条件)优化所生成的逻辑连接,输出门级网表文件。RTL级综合指将RTL
    的头像 发表于 01-17 16:57 1w次阅读
    <b class='flag-5'>RTL</b>级设计的基本要素和步骤是什么

    从可综合的RTL代码的角度聊聊interface

    SystemVerilog引入了interface,这里我们从可综合的RTL代码的角度聊聊interface。
    的头像 发表于 10-12 09:06 1188次阅读
    从可综合的<b class='flag-5'>RTL</b><b class='flag-5'>代码</b>的角度聊聊interface

    优化FPGA HLS设计

    用工具 C 生成 RTL代码基本不可读。以下是如何在不更改任何 RTL 的情况下提高设计性能。
    的头像 发表于 10-30 11:41 495次阅读
    <b class='flag-5'>优化</b>FPGA HLS设计

    如何优化FPGA HLS设计呢?

    用工具 C 生成 RTL代码基本不可读。以下是如何在不更改任何 RTL 的情况下提高设计性能。
    的头像 发表于 10-30 14:34 785次阅读
    如何<b class='flag-5'>优化</b>FPGA HLS设计呢?

    RTL代码和仿真代码的区别

    RTL代码和仿真代码的区别,哪些verilog语句是可综合的??哪些不能??
    发表于 07-21 13:08

    怎么利用Synphony HLS为ASIC和FPGA架构生成最优化RTL代码

    相比,能够为通信和多媒体应用提供高达10倍速的更高的设计和验证能力。Synphony HLS为ASIC 和 FPGA的应用、架构和快速原型生成最优化RTL。Synphony HLS解决方案架构图
    发表于 08-13 08:21

    来自vivado hls的RTL可以由Design Compiler进行综合吗?

    您好我有一个关于vivado hls的问题。RTL是否来自xivix FPGA的vivado hls onyl?我们可以在Design Compiler上使用它进行综合吗?谢谢
    发表于 04-13 09:12

    怎么解决Conformal做RTL和netlist的形式验证时综合优化的电路也会报不相等?

    Conformal做RTL和netlist的形式验证,对比结果有很多报不等的是DC综合被优化掉的,conformal没有识别出来这种优化,请问需要设置什么可以解决这个问题?
    发表于 08-09 17:31

    设计复用的RTL指导原则

    设计可复用的基本要求是RTL 代码可移植。通常的软件工程指导原则在RTL 编码时也适用。类似软件开发,基本的编码指导原则要求RTL 代码简单
    发表于 12-24 00:46 32次下载

    RTL功耗优化

    在我们针对 PC 图形、视觉计算和应用处理器的高性能、低功耗设计方法中,RTL 功耗优化是非常关键的一步。NVIDIA Corporation 硬件工程部总监 Dan Smith 讲道
    发表于 09-11 11:40 9次下载
    <b class='flag-5'>RTL</b>功耗<b class='flag-5'>优化</b>

    Vivado中的Elaborate是做什么的?

    在Vivado的界面中,有个RTL ANALYSIS->Open Elaborated Design的选项,可能很多工程师都没有使用过。因为大家基本都是从Run Synthesis开始的。
    的头像 发表于 10-24 10:05 1167次阅读

    简述Vivado中的Elaborate的作用

    在Vivado的界面中,有个RTL ANALYSIS->Open Elaborated Design的选项,可能很多工程师都没有使用过。因为大家基本都是从Run Synthesis开始的。
    的头像 发表于 05-05 16:00 1020次阅读
    简述Vivado中的Elaborate的作用

    Cadence 推出 Joules RTL Design Studio,将 RTL 生产力和结果质量提升到新的高度

    和 Cadence JedAI Platform 集成,实现 AI 驱动的 RTL 优化 中国上海,2023 年 7 月 17 日 —— 楷登电子(美国 Cadence 公司, NASDAQ:CDNS )近日宣布
    的头像 发表于 07-17 10:10 684次阅读
    Cadence 推出 Joules <b class='flag-5'>RTL</b> <b class='flag-5'>Design</b> Studio,将 <b class='flag-5'>RTL</b> 生产力和结果质量提升到新的高度

    JK触发器与T触发器的Verilog代码实现和RTL电路实现

    JK 触发器的 Verilog 代码实现和 RTL 电路实现
    的头像 发表于 10-09 17:29 3524次阅读
    JK触发器与T触发器的Verilog<b class='flag-5'>代码</b>实现和<b class='flag-5'>RTL</b>电路实现