chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

基于Palladium解決方案實現(xiàn)硬件加速器的設計

電子設計 ? 來源:電子設計應用 ? 作者:霍曉方 ? 2020-09-28 09:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

目前,多媒體芯片的開發(fā)面臨著集成度高、產(chǎn)品上市時間緊迫、市場變化迅速等諸多挑戰(zhàn)。不同于傳統(tǒng)的ASIC,多媒體芯片通常是復雜的SoC,在芯片中除了核心的音視頻處理電路以外,一般都有MCU、DSPCPU來協(xié)助音視頻處理電路完成系統(tǒng)級的控制功能,或者由DSP、CPU完成某些音視頻算法。有的多媒體芯片內(nèi)部甚至集成了多個MCU、DSP或CPU內(nèi)核。另外,大部分多媒體芯片都需要與外部CPU協(xié)同工作,如PC攝像頭多媒體芯片需要和PC一起工作,移動終端多媒體芯片需要和基帶處理器一起工作。

中星微電子公司致力于多媒體芯片的開發(fā),并可提供完整的軟件和系統(tǒng)解決方案。根據(jù)功能的不同,軟件可分為驅(qū)動程序、固件和應用程序。對多媒體芯片進行系統(tǒng)級驗證要同時驗證驅(qū)動程序、固件等軟件部分?;贜C-SystemC,中星微開發(fā)出系統(tǒng)級的驗證平臺,該平臺用SystemC集成芯片的驅(qū)動程序和應用程序,用Perl來解析測試命令,用NC仿真器進行SystemC和Verilog的聯(lián)合仿真,較好地解決了軟硬件聯(lián)合仿真的問題,大大提高了驗證效率。但由于多媒體芯片規(guī)模比較大,依據(jù)一個系統(tǒng)級的仿真向量對芯片進行仿真時往往需要幾個小時,比如仿真一秒鐘的聲音需要7~10個小時,仿真一幅1.3M或3M的圖像需要1~2個小時。在驗證初期,系統(tǒng)的硬件和軟件都不穩(wěn)定,往往需要花費大量時間來驗證一個很小的問題,這嚴重影響了芯片的開發(fā)進度。在驗證后期,迫于流片時間的壓力,又沒有時間對芯片進行充分驗證。因此,工程師迫切需要一種新的驗證方法來加快仿真速度,這就是硬件加速器。

目前,EDA市場上有許多硬件加速器的解決方案,Cadence的Palladium是基于定制CPU的解決方案,其它都是基于FPGA的。本文采用Palladium作為硬件加速解決方案。

基于ARM的STB

STB的硬件結構

基于ARM的STB(可綜合測試平臺)的硬件結構如圖1所示。

基于Palladium解決方案實現(xiàn)硬件加速器的設計

傳統(tǒng)的硬件加速器大多工作在ICE(電路內(nèi)仿真)模式下,這種模式的測試激勵由外部硬件設備提供。但是,由于硬件加速器的工作速度有限,無法實現(xiàn)與外部高速設備的直接連接,因此,需要采用Cadence的速率適配器(Speedbridge)來進行速率轉(zhuǎn)換,這樣又會增加整個驗證系統(tǒng)的復雜程度。STB的基本思想是用可綜合的RTL來實現(xiàn)SoC驗證中用到的所有仿真模型。由于不同的SoC芯片對各個仿真模型的要求不完全相同,所以,仿真模型必須是可配置的。STB中利用ARM來配置各個仿真模型,并控制各個仿真模型對芯片進行操作,比如讀/寫芯片的寄存器、為芯片提供音視頻輸入數(shù)據(jù)等。同時,ARM也可以運行芯片的驅(qū)動程序和應用程序(實際上許多手機基帶處理器都是ARM內(nèi)核)。STB可以對中星微的所有多媒體芯片進行系統(tǒng)級的軟硬件聯(lián)合驗證,能夠降低驗證環(huán)境的復雜度,實現(xiàn)更靈活的配置,同時不會降低性能。

STB的ARM子系統(tǒng)

ARM子系統(tǒng)包括ARM內(nèi)核、多層AHB總線、連接到AHB總線上的SRAM控制器、SDRAM控制器、DMA控制器、外部異步接口CPU_BFM、AHB-APB接口電路,以及連接到APB總線上的中斷控制器、定時器等。

多層AHB總線可以連接8個AHB主設備和8個AHB從設備。不同的AHB主設備可以同時訪問不同的AHB從設備,從而提高了系統(tǒng)的數(shù)據(jù)吞吐能力。為了簡化設計,多層AHB總線不支持Burst、Split、Retry和Error傳輸。為了適應不同仿真模型的需求,多層AHB總線對AHB總線的傳輸類型沒有限制,支持SINGLE和所有INCR及WRAP傳輸類型。

DMA控制器協(xié)助ARM完成數(shù)據(jù)搬運工作。DMA控制器提供了4個硬件通道和4個軟件通道,每個通道可以獨立設置源地址、目的地址、傳輸長度和控制字。DMA控制器支持嵌套操作,即高優(yōu)先級的數(shù)據(jù)傳輸可以暫時打斷低優(yōu)先級的數(shù)據(jù)傳輸,高優(yōu)先級的數(shù)據(jù)傳輸結束后再繼續(xù)進行低優(yōu)先級的數(shù)據(jù)傳輸。為了提高數(shù)據(jù)傳輸?shù)乃俾什⒈M量減少對多層AHB總線的占用,DMA控制器使用了兩個AHB主設備:一個AHB主設備負責從源地址讀取數(shù)據(jù),然后把數(shù)據(jù)存人FIFO中;另一個AHB主設備則從FIFO中讀取數(shù)據(jù),并寫到目的地址中。

CPU_BFM模擬手機基帶處理器的異步接口,用來訪問其它異步接口。CPU_BFM是STB控制DUV的主要途徑,ARM通過CPU_BFM可以讀寫DUV的寄存器,DMA控制器可以通過CPU_BFM把需要解碼的音視頻數(shù)據(jù)快速寫到DUV中,或者把解碼后的數(shù)據(jù)讀入到STB中。ARM可以配置CPU_BFM的讀寫寬度,從而具有更大的靈活性。

AHB-APB接口電路提供了ARM控制大多數(shù)仿真模型的通路。ARM子系統(tǒng)中的中斷控制器和定時器都連接到APB總線上。

STB的其它仿真模型

除了ARM子系統(tǒng)外,STB還集成了其它仿真模型,如USB OTG、UTMI PHY、圖像傳感器、ADC、SCI、SPI、IIC、NOR閃存、NAND閃存、SD卡等。這些仿真模型都連接到APB總線上,ARM通過AHB-APB來配置和控制這些仿真模型。

STB的軟件架構

eCos(嵌入式可配置操作系統(tǒng))是一種針對16位、32位和64位處理器的可移植嵌入式實時操作系統(tǒng)。eCos的源代碼是公開的,其最大的特點是模塊化,內(nèi)核可配置。它的另一個優(yōu)點是使用多任務搶占機制,具有最小的中斷延遲,支持嵌入式系統(tǒng)所需的所有同步原語,并擁有靈活的調(diào)度策略和中斷處理機制,因而具有良好的實時性。

STB的軟件基于eCos構建,如圖2所示。HAL、eCos內(nèi)核、eCos內(nèi)核API、硬件驅(qū)動程序構成了eCos的基本架構。DUV驅(qū)動程序可以調(diào)用STB硬件驅(qū)動程序、eCos內(nèi)核API和HAL硬件抽象層。DUV應用程序調(diào)用DUV驅(qū)動程序和文件系統(tǒng)對DUV進行系統(tǒng)級驗證。如果對相對比較簡單的DUV進行驗證,可以不使用文件系統(tǒng)和eCos。

Palladium的使用流程

Palladium是基于定制CPU的硬件加速解決方案。和傳統(tǒng)的基于FPGA的硬件加速器相比,Palladium的編譯速度快、調(diào)試能力強,并支持多用戶。

Palladium支持SA(模擬加速)和ICE兩種模式,后者的運行速度更快,但要求測試平臺完全可綜合。本文選用ICE模式,其流程順序為模型替換、代碼綜合、編譯硬件、編譯軟件、運行和測試。

模型替換

由于ICE模式只能處理可綜合的RTL代碼,所以需要把測試平臺和DUV中所有不可綜合的仿真模型(如存儲器的仿真模型)都替換為可綜合的仿真模型,把所有不可綜合的語句如initial、PLI調(diào)用等放入∥synopsys translate_off/on語句塊中。Palladium可以支持Pullup和Pulldown。

代碼綜合

對驗證的測試平臺和DUV進行綜合,把RTL代碼轉(zhuǎn)化為門級網(wǎng)表。典型的綜合腳本如下:

綜合結束后可以檢查報告文件hdlIce.log,如果有錯誤提示,就需要修改RTL代碼并重新綜合;如果有警告提示,則需要確認是否有問題。

編譯硬件

對綜合后的門級網(wǎng)表進行編譯,把門級網(wǎng)表轉(zhuǎn)化為可以在Palladium上運行的數(shù)據(jù)庫。編譯過程分為如下步驟:輸入門級網(wǎng)表、設置設計、設置仿真器配置、設置時鐘、設置編譯、選項、預編譯、ICE準備、編譯。

編譯軟件

編譯STB中在ARM上運行的軟件,把編譯后的軟件代碼存為數(shù)據(jù)文件。同時準備其它的數(shù)據(jù)文件,如音視頻輸入數(shù)據(jù)等。

運行

在Palladium上運行編譯好的數(shù)據(jù)庫,運行過程分為如下步驟:下載設計的數(shù)據(jù)庫和各個存儲器的初始化文件、設置內(nèi)置邏輯分析儀的觸發(fā)條件、設置波形信息、復位芯片、運行芯片、上載存儲器內(nèi)容和仿真波形。

調(diào)試

檢查上載的存儲器內(nèi)容和仿真波形,如果不符合設計的要求,則查找相應原因。如果是測試平臺和DUV的錯誤,則需要修改相應的RTL代碼并重新進行綜合、編譯硬件和運行;如果是ARM軟件的錯誤,則需要修改ARM軟件、編譯軟件并運行。

Palladium的測試結果

對Palladium的使用可分為三個階段:第一階段主要測試Palladium的基本流程,重點是STB的硬件和基本軟件;第二階段用已經(jīng)流片的設計進行測試,測試重點是STB的軟件和Palladium的功能、運行性能以及測試能力;第三階段用Palladium對正待開發(fā)的芯片進行驗證。

Palladium可以正確仿真數(shù)字邏輯,并且能夠處理多時鐘和異步時鐘。Palladium的運行速度大約是200 kHz~500kHz,比RTL仿真快了100倍~500倍。

使用Palladium時的限制在于,Palladium只能做數(shù)字邏輯的功能驗證,不能做模擬電路的驗證,也不能驗證建立時間和保持時間等時序問題。為了達到更好的運行性能,需要對DUV中相關的時鐘電路進行優(yōu)化,所以該部分電路不能通過Palladium進行驗證。另外,由于替換了存儲器仿真模型和其它不可綜合的仿真模型,所以該部分也不能通過Palladium進行驗證。所有Palladium不能驗證的部分必須采用傳統(tǒng)的邏輯仿真器進行充分驗證。

可以看出,Palladium不可能取代傳統(tǒng)的邏輯仿真和FPGA原型驗證,Palladium只是這些驗證手段的補充。

結語

基于Cadence提供的Palladium硬件加速解決方案,本文構建了一個全新的驗證平臺。該平臺加速了多媒體的系統(tǒng)級驗證,使得工程師可以在流片之前對芯片進行更充分的軟硬件驗證。

責任編輯:gt

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

    關注

    462

    文章

    53565

    瀏覽量

    459373
  • 攝像頭
    +關注

    關注

    61

    文章

    5060

    瀏覽量

    102468
  • 多媒體
    +關注

    關注

    0

    文章

    516

    瀏覽量

    38417
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    MCU廠推多樣解決方案 DSP/FPU硬件加速芯片整合

    方面就可僅整合FPU、DSP硬件加速定位市場區(qū) 隔,在高階的微控制應用上,甚至有解決方案直接整合硬件繪圖引擎,直接看準工業(yè)用人機介面終端的應用需求,另針對如車用電子、IoT物聯(lián)網(wǎng)等不
    發(fā)表于 10-14 17:17

    無法導入硬件加速器

    嗨!我已經(jīng)創(chuàng)建了一個硬件加速器(在vhdl中)并且合成成功完成。但是,當我使用創(chuàng)建和導入外圍設備向?qū)r,它向我顯示我的包在庫中不可用,盡管它是。我能做什么 ???L'enfer,c'est l
    發(fā)表于 02-27 14:15

    H.264解碼中CABAC硬件加速器怎么實現(xiàn)

    H.264解碼中CABAC硬件加速器怎么實現(xiàn)?
    發(fā)表于 06-07 06:48

    問下ARM3的硬件加速器只能用verilog寫嗎?

    問下ARM3的硬件加速器只能用verilog寫嗎?
    發(fā)表于 09-30 10:45

    基于FPGA Nios-Ⅱ的矩陣運算硬件加速器設計

    針對復雜算法中矩陣運算量大, 計算復雜, 耗時多, 制約算法在線計算性能的問題, 從硬件實現(xiàn)角度, 研究基于FPGA/Nios-Ⅱ的矩陣運算硬件加速器設計, 實現(xiàn)矩陣并行計算。首先根據(jù)
    發(fā)表于 12-06 17:30 ?89次下載
    基于FPGA Nios-Ⅱ的矩陣運算<b class='flag-5'>硬件加速器</b>設計

    添加硬件加速器可以加快處理的正弦計算

    如果修改軟件不能實現(xiàn)所需速度,那么你可能順理成章的想到在你的設計中加入硬件加速模塊。 作 有很多種算法可對單精度浮點數(shù)字的正弦值進行計算,但添加硬件加速器是功能最為強大的方法之一。之所以得出這一結論
    發(fā)表于 11-24 18:38 ?2710次閱讀
    添加<b class='flag-5'>硬件加速器</b>可以加快處理<b class='flag-5'>器</b>的正弦計算

    利用硬件加速器提高處理的性能

    處理內(nèi)部集成的硬件加速器可以實現(xiàn)三種廣泛使用的信號處理操作:FIR(有限沖激響應)、IIR(無限沖激響應)和FFT(快速傅里葉變換)。硬件加速器減輕了核處理
    發(fā)表于 12-04 15:22 ?1735次閱讀

    基于Xilinx FPGA的Memcached硬件加速器的介紹

    本教程討論基于Xilinx FPGA的Memcached硬件加速器的技術細節(jié),該硬件加速器可為10G以太網(wǎng)端口提供線速Memcached服務。
    的頭像 發(fā)表于 11-27 06:41 ?4214次閱讀

    毫米波傳感1443硬件加速器的簡單介紹

    2.6 mmWave波形傳感簡介1443硬件加速器
    的頭像 發(fā)表于 05-08 06:20 ?4057次閱讀
    毫米波傳感<b class='flag-5'>器</b>1443<b class='flag-5'>硬件加速器</b>的簡單介紹

    硬件加速器提升下一代SHARC處理的性能

    硬件加速器提升下一代SHARC處理的性能
    發(fā)表于 04-23 13:06 ?6次下載
    <b class='flag-5'>硬件加速器</b>提升下一代SHARC處理<b class='flag-5'>器</b>的性能

    OpenHarmony Dev-Board-SIG專場:OpenHarmony 新硬件加速器

    OpenHarmony Dev-Board-SIG專場:OpenHarmony 新硬件加速器
    的頭像 發(fā)表于 12-28 15:12 ?1701次閱讀
    OpenHarmony Dev-Board-SIG專場:OpenHarmony 新<b class='flag-5'>硬件加速器</b>

    用于 AI 應用的硬件加速器設計師指南

    當 AI 設計人員將硬件加速器整合到用于訓練和推理應用的定制芯片中時,應考慮以下四個因素
    發(fā)表于 08-19 11:35 ?2279次閱讀
    用于 AI 應用的<b class='flag-5'>硬件加速器</b>設計師指南

    借助硬件加速器開發(fā)您的設計

    借助硬件加速器開發(fā)您的設計
    的頭像 發(fā)表于 01-03 09:45 ?1409次閱讀

    Alveo卡的區(qū)塊鏈硬件加速器解決方案

    電子發(fā)燒友網(wǎng)站提供《Alveo卡的區(qū)塊鏈硬件加速器解決方案.pdf》資料免費下載
    發(fā)表于 09-15 14:42 ?0次下載
    Alveo卡的區(qū)塊鏈<b class='flag-5'>硬件加速器</b><b class='flag-5'>解決方案</b>

    適用于數(shù)據(jù)中心應用中的硬件加速器的直流/直流轉(zhuǎn)換解決方案

    電子發(fā)燒友網(wǎng)站提供《適用于數(shù)據(jù)中心應用中的硬件加速器的直流/直流轉(zhuǎn)換解決方案.pdf》資料免費下載
    發(fā)表于 08-26 09:38 ?0次下載
    適用于數(shù)據(jù)中心應用中的<b class='flag-5'>硬件加速器</b>的直流/直流轉(zhuǎn)換<b class='flag-5'>器</b><b class='flag-5'>解決方案</b>