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

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

3天内不再提示

深度解读Abstract Shell流程

OpenFPGA 来源:TeacherGaoFPGAHub 作者: TeacherGJ 2021-09-01 09:36 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

为便于说明,这里我们给出一个应用案例。DFX设计中有两个RP:count和shift。每个RP下分别有两个RM,即count下有count_down和count_up两个RM,shift下有shift_left和shift_right两个RM,如下图所示。

7935e9b8-fd3c-11eb-9bcf-12bb97331649.png

标准的DFX流程会形成两个configuration,如下图所示。config_1为static + count_up +shift_right,config_2为static +count_down + shift_left。在此基础上形成两个Design Runs,其中parent run为impl_1,child run为child_0_impl_1,如下图所示。

7955ae4c-fd3c-11eb-9bcf-12bb97331649.png

79a348a0-fd3c-11eb-9bcf-12bb97331649.png

执行impl_1,直至生成布线后的.dcp文件,共4个。top_routed.dcp:整个设计布线后的.dcp文件(static + count_up + shift_right)top_routed_bb.dcp:静态区布线后的.dcp文件(static + count_blacbox + shift_blackbox)此时,静态区布局布线信息被锁定,每个RP被当作黑盒子。u_count_count_up_routed.dcp:RM count_up布线后的.dcpu_shift_shift_right_routed.dcp:RM shift_right布线后的.dcp

Abstract Shell流程和标准的DFX流程至此操作是相同的。接下来Abstract Shell流程就需要对每个RP生成相应的Abstract Shell。此时需要用到的文件是top_routed.dcp。打开该文件执行命令write_abstract_shell,如下图所示。

以图中第19行代码为例,write_abstract_shell会首先通过命令update_design -blackbox将RP count的RM换为黑盒子,之后锁定相关静态区与之的接口信息以及RP count的位置信息,并生成相应的.dcp文件即ab_sh_count.dcp。这个过程中还会执行pr_verify命令(这些命令都被包含在wrtie_abstract_shell中,不需要单独执行)。

79ea4d4a-fd3c-11eb-9bcf-12bb97331649.png

打开ab_sh_count.dcp,可以看到Netlist窗口下显示的信息除了静态区部分cell之外就是RP count对应的黑盒子u_count,同时左侧Physical Constraints窗口表明RP count的位置信息已经被锁定。

同样地,也要生成另外一个RP即RP shift对应的Abstract Shell文件:ab_sh_shift.dcp。接下来分别用这两个AbstractShell文件生成各自RP下新的RM对应的.dcp文件。例如,对于RP count,添加ab_sh_count.dcp,添加count_down综合后的.dcp文件count.dcp,执行布局布线,生成相应的.dcp,相关命令如下图所示。

同样地,需要生成RP shift下新的RM对应的.dcp。由于这两个操作只需要各自对应的Abstract Shell,故相互独立互不干扰,从而可并行执行,缩短编译时间。

7a373632-fd3c-11eb-9bcf-12bb97331649.png

7a805664-fd3c-11eb-9bcf-12bb97331649.png

最后,生成相应的Partial Bitstream文件。比较简单的方法是直接利用Abstract Shell方式生成的.dcp文件生成对应的Bitstream。例如:利用abstract_shell_count_down_routed.dcp可生成count_down对应的Bitstream文件。

7ab2383c-fd3c-11eb-9bcf-12bb97331649.png

对比标准DFX设计流程和AbstractShell流程如下图所示。

7b8571e8-fd3c-11eb-9bcf-12bb97331649.png

编辑:jq

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

    关注

    0

    文章

    14

    浏览量

    36646
  • DCP
    DCP
    +关注

    关注

    0

    文章

    30

    浏览量

    17811
  • DFx
    DFx
    +关注

    关注

    0

    文章

    36

    浏览量

    11055

原文标题:Abstract Shell流程分析(2)

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Air8000-LuatOS exvib扩展库实操指南:全流程技术细节深度解读

    掌握exvib扩展库的使用,是提升Air8000-LuatOS项目开发效率的关键。本文以全流程实操为核心,深度解读技术细节,涵盖初始化、数据采集、异常处理等环节,为开发者提供权威参考。 一
    的头像 发表于 11-01 20:09 111次阅读
    Air8000-LuatOS exvib扩展库实操指南:全<b class='flag-5'>流程</b>技术细节<b class='flag-5'>深度</b><b class='flag-5'>解读</b>

    shell基本介绍及常用命令之shell基本介绍

    Shell是什么?我们在刚开始接触Linux的时候,经常会听到工程师提到Shell这个词,刚开始不知道这是个干什么的,简单的说,它是一个应用,接收用户命令,调用相应的内核接口函数或应用程序,并输出
    发表于 09-28 09:05

    RK3128 Android 7.1 进入深度休眠流程分析

    RK3128 Android 7.1 进入深度休眠流程分析RK3128是瑞芯微电子推出的一款低功耗四核Cortex-A7处理器,运行Android 7.1系统时进入深度休眠(Deep Sleep
    发表于 07-22 10:45

    RK3568 EVB开发板 深度休眠与快速醒的工作流程

    RK3568 EVB开发板关于深度休眠和唤醒流程的分析
    的头像 发表于 07-22 09:49 609次阅读
    RK3568 EVB开发板 <b class='flag-5'>深度</b>休眠与快速醒的工作<b class='flag-5'>流程</b>

    直播 | GB/T 45086与ISO11451标准深度解读研讨会笔记请查收!

    6月12日,《德思特GB/T 45086与ISO11451标准深度解读》线上研讨会圆满结束。感谢大家的观看与支持!在直播间收到一些观众的技术问题,我们汇总了热点问题并请讲师详细解答,在此整理分享给大家,请查收!
    的头像 发表于 06-18 11:06 826次阅读
    直播 | GB/T 45086与ISO11451标准<b class='flag-5'>深度</b><b class='flag-5'>解读</b>研讨会笔记请查收!

    瑞萨365 深度解读

    技术架构、核心功能、行业影响及未来展望四个维度进行深度解读: 一、技术架构:融合硬件与设计软件的跨领域协作平台 瑞萨365基于Altium 365云平台构建,整合了瑞萨的半导体产品组合与Altium的设计工具链,形成从芯片选型到系统部署的全
    的头像 发表于 06-06 09:58 1815次阅读
    瑞萨365 <b class='flag-5'>深度</b><b class='flag-5'>解读</b>

    苹果A20芯片的深度解读

    以下是基于最新行业爆料对苹果A20芯片的深度解读,综合技术革新、性能提升及行业影响三大维度分析: 一、核心技术创新 ​ ​ 制程工艺突破 ​ ​ 全球首款2nm芯片 ​:采用台积电N2(第一代2纳米
    的头像 发表于 06-06 09:32 2630次阅读

    Shell脚本入门指南

    Shell 是一块包裹着系统核心的壳,处于操作系统的最外层,与用户直接对话,把用户的输入, 解释给操作系统,然后处理操作系统的输出结果,输出到屏幕给与用户看到结果。
    的头像 发表于 06-03 10:47 994次阅读
    <b class='flag-5'>Shell</b>脚本入门指南

    ARM Mali GPU 深度解读

    ARM Mali GPU 深度解读 ARM Mali 是 Arm 公司面向移动设备、嵌入式系统和基础设施市场设计的图形处理器(GPU)IP 核,凭借其异构计算架构、能效优化和生态协同,成为全球移动
    的头像 发表于 05-29 10:12 3008次阅读

    Arm 公司面向 PC 市场的 ​Arm Niva​ 深度解读

    面向 PC 市场的 ​ Arm Niva ​ 深度解读 ​ Arm Niva ​ 是 Arm 公司为 PC 市场推出的核心计算平台,属于其“平台优先”战略的关键布局。作为 ​ Arm 计算
    的头像 发表于 05-29 09:56 1304次阅读

    Arm 公司面向移动端市场的 ​Arm Lumex​ 深度解读

    面向移动端市场的 ​ Arm Lumex ​ 深度解读 ​ Arm Lumex ​ 是 Arm 公司面向移动设备市场推出的新一代计算平台,隶属于其“平台优先”战略的核心布局。作为 ​ Arm 计算
    的头像 发表于 05-29 09:54 4055次阅读

    PCB表面处理丨沉锡工艺深度解读

    工艺相关的知识点与其设计要点,同时配以部分图片供大家学习了解。如有相关问题或补充,欢迎大家在评论区留言交流哦~ 沉锡工艺能力 沉锡的特殊工艺流程 沉锡 沉锡+金手指(有引线) 金手指阻焊开窗与最近焊
    发表于 05-28 10:57

    英伟达Cosmos-Reason1 模型深度解读

    。以下从技术架构、训练策略、核心能力及行业影响四方面展开深度解读: Cosmos-Reason 1:从物理 AI 常识到具体决策 物理 AI 系统需要感知、理解和执行物理世界中的复杂作。在本文中,我们提出了 Cosmos-Reason1 模型,该模型可以理解物理世界并通过
    的头像 发表于 03-29 23:29 2616次阅读

    树莓派新手必看!在树莓派上编写和运行 Shell 脚本!

    在本教程中,我将讨论Shell脚本的基础知识、它们的用途以及如何在RaspberryPi上编写和运行Shell脚本。什么是Shell脚本?Shell脚本可以让你自动化几乎所有在Linu
    的头像 发表于 03-25 09:28 890次阅读
    树莓派新手必看!在树莓派上编写和运行 <b class='flag-5'>Shell</b> 脚本!

    深度解读 30KPA64A 单向 TVS:64V 击穿机制与高效防护策略

    深度解读 30KPA64A 单向 TVS:64V 击穿机制与高效防护策略
    的头像 发表于 02-24 13:52 612次阅读
    <b class='flag-5'>深度</b><b class='flag-5'>解读</b> 30KPA64A 单向 TVS:64V 击穿机制与高效防护策略