圖1. 結(jié)構(gòu)化總線的方法廣泛適用于各類應(yīng)用,包括嵌入式視覺、安防和人工智能。
萊迪思Propel幫助設(shè)計(jì)人員快速創(chuàng)建基于處理器的系統(tǒng)
發(fā)布時(shí)間:2021-03-16 責(zé)任編輯:lina
【導(dǎo)讀】幾乎所有的電子設(shè)計(jì)師和嵌入式系統(tǒng)開發(fā)人員都聽過(guò)現(xiàn)場(chǎng)可編程門陣列(FPGA)。對(duì)于實(shí)際的FPGA器件,設(shè)計(jì)人員和開發(fā)人員都知道它擁有可編程架構(gòu),能夠?qū)ζ溥M(jìn)行配置來(lái)而執(zhí)行想要的功能,但他們的了解可能僅限于此。同樣,當(dāng)涉及創(chuàng)建一個(gè)可以在FPGA上實(shí)現(xiàn)的設(shè)計(jì)時(shí),他們可能聽過(guò)硬件描述語(yǔ)言(HDL)和寄存器轉(zhuǎn)換級(jí)電路(RTL)之類的術(shù)語(yǔ),但可能并未充分理解它們的含義。
幾乎所有的電子設(shè)計(jì)師和嵌入式系統(tǒng)開發(fā)人員都聽過(guò)現(xiàn)場(chǎng)可編程門陣列(FPGA)。對(duì)于實(shí)際的FPGA器件,設(shè)計(jì)人員和開發(fā)人員都知道它擁有可編程架構(gòu),能夠?qū)ζ溥M(jìn)行配置來(lái)而執(zhí)行想要的功能,但他們的了解可能僅限于此。同樣,當(dāng)涉及創(chuàng)建一個(gè)可以在FPGA上實(shí)現(xiàn)的設(shè)計(jì)時(shí),他們可能聽過(guò)硬件描述語(yǔ)言(HDL)和寄存器轉(zhuǎn)換級(jí)電路(RTL)之類的術(shù)語(yǔ),但可能并未充分理解它們的含義。
與Verilog或VHDL相似,HDL能讓FPGA設(shè)計(jì)人員描述設(shè)計(jì)意圖,正如軟件開發(fā)人員使用C或者C++等編程語(yǔ)言一樣。理解HDL的方式之一就是它可以用來(lái)描述同時(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ù)??删幊探Y(jié)構(gòu)經(jīng)過(guò)配置后可創(chuàng)建一個(gè)或多個(gè)更適合處理決策任務(wù)的軟核處理器,這些處理器還可以控制硬件加速器,包括向其提供數(shù)據(jù)并根據(jù)結(jié)果采取相應(yīng)措施。
RISC-V就是這樣一種處理器,它是一種開源指令集架構(gòu)(ISA),可以通過(guò)開源許可免費(fèi)獲得。RISC-V開源硬件概念的創(chuàng)造者受到Linux開源軟件成功的啟發(fā)。RISC-V的一大優(yōu)勢(shì)是在各類設(shè)計(jì)實(shí)現(xiàn)中都有出色的軟件兼容性,并且目前這些處理器的使用急劇增長(zhǎng)。
然而,對(duì)于想要使用這種處理器的非FPGA設(shè)計(jì)人員而言,問(wèn)題在于他們?nèi)狈τ嘘P(guān)FPGA設(shè)計(jì)語(yǔ)言、工具和流程的專業(yè)知識(shí)。為了解決這個(gè)問(wèn)題,低功耗可編程FPGA的領(lǐng)先供應(yīng)商萊迪思半導(dǎo)體開發(fā)了名為L(zhǎng)attice Propel™的工具,這是一款基于圖形用戶界面(GUI)的設(shè)計(jì)環(huán)境,任何用戶(無(wú)論是否具有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í),無(wú)論是處理時(shí)間還是功耗都不太理想。SoC能以最低的功耗實(shí)現(xiàn)最高性能,但缺點(diǎn)是開發(fā)起來(lái)價(jià)格昂貴、耗費(fèi)資源且十分耗時(shí),并且在此類芯片架構(gòu)中實(shí)現(xiàn)的算法基本上都是固定無(wú)法更改的,而系統(tǒng)采用的協(xié)議和標(biāo)準(zhǔn)會(huì)不斷變化,因此會(huì)帶來(lái)很多問(wèn)題。
某些數(shù)據(jù)處理任務(wù)(包括許多AI/ML算法)非常適合并行處理。FPGA的可編程架構(gòu)(圖1a)經(jīng)配置可實(shí)現(xiàn)硬件加速器(HA)功能,以大規(guī)模并行方式執(zhí)行任務(wù)(圖1b),從而顯著提高性能,同時(shí)降低功耗。
許多情況下還需要數(shù)據(jù)協(xié)處理功能,使用中央處理器(CPU)來(lái)強(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)。
圖1. 結(jié)構(gòu)化總線的方法廣泛適用于各類應(yīng)用,包括嵌入式視覺、安防和人工智能。
需要注意的是,根據(jù)FPGA器件和用戶的要求,額外的可編程邏輯功能和外圍通信功能(例如USB、MIPI、I2C、SPI、CAN和UART)可以通過(guò)硬核和/或軟核實(shí)現(xiàn)。文章篇幅有限此處不作贅述。
使用軟核CPU有諸多優(yōu)點(diǎn),包括能夠配置處理器的操作及許多可選功能,如動(dòng)態(tài)內(nèi)存訪問(wèn)(DMA)控制器,從而對(duì)其精確調(diào)整,高效地滿足目標(biāo)應(yīng)用的要求。此外,如有需要,可以配置可編程結(jié)構(gòu)實(shí)現(xiàn)其他外設(shè)IP功能。如在人工智能應(yīng)用中,可以使用可編程邏輯資源來(lái)創(chuàng)建簡(jiǎn)單的人工神經(jīng)網(wǎng)絡(luò),用于推理之類的任務(wù)。
RISC-V
如前所述,RISC-V是基于已有的精簡(jiǎn)指令集計(jì)算機(jī)(RISC)原則的開源指令集架構(gòu),可通過(guò)開源許可獲得。此外,許多公司目前提供支持RISC-V的RISC-V硬核或開源操作系統(tǒng),并且?guī)追N主流的軟件工具鏈均支持該指令集。
RISC-V的模塊化設(shè)計(jì)包括基礎(chǔ)指令集和其他的擴(kuò)展指令集。在行業(yè)、技術(shù)界和教育機(jī)構(gòu)的共同努力下,兩者已得到長(zhǎng)足的發(fā)展?;A(chǔ)指令集規(guī)定了指令(及其編碼)、控制流、寄存器(及其大?。?、存儲(chǔ)器和尋址、邏輯(即整數(shù))操作以及輔助功能。僅基礎(chǔ)指令集就能實(shí)現(xiàn)具有全面軟件支持(包括通用編譯器)的通用計(jì)算機(jī)。
還可以通過(guò)可選拓展指令集實(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))。上述指令集均可靈活選擇。
圖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è)外部中斷。處理器核通過(guò)使用行業(yè)標(biāo)準(zhǔn)的32位AHB-L總線接口訪問(wèn)子模塊寄存器。
萊迪思Propel
許多嵌入式系統(tǒng)的設(shè)計(jì)人員都對(duì)使用FPGA很感興趣,但是一想到要使用傳統(tǒng)的FPGA設(shè)計(jì)工具和HDL就望而卻步。為了解決這一問(wèn)題,萊迪思Propel采用了基于圖形用戶界面(GUI)的設(shè)計(jì)環(huán)境,任何用戶(無(wú)論是否具有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模塊。
圖3.Propel界面直觀、易于使用、功能強(qiáng)大。
除了拖放IP實(shí)例化,Propel Builder還能自動(dòng)進(jìn)行引腳連接,通過(guò)向?qū)渲煤驮O(shè)置參數(shù)以及采用按構(gòu)造逐步校正進(jìn)行IP集成。
其次是萊迪思Propel SDK(軟件開發(fā)套件),可提供無(wú)縫的軟件開發(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)境中。
圖4. 無(wú)論是簡(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)低于通過(guò)外部獨(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),可以通過(guò)開源許可免費(fèi)獲得。萊迪思是首個(gè)支持RISC-V以及為其FPGA客戶免費(fèi)提供RISC-V IP核的基于閃存和SRAM的FPGA供應(yīng)商。
對(duì)于想要使用這種處理器的非FPGA設(shè)計(jì)人員而言,問(wèn)題在于他們?nèi)狈τ嘘P(guān)FPGA設(shè)計(jì)語(yǔ)言、工具和流程的專業(yè)知識(shí)。為了解決這個(gè)問(wèn)題,萊迪思提供了Propel來(lái)簡(jiǎn)化設(shè)計(jì)流程,讓開發(fā)人員能夠快速設(shè)計(jì)基于RISC-V處理器的系統(tǒng)。
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問(wèn)題,請(qǐng)電話或者郵箱聯(lián)系小編進(jìn)行侵刪。
特別推薦
- 復(fù)雜的RF PCB焊接該如何確保恰到好處?
- 電源效率測(cè)試
- 科技的洪荒之力:可穿戴設(shè)備中的MEMS傳感器 助運(yùn)動(dòng)員爭(zhēng)金奪銀
- 輕松滿足檢測(cè)距離,勞易測(cè)新型電感式傳感器IS 200系列
- Aigtek推出ATA-400系列高壓功率放大器
- TDK推出使用壽命更長(zhǎng)和熱點(diǎn)溫度更高的全新氮?dú)馓畛淙嘟涣鳛V波電容器
- 博瑞集信推出低噪聲、高增益平坦度、低功耗 | 低噪聲放大器系列
技術(shù)文章更多>>
- 如何選擇和應(yīng)用機(jī)電繼電器實(shí)現(xiàn)多功能且可靠的信號(hào)切換
- 基于APM32F411的移動(dòng)電源控制板應(yīng)用方案
- 數(shù)字儀表與模擬儀表:它們有何區(qū)別?
- 聚焦制造業(yè)企業(yè)貨量旺季“急難愁盼”,跨越速運(yùn)打出紓困“連招”
- 選擇LDO時(shí)的主要考慮因素和挑戰(zhàn)
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
光收發(fā)器
光通訊器件
光纖連接器
軌道交通
國(guó)防航空
過(guò)流保護(hù)器
過(guò)熱保護(hù)
過(guò)壓保護(hù)
焊接設(shè)備
焊錫焊膏
恒溫振蕩器
恒壓變壓器
恒壓穩(wěn)壓器
紅外收發(fā)器
紅外線加熱
厚膜電阻
互連技術(shù)
滑動(dòng)分壓器
滑動(dòng)開關(guān)
輝曄
混合保護(hù)器
混合動(dòng)力汽車
混頻器
霍爾傳感器
機(jī)電元件
基創(chuàng)卓越
激光二極管
激光器
計(jì)步器
繼電器