《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 解決方案 > 萊迪思Propel幫助設(shè)計(jì)人員快速創(chuàng)建基于處理器的系統(tǒng)

萊迪思Propel幫助設(shè)計(jì)人員快速創(chuàng)建基于處理器的系統(tǒng)

2021-03-19
來源:萊迪思半導(dǎo)體

幾乎所有的電子設(shè)計(jì)師和嵌入式系統(tǒng)開發(fā)人員都聽過現(xiàn)場(chǎng)可編程門陣列(FPGA),。對(duì)于實(shí)際的FPGA器件,,設(shè)計(jì)人員和開發(fā)人員都知道它擁有可編程架構(gòu),,能夠?qū)ζ溥M(jìn)行配置來而執(zhí)行想要的功能,,但他們的了解可能僅限于此。同樣,,當(dāng)涉及創(chuàng)建一個(gè)可以在FPGA上實(shí)現(xiàn)的設(shè)計(jì)時(shí),,他們可能聽過硬件描述語(yǔ)言(HDL)和寄存器轉(zhuǎn)換級(jí)電路(RTL)之類的術(shù)語(yǔ),但可能并未充分理解它們的含義,。

與Verilog或VHDL相似,,HDL能讓FPGA設(shè)計(jì)人員描述設(shè)計(jì)意圖,正如軟件開發(fā)人員使用C或者C++等編程語(yǔ)言一樣,。理解HDL的方式之一就是它可以用來描述同時(shí)發(fā)生的事物,,這也是現(xiàn)實(shí)世界中硬件工作的方式。相比之下,,軟件編程語(yǔ)言通常用于描述順序發(fā)生的事,。

同時(shí),RTL是常用于邏輯綜合引擎輸入的抽象級(jí)電路,。該工具將RTL轉(zhuǎn)換到邏輯元件和互連網(wǎng)絡(luò),,然后在FPGA的可編程邏輯內(nèi)實(shí)現(xiàn)。邏輯綜合引擎可以比作軟件開發(fā)者的編譯器,,后者采用高級(jí)程序作為輸入,,并將其轉(zhuǎn)換為由處理器執(zhí)行的機(jī)器代碼。

FPGA的可編程結(jié)構(gòu)可用于構(gòu)建硬件加速器,,以低功耗執(zhí)行數(shù)據(jù)處理任務(wù),。可編程結(jié)構(gòu)經(jīng)過配置后可創(chuàng)建一個(gè)或多個(gè)更適合處理決策任務(wù)的軟核處理器,這些處理器還可以控制硬件加速器,,包括向其提供數(shù)據(jù)并根據(jù)結(jié)果采取相應(yīng)措施,。

RISC-V就是這樣一種處理器,它是一種開源指令集架構(gòu)(ISA),,可以通過開源許可免費(fèi)獲得,。RISC-V開源硬件概念的創(chuàng)造者受到Linux開源軟件成功的啟發(fā)。RISC-V的一大優(yōu)勢(shì)是在各類設(shè)計(jì)實(shí)現(xiàn)中都有出色的軟件兼容性,,并且目前這些處理器的使用急劇增長(zhǎng),。

然而,對(duì)于想要使用這種處理器的非FPGA設(shè)計(jì)人員而言,,問題在于他們?nèi)狈τ嘘P(guān)FPGA設(shè)計(jì)語(yǔ)言,、工具和流程的專業(yè)知識(shí)。為了解決這個(gè)問題,,低功耗可編程FPGA的領(lǐng)先供應(yīng)商萊迪思半導(dǎo)體開發(fā)了名為L(zhǎng)attice Propel?的工具,,這是一款基于圖形用戶界面(GUI)的設(shè)計(jì)環(huán)境,任何用戶(無論是否具有FPGA專業(yè)知識(shí))都能使用它以拖放的方式快速設(shè)計(jì)基于RISC-V處理器的系統(tǒng),。

Propel輸出的是RTL文件,,可以發(fā)送到綜合引擎,生成可載入FPGA的配置文件,。之后軟件開發(fā)人員可以在基于FPGA的RISC-V設(shè)計(jì)實(shí)現(xiàn)上運(yùn)行他們的RISC-V可執(zhí)行文件,,正如在其他任何RISC-V處理器上運(yùn)行一樣。萊迪思為其FPGA客戶免費(fèi)提供RISC-V IP核,。

基于FPGA的解決方案

數(shù)據(jù)處理要求有合適的計(jì)算引擎,。開發(fā)者擁有諸多不同選擇,包括微處理器(MPU),、微控制器(MCU),、圖形處理器(GPU)、FPGA和SoC等器件,。

MPU和MCU在執(zhí)行決策任務(wù)時(shí)效率很高,但是在實(shí)現(xiàn)原始數(shù)據(jù)處理算法時(shí),,無論是處理時(shí)間還是功耗都不太理想,。SoC能以最低的功耗實(shí)現(xiàn)最高性能,但缺點(diǎn)是開發(fā)起來價(jià)格昂貴,、耗費(fèi)資源且十分耗時(shí),,并且在此類芯片架構(gòu)中實(shí)現(xiàn)的算法基本上都是固定無法更改的,而系統(tǒng)采用的協(xié)議和標(biāo)準(zhǔn)會(huì)不斷變化,,因此會(huì)帶來很多問題,。

某些數(shù)據(jù)處理任務(wù)(包括許多AI/ML算法)非常適合并行處理。FPGA的可編程架構(gòu)(圖1a)經(jīng)配置可實(shí)現(xiàn)硬件加速器(HA)功能,以大規(guī)模并行方式執(zhí)行任務(wù)(圖1b),,從而顯著提高性能,,同時(shí)降低功耗。

許多情況下還需要數(shù)據(jù)協(xié)處理功能,,使用中央處理器(CPU)來強(qiáng)化硬件加速器,,處理器可以執(zhí)行高級(jí)決策和控制功能。不同于直接在芯片中實(shí)現(xiàn)的硬核CPU,,F(xiàn)PGA的可編程架構(gòu)能夠?qū)崿F(xiàn)軟核CPU以及相關(guān)的總線結(jié)構(gòu)(地址,、數(shù)據(jù)、控制)和任何所需的外設(shè)IP功能(圖1c),。

 

圖片8.png

圖1. 結(jié)構(gòu)化總線的方法廣泛適用于各類應(yīng)用,,包括嵌入式視覺、安防和人工智能,。

需要注意的是,,根據(jù)FPGA器件和用戶的要求,額外的可編程邏輯功能和外圍通信功能(例如USB,、MIPI,、I2C、SPI,、CAN和UART)可以通過硬核和/或軟核實(shí)現(xiàn),。文章篇幅有限此處不作贅述。

使用軟核CPU有諸多優(yōu)點(diǎn),,包括能夠配置處理器的操作及許多可選功能,,如動(dòng)態(tài)內(nèi)存訪問(DMA)控制器,從而對(duì)其精確調(diào)整,,高效地滿足目標(biāo)應(yīng)用的要求,。此外,如有需要,,可以配置可編程結(jié)構(gòu)實(shí)現(xiàn)其他外設(shè)IP功能,。如在人工智能應(yīng)用中,可以使用可編程邏輯資源來創(chuàng)建簡(jiǎn)單的人工神經(jīng)網(wǎng)絡(luò),,用于推理之類的任務(wù),。

RISC-V

如前所述,RISC-V是基于已有的精簡(jiǎn)指令集計(jì)算機(jī)(RISC)原則的開源指令集架構(gòu),,可通過開源許可獲得,。此外,許多公司目前提供支持RISC-V的RISC-V硬核或開源操作系統(tǒng),,并且?guī)追N主流的軟件工具鏈均支持該指令集,。

RISC-V的模塊化設(shè)計(jì)包括基礎(chǔ)指令集和其他的擴(kuò)展指令集,。在行業(yè)、技術(shù)界和教育機(jī)構(gòu)的共同努力下,,兩者已得到長(zhǎng)足的發(fā)展,。基礎(chǔ)指令集規(guī)定了指令(及其編碼),、控制流,、寄存器(及其大小),、存儲(chǔ)器和尋址,、邏輯(即整數(shù))操作以及輔助功能。僅基礎(chǔ)指令集就能實(shí)現(xiàn)具有全面軟件支持(包括通用編譯器)的通用計(jì)算機(jī),。

還可以通過可選拓展指令集實(shí)現(xiàn)額外功能,,從而讓設(shè)計(jì)人員靈活選擇其應(yīng)用所需的功能。RISC-V定義了許多擴(kuò)展指令集,,包括A(原子),、F(單精度浮點(diǎn))、D(雙精度浮點(diǎn)),、Q(四精度浮點(diǎn))和C(壓縮的16位指令以減少代碼尺寸,,用于存儲(chǔ)空間有限的系統(tǒng))。上述指令集均可靈活選擇,。

 

圖片9.png

圖2. 萊迪思是首個(gè)支持RISC-V的基于閃存和SRAM的FPGA供應(yīng)商,。

與作為專用處理器的硬核實(shí)現(xiàn)相比,基于FPGA的軟核RISC-V擁有的巨大優(yōu)勢(shì)在于FPGA可重新配置的巨大潛力能夠滿足各種擴(kuò)展需求,。

萊迪思RISC-V軟核IP套件擁有32位RISC-V處理器核以及可選的定時(shí)器和可編程中斷控制器(PIC)子模塊,。該CPU核支持RV32I指令集、外部中斷和符合JTAG IEEE 1149.1規(guī)范的調(diào)試,。

定時(shí)器子模塊是一個(gè)64位實(shí)時(shí)計(jì)數(shù)器,,它將實(shí)時(shí)寄存器與另一個(gè)寄存器進(jìn)行比較以觸發(fā)定時(shí)器中斷。PIC子模塊最多將八個(gè)外部中斷輸入聚合為一個(gè)外部中斷,。處理器核通過使用行業(yè)標(biāo)準(zhǔn)的32位AHB-L總線接口訪問子模塊寄存器,。

萊迪思Propel

許多嵌入式系統(tǒng)的設(shè)計(jì)人員都對(duì)使用FPGA很感興趣,但是一想到要使用傳統(tǒng)的FPGA設(shè)計(jì)工具和HDL就望而卻步,。為了解決這一問題,,萊迪思Propel采用了基于圖形用戶界面(GUI)的設(shè)計(jì)環(huán)境,任何用戶(無論是否具有FPGA專業(yè)知識(shí))都能使用其拖放的設(shè)計(jì)方式快速構(gòu)建和配置基于RISC-V處理器的設(shè)計(jì),。

Propel輸出的是使用Verilog HDL語(yǔ)言的RTL文件,可以將其發(fā)送到綜合引擎,,生成可載入FPGA的配置文件,。該配置文件可用于萊迪思CrossLink?-NX(面向嵌入式視覺應(yīng)用),、Certus?-NX(通用FPGA)以及MachXO3D?和Mach?-NX FPGA(安全系統(tǒng)控制)系列產(chǎn)品。FPGA配置完成后,,軟件開發(fā)人員可以在基于FPGA的RISC-V設(shè)計(jì)實(shí)現(xiàn)上運(yùn)行他們的RISC-V可執(zhí)行文件,,正如在其他任何RISC-V處理器上運(yùn)行一樣。

Lattice Propel由兩個(gè)部分組成,。首先是Propel Builder,,它提供圖形化的拖放界面,讓用戶選擇IP模塊并將其連接在一起,。這些IP模塊包括RISC-V處理器(帶有可選的定時(shí)器和中斷控制器),、AMBA總線結(jié)構(gòu)、接口,、存儲(chǔ)器,、輸入/輸出(I/O)等。用戶還可以方便地在線升級(jí)現(xiàn)有IP模塊和獲得新的IP模塊 ,。

圖片10.png

圖3. Propel界面直觀,、易于使用、功能強(qiáng)大,。

除了拖放IP實(shí)例化,,Propel Builder還能自動(dòng)進(jìn)行引腳連接,通過向?qū)渲煤驮O(shè)置參數(shù)以及采用按構(gòu)造逐步校正進(jìn)行IP集成,。

其次是萊迪思Propel SDK(軟件開發(fā)套件),,可提供無縫的軟件開發(fā)環(huán)境。它擁有行業(yè)標(biāo)準(zhǔn)的集成開發(fā)環(huán)境(IDE)和工具鏈,。SDK還為Propel Builder定義的系統(tǒng)提供軟件/硬件調(diào)試功能以及軟件庫(kù)和板級(jí)支持包(BSP),。

需要注意的重要一點(diǎn)是,Propel可以很好地對(duì)接下游工具,,并且它也是一個(gè)獨(dú)立的程序,,且其大小僅為0.5 GB,可以快速輕松地下載和安裝,。同樣令人感興趣的是,,Propel的所有命令都可以用Tcl編寫,從而提高了設(shè)計(jì)效率并將其快速集成到用戶自己的設(shè)計(jì)環(huán)境中,。

 

圖片11.png

圖4. 無論是簡(jiǎn)單的“Hello World”應(yīng)用還是復(fù)雜的嵌入式控制和數(shù)據(jù)處理系統(tǒng),,Propel都能讓用戶快速完成設(shè)計(jì)

對(duì)于硬件設(shè)計(jì),Propel是那些需要FPGA優(yōu)勢(shì)但缺乏FPGA硬件設(shè)計(jì)經(jīng)驗(yàn)的團(tuán)隊(duì)的理想選擇,。此外,,如果團(tuán)隊(duì)成員確實(shí)具有FPGA設(shè)計(jì)經(jīng)驗(yàn),那么他們還可以根據(jù)需要對(duì)設(shè)計(jì)做更為精確的控制,。對(duì)于軟件設(shè)計(jì),,Propel提供行業(yè)標(biāo)準(zhǔn)的C/C ++開發(fā)環(huán)境,。軟件開發(fā)人員似乎更多地使用現(xiàn)成的微控制器。

設(shè)計(jì)人員可以使用Propel在CrossLink-NX,、Certus-NX和Mach-NX FPGA中快速輕松地生成基于RISC-V軟軟核的處理器系統(tǒng),,從而提供復(fù)雜的視頻處理、系統(tǒng)控制和系統(tǒng)安全功能,,其延遲遠(yuǎn)遠(yuǎn)低于通過外部獨(dú)立處理器實(shí)現(xiàn)的設(shè)計(jì),。

總結(jié)

除了擁有以低功耗執(zhí)行高性能數(shù)據(jù)處理任務(wù)的邏輯功能和硬件加速器外,F(xiàn)PGA內(nèi)部的可編程架構(gòu)還可用于實(shí)現(xiàn)一個(gè)或多個(gè)更適合決策任務(wù)的軟核處理器,,以及用于諸如硬件加速器之類的控制功能,,包括向它們提供數(shù)據(jù)并根據(jù)結(jié)果采取措施。

RISC-V就是這樣一種處理器,,它是一種開源指令集架構(gòu)(ISA),,可以通過開源許可免費(fèi)獲得。萊迪思是首個(gè)支持RISC-V以及為其FPGA客戶免費(fèi)提供RISC-V IP核的基于閃存和SRAM的FPGA供應(yīng)商,。

對(duì)于想要使用這種處理器的非FPGA設(shè)計(jì)人員而言,,問題在于他們?nèi)狈τ嘘P(guān)FPGA設(shè)計(jì)語(yǔ)言、工具和流程的專業(yè)知識(shí),。為了解決這個(gè)問題,,萊迪思提供了Propel來簡(jiǎn)化設(shè)計(jì)流程,讓開發(fā)人員能夠快速設(shè)計(jì)基于RISC-V處理器的系統(tǒng),。

 


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請(qǐng)及時(shí)通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]