0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

深度解讀Abstract Shell流程

OpenFPGA ? 來(lái)源:TeacherGaoFPGAHub ? 作者: TeacherGJ ? 2021-09-01 09:36 ? 次閱讀

為便于說(shuō)明,這里我們給出一個(gè)應(yīng)用案例。DFX設(shè)計(jì)中有兩個(gè)RP:count和shift。每個(gè)RP下分別有兩個(gè)RM,即count下有count_down和count_up兩個(gè)RM,shift下有shift_left和shift_right兩個(gè)RM,如下圖所示。

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

標(biāo)準(zhǔn)的DFX流程會(huì)形成兩個(gè)configuration,如下圖所示。config_1為static + count_up +shift_right,config_2為static +count_down + shift_left。在此基礎(chǔ)上形成兩個(gè)Design Runs,其中parent run為impl_1,child run為child_0_impl_1,如下圖所示。

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

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

執(zhí)行impl_1,直至生成布線后的.dcp文件,共4個(gè)。top_routed.dcp:整個(gè)設(shè)計(jì)布線后的.dcp文件(static + count_up + shift_right)top_routed_bb.dcp:靜態(tài)區(qū)布線后的.dcp文件(static + count_blacbox + shift_blackbox)此時(shí),靜態(tài)區(qū)布局布線信息被鎖定,每個(gè)RP被當(dāng)作黑盒子。u_count_count_up_routed.dcp:RM count_up布線后的.dcpu_shift_shift_right_routed.dcp:RM shift_right布線后的.dcp

Abstract Shell流程和標(biāo)準(zhǔn)的DFX流程至此操作是相同的。接下來(lái)Abstract Shell流程就需要對(duì)每個(gè)RP生成相應(yīng)的Abstract Shell。此時(shí)需要用到的文件是top_routed.dcp。打開該文件執(zhí)行命令write_abstract_shell,如下圖所示。

以圖中第19行代碼為例,write_abstract_shell會(huì)首先通過(guò)命令update_design -blackbox將RP count的RM換為黑盒子,之后鎖定相關(guān)靜態(tài)區(qū)與之的接口信息以及RP count的位置信息,并生成相應(yīng)的.dcp文件即ab_sh_count.dcp。這個(gè)過(guò)程中還會(huì)執(zhí)行pr_verify命令(這些命令都被包含在wrtie_abstract_shell中,不需要單獨(dú)執(zhí)行)。

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

打開ab_sh_count.dcp,可以看到Netlist窗口下顯示的信息除了靜態(tài)區(qū)部分cell之外就是RP count對(duì)應(yīng)的黑盒子u_count,同時(shí)左側(cè)Physical Constraints窗口表明RP count的位置信息已經(jīng)被鎖定。

同樣地,也要生成另外一個(gè)RP即RP shift對(duì)應(yīng)的Abstract Shell文件:ab_sh_shift.dcp。接下來(lái)分別用這兩個(gè)AbstractShell文件生成各自RP下新的RM對(duì)應(yīng)的.dcp文件。例如,對(duì)于RP count,添加ab_sh_count.dcp,添加count_down綜合后的.dcp文件count.dcp,執(zhí)行布局布線,生成相應(yīng)的.dcp,相關(guān)命令如下圖所示。

同樣地,需要生成RP shift下新的RM對(duì)應(yīng)的.dcp。由于這兩個(gè)操作只需要各自對(duì)應(yīng)的Abstract Shell,故相互獨(dú)立互不干擾,從而可并行執(zhí)行,縮短編譯時(shí)間。

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

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

最后,生成相應(yīng)的Partial Bitstream文件。比較簡(jiǎn)單的方法是直接利用Abstract Shell方式生成的.dcp文件生成對(duì)應(yīng)的Bitstream。例如:利用abstract_shell_count_down_routed.dcp可生成count_down對(duì)應(yīng)的Bitstream文件。

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

對(duì)比標(biāo)準(zhǔn)DFX設(shè)計(jì)流程和AbstractShell流程如下圖所示。

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

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • RM
    RM
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    36385
  • DCP
    DCP
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    17196
  • DFx
    DFx
    +關(guān)注

    關(guān)注

    0

    文章

    35

    瀏覽量

    10512

原文標(biāo)題:Abstract Shell流程分析(2)

文章出處:【微信號(hào):Open_FPGA,微信公眾號(hào):OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Linux系統(tǒng)中shell命令解析

    shell是Linux系統(tǒng)的用戶界面,提供了用戶與內(nèi)核交互的一種接口,它接收用戶輸入的命令并到送到內(nèi)核去執(zhí)行,因此也被稱為L(zhǎng)inux的命令解釋器。
    的頭像 發(fā)表于 11-05 15:40 ?101次閱讀

    TCSH shell 編程入門

    ICer從業(yè)人員最先需要掌握的語(yǔ)言,就是linux shell語(yǔ)言。TCSH是ICer使用最多的Shell語(yǔ)言,可以說(shuō)ICer入門語(yǔ)言從TCSH開始。
    發(fā)表于 11-01 10:45 ?0次下載

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-shell腳本編寫之流程控制

    1、條件語(yǔ)句shell語(yǔ)句的流程控制與C語(yǔ)言不一樣,流程控制中不能為空。shell中if語(yǔ)法如下,其中confition表示條件判斷式,command為程序段落。if else語(yǔ)法
    發(fā)表于 09-05 09:06

    飛凌嵌入式ElfBoard ELF 1板卡-shell腳本編寫之流程控制

    1、條件語(yǔ)句 shell語(yǔ)句的流程控制與C語(yǔ)言不一樣,流程控制中不能為空。 shell中if語(yǔ)法如下,其中confition表示條件判斷式,command為程序段落。 if else
    發(fā)表于 09-04 10:12

    shell腳本執(zhí)行的三種方式及區(qū)別

    在Linux系統(tǒng)中,Shell腳本是一種非常實(shí)用的工具,用于自動(dòng)化執(zhí)行一系列命令。Shell腳本可以大大提高工作效率,簡(jiǎn)化復(fù)雜的任務(wù)。在這篇文章中,我們將介紹Shell腳本執(zhí)行的三種方式及其區(qū)別
    的頭像 發(fā)表于 08-30 15:24 ?640次閱讀

    shell具有的功能和特點(diǎn)

    Shell 是一個(gè)命令行解釋器,用于與操作系統(tǒng)進(jìn)行交互。它提供了一種方便的方式來(lái)執(zhí)行命令、管理文件和目錄、運(yùn)行程序等。以下是 Shell 的功能和特點(diǎn)的介紹: 命令執(zhí)行 Shell 最基本的功能
    的頭像 發(fā)表于 08-30 14:48 ?314次閱讀

    嵌入式學(xué)習(xí)-shell介紹

    一、Shell是什么?我們?cè)趧傞_始接觸Linux的時(shí)候,經(jīng)常會(huì)聽到工程師提到Shell這個(gè)詞,剛開始不知道這是個(gè)干什么的,簡(jiǎn)單的說(shuō),它是一個(gè)應(yīng)用,接收用戶命令,調(diào)用相應(yīng)的內(nèi)核接口函數(shù)或應(yīng)用程序,并
    發(fā)表于 08-16 09:13

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

    一、Shell是什么?我們?cè)趧傞_始接觸Linux的時(shí)候,經(jīng)常會(huì)聽到工程師提到Shell這個(gè)詞,剛開始不知道這是個(gè)干什么的,簡(jiǎn)單的說(shuō),它是一個(gè)應(yīng)用,接收用戶命令,調(diào)用相應(yīng)的內(nèi)核接口函數(shù)或應(yīng)用程序,并
    發(fā)表于 08-15 09:28

    深度解讀 VCXO VG7050CDN:可變晶體振蕩器的卓越之選

    深度解讀 VCXO VG7050CDN:可變晶體振蕩器的卓越之選
    的頭像 發(fā)表于 07-24 10:58 ?312次閱讀

    工商業(yè)儲(chǔ)能技術(shù)規(guī)范及并網(wǎng)流程解讀

    工商業(yè)儲(chǔ)能技術(shù)規(guī)范及并網(wǎng)流程解讀-古瑞瓦特 本文主要根據(jù)“浙江省用戶側(cè)電化學(xué)儲(chǔ)能技術(shù)導(dǎo)則(征求意見稿)”及“《國(guó)網(wǎng)浙江省電力有限公司用戶側(cè)儲(chǔ)能系統(tǒng)并網(wǎng)服務(wù)管理細(xì)則(暫行)》”,摘錄部分主要內(nèi)容并針對(duì)
    的頭像 發(fā)表于 01-23 11:55 ?826次閱讀
    工商業(yè)儲(chǔ)能技術(shù)規(guī)范及并網(wǎng)<b class='flag-5'>流程</b><b class='flag-5'>解讀</b>

    Shell腳本檢查工具ShellCheck介紹

    ShellCheck是一個(gè)用于bash/sh shell腳本的靜態(tài)分析工具,可以輔助檢查腳本語(yǔ)法錯(cuò)誤,給出建議增強(qiáng)腳本健壯性。
    的頭像 發(fā)表于 12-27 13:43 ?1966次閱讀
    <b class='flag-5'>Shell</b>腳本檢查工具ShellCheck介紹

    100個(gè)Linux Shell腳本總結(jié)

    不知道大家有沒(méi)有發(fā)現(xiàn),會(huì)編寫shell腳本的運(yùn)維,工資不會(huì)低,并且他的工作會(huì)很輕松!今天浩道跟大家分享每一個(gè)Linux運(yùn)維應(yīng)知必會(huì)的100個(gè)shell腳本,雖然你工作中可能用不上,但是卻不能
    的頭像 發(fā)表于 12-05 09:28 ?1164次閱讀

    python shell怎么用

    Python Shell是一種交互式解釋器,可以通過(guò)命令行直接運(yùn)行Python代碼。在Shell中,可以輸入一行代碼并立即得到結(jié)果,非常適合于測(cè)試、嘗試新代碼或進(jìn)行簡(jiǎn)單的任務(wù)。本文將詳細(xì)介紹
    的頭像 發(fā)表于 11-29 14:36 ?1065次閱讀

    Fish Shell采用Rust重寫會(huì)導(dǎo)致性能下降

    fish 是適用于 Linux、macOS 的命令行 Shell,其名字取于 "the friendly interactive shell" 的簡(jiǎn)稱,最大特點(diǎn)就是方便易用、功能強(qiáng)大、智能并且用戶友好。很多其他 Shell 需要
    的頭像 發(fā)表于 11-28 11:23 ?410次閱讀
    Fish <b class='flag-5'>Shell</b>采用Rust重寫會(huì)導(dǎo)致性能下降

    Shell基本介紹及目錄常用命令

    01、Shell是什么?我們?cè)趧傞_始接觸Linux的時(shí)候,經(jīng)常會(huì)聽到工程師提到Shell這個(gè)詞,那么Shell到底是什么呢?簡(jiǎn)單的說(shuō),它是一個(gè)應(yīng)用,接收用戶命令,調(diào)用相應(yīng)的內(nèi)核接口函數(shù)或應(yīng)用程序,并
    的頭像 發(fā)表于 11-15 13:06 ?463次閱讀
    <b class='flag-5'>Shell</b>基本介紹及目錄常用命令