當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]針對FPGA的完全可配置嵌入式32位RISC處理器

使用嵌入式微處理器的FPGA設(shè)計不斷增長。根據(jù)Dataquest的統(tǒng)計,一年大約啟動10萬個FPGA設(shè)計項目,其中約30%包含某種形式的微處理器。

  形成這種趨勢有幾個方面的原因。首先,數(shù)據(jù)流應(yīng)用更適合可編程硬件,同時嵌入式微處理器更適合于執(zhí)行控制流的應(yīng)用。第二,要改變設(shè)計時,嵌入式處理器呈現(xiàn)更大的靈活性。最后,用軟核的嵌入式微處理器消除了處理器過時的風(fēng)險。從傳統(tǒng)上而言,對嵌入式FPGA微處理器有一些限制,包括成本,速度和設(shè)計性能。隨著工藝技術(shù)和設(shè)計技術(shù)的進步,這些限制正在不斷改善,現(xiàn)在設(shè)計人員更有可能在他們的應(yīng)用中考慮使用嵌入式FPGA微處理器。

  與過去相比,現(xiàn)成的微處理器已經(jīng)大大比嵌入式微處理器便宜。但是,今天的低成本FPGA被證明是一個節(jié)約成本的解決方案。如果設(shè)計中已經(jīng)使用了FPGA,處理器可以整合到現(xiàn)有的FPGA架構(gòu),節(jié)省了分立器件或新的FPGA成本。設(shè)計周期也是一個重要的因素。將硬件與微處理器子系統(tǒng)構(gòu)成相關(guān)的架構(gòu)并進行實施能有多快?編寫,測試和在微處理器上調(diào)試運行的代碼需要多久?在過去幾年中,在整體功能和易用性方面,針對嵌入式微處理器開發(fā)的軟件工具也有了明顯的改善。因此,現(xiàn)在可以在幾分鐘內(nèi)運行設(shè)計,并且進行測試。產(chǎn)品上市的時間縮短了,因為現(xiàn)在用軟件實現(xiàn)功能比硬件更快,更簡單。

  用現(xiàn)成的微處理器達到的性能有良好的歷史記錄。隨著技術(shù)的改進,F(xiàn)PGA在功能和整個系統(tǒng)的速度方面有了顯著的進步。由于現(xiàn)在的FPGA能夠處理更大的帶寬,嵌入式處理器對于許多設(shè)計有很大的吸引力。此外,由于FPGA與其他專用模塊的緊密配合,軟IP核的擴展性提供了一個系統(tǒng)接口,就性能和吞吐量方面而言,現(xiàn)在一個片上處理器可以提供卓越的設(shè)計方案。

  當(dāng)評估諸如LatticeMico32這樣的特殊處理器時,使用嵌入式軟處理器的優(yōu)點非常清楚。

  一個典型的嵌入式處理器子系統(tǒng)

  讓我們來看看一個典型的嵌入式處理器子系統(tǒng),例如,LatticeMico32軟處理器。該處理器需要有能與外界通信的功能,因此通常核連接到一個片上總線系統(tǒng),在此情況下是WISHBONE開放源代碼總線。然后還需要一個存儲系統(tǒng),用來保存處理器程序代碼以及處理器核使用的數(shù)據(jù)。對外部通信而言,在一個典型的系統(tǒng)中有各種接口,從簡單的通信接口和連接、更復(fù)雜的協(xié)議到應(yīng)用中的專用硬件模塊?,F(xiàn)在該處理器總線架構(gòu)需要連接外設(shè)和存儲器系統(tǒng)。一個典型的系統(tǒng)如圖1所示。

  

圖1 典型的嵌入式RISC處理器子系統(tǒng)

  讓我們來看看處理器核本身:LatticeMico32是基于哈佛總線結(jié)構(gòu)的RISC架構(gòu)的微處理器(圖2)。 RISC體系結(jié)構(gòu)提供了一個簡單的指令集和更快的性能。哈佛總線架構(gòu)提供獨立的指令和數(shù)據(jù)總線,能夠執(zhí)行單周期指令。該處理器擁有32個通用寄存器,可處理多達32個外部的中斷。定制的處理器可以插入乘法器或桶形移位器,以及不同的調(diào)試功能。

圖2 LatticeMico32:一個可配置的RISC處理器核[!--empirenews.page--]

  Mico32可以用于各種存儲系統(tǒng),同時使用內(nèi)嵌存儲器用于存儲指令和數(shù)據(jù)。內(nèi)嵌存儲器可以建立一個本地哈佛結(jié)構(gòu),并允許單周期訪問指令和數(shù)據(jù)。對于更大的存儲器需求,處理器通過一個仲裁器連接到其他的存儲器模塊或接口。這可以是用FPGA的存儲器資源來實現(xiàn)的 “片上”存儲器,或接口至外部存儲器,諸如SSRAM、Flash和DRAM。處理所有訪問協(xié)議至外部存儲器的合適接口模塊是由MSB提供的。提供可選的指令和數(shù)據(jù)高速緩存,能夠配置成各種選擇(高速緩存的大小,高速緩存塊的大小等等)。

  通過一個開放源碼Wishbone總線接口,該處理器連接到各種外圍元件。針對快速周轉(zhuǎn)周期,圖形用戶界面可以輕松和快速地創(chuàng)建處理器平臺。除了標(biāo)準存儲器控制器,這可能包括各種接口,不僅支持I2C、通用IO、定時器,UART以及SPI,還能支持更復(fù)雜的模塊,如PCI接口或TriSpeed以太網(wǎng)MAC。

  直接存儲器訪問(DMA)控制器是可用的,添加主器件(master)至Wishbone總線,以免除處理器的數(shù)據(jù)傳輸工作。這也允許有DMA功能的外設(shè)高效地直接傳輸數(shù)據(jù)到存儲系統(tǒng),從而節(jié)省了片上總線的帶寬。

  除了外圍元件和DMA,用戶可以自定義仲裁方案。總線結(jié)構(gòu)產(chǎn)生器支持主器件(master)方和從器件(Slave)方的總線仲裁。如果能夠滿足系統(tǒng)性能的要求,主器件方總線仲裁提供了一個簡單的低成本解決方案。然而,如果在設(shè)計中有多個總線主器件和多個從器件,在任何時間主器件方總線仲裁限制與單總線主器件通信。在許多設(shè)計中,通過兩個或兩個以上的總線主器件同時與獨立的從器件進行通信,從器件方仲裁改進了性能。圖3展示了可用的仲裁方案?!?/p>

 


 

 

圖3 仲裁方案

  用戶還可以創(chuàng)建自己的基于Wishbone總線的外設(shè)元件,然后通過整合到MSB自動連接到總線。因此,LatticeMico32的架構(gòu)提供了兩種可能性:第一,人們可以創(chuàng)建定制的元件,將它放人MSB中的可用元件列表(圖4)。第二,可以構(gòu)建出所謂的Passthru元件,可以將Wishbone接口引出到核的外面,因此,用戶可以在FPGA的其他部分添加任何邏輯塊。   

 

圖4 創(chuàng)建定制的外圍組件 [!--empirenews.page--]

  這些配置選項能夠針對不同的應(yīng)用定制LatticeMico32。帶寬范圍從小的和片內(nèi)或片外存儲器面積優(yōu)化的控制器到具有多個接口的全功能平臺,以及訪問更大的存儲器(可能是片外)。從FPGA訪問其他的邏輯模塊還允許處理器系統(tǒng)和FPGA專用模塊之間的密切互動,以便進一步改進性能。取消了傳統(tǒng)上使用并行于FPGA的外部控制器的復(fù)雜訪問機制。    

  可擴展性

  由于處理器代碼是可讀的Verilog RTL代碼,用戶可以輕松識別IP功能塊,諸如取指令單元,指令譯碼或ALU,以及各種流水線階段。因此,通過定制指令,這些也可以修改和增強。用戶也可以執(zhí)行操作碼。因此,在指令字中,LatticeMico32提供了備用的操作碼域。

  遵照以下一些基本的步驟,可以構(gòu)建自定義指令:

  •   增強的指令譯碼器。這是一個簡單的情況,提取內(nèi)部操作碼的功能,并生成需要整合此命令至LatticeMico32的所有必須的控制信號。
  •   寫功能的實現(xiàn)并將其整合至LatticeMico32 的ALU。
  •   對于多周期命令,構(gòu)建必要的拖延信號,以便妥善處理處理器流水線。
  •   如果需要其他的專門邏輯(例如額外的專用寄存器),這可以單獨的添加到核。

  通過定制指令和添加定制外設(shè),擴展處理器核是一個非常有效的方式,用來定制處理器的核以便實現(xiàn)系統(tǒng)的性能要求。通常情況下,一些專門的功能用硬件實現(xiàn)比軟件更好?;虿⑿刑幚砜梢垣@得額外的性能。這種機制能夠無縫集成硬件加速模塊至處理器架構(gòu)。這將保持用同樣的方式處理這些部件的功能,如同正常的軟件代碼或使用標(biāo)準外設(shè)。

  對于需要數(shù)據(jù)/信號處理功能的應(yīng)用,往往需要組合RISC處理器的功能和DSP,以達到系統(tǒng)的性能和吞吐量。添加擴展和定制元件還可以包括信號處理單元??梢杂糜布浅S行У貙崿F(xiàn),使用專用的DSP塊,諸如乘/累加,用各種FPGA的硬件都可以實現(xiàn)這些功能。

  設(shè)計環(huán)境

  LatticeMico32系統(tǒng)擁有三個集成工具:

  •   MicoSystem Builder(MSB)

  針對硬件實現(xiàn),MSB產(chǎn)生平臺描述和相關(guān)的硬件描述語言(HDL)代碼。設(shè)計人員可以選擇連接到微處理器的外圍組件,以及指定它們之間的連接。

  •   C/C++軟件工程環(huán)境(SPE)

  C/C++ SPE調(diào)用編譯器,匯編器和連接器,使代碼的開發(fā)針對運行于用MSB構(gòu)建的平臺??梢酝ㄟ^C/C++ SPE來完成,用MSB構(gòu)建的平臺可以作為參考。 

  •   調(diào)試器和Reveal邏輯分析器

  在C/C + +源代碼調(diào)試器提供匯編中的調(diào)試功能,并能夠觀察處理器的寄存器和存儲器。設(shè)計人員還可以使用萊迪思的Reveal邏輯分析器觀察和控制硬件中代碼的執(zhí)行情況。

  所有的工具和IP已完全納入萊迪思的ispLEVER FPGA軟件設(shè)計環(huán)境,這使得通過整個FPGA設(shè)計流程快速的進行設(shè)計。這些工具也有利于有效地使用FPGA的資源。

  在構(gòu)建過程中,用完全可讀的RTL Verilog源代碼創(chuàng)建處理器的代碼及其外圍設(shè)備。提供用于綜合和仿真的腳本,約束文件關(guān)注硬件的設(shè)置和引腳。

  目前有3種操作系統(tǒng): Theobroma Systems的uClinux 和U-Boot、Micriμm的μC/OS-II RTOS和TOPPERS/JSP的μITRON RTOS。

  LatticeMico32提供了一個開放源碼許可證。萊迪思的開放IP核許可協(xié)議將與MSB工具生成的HDL代碼一起使用。大部分圖形用戶界面將在Eclipse的授權(quán)許可下使用,同時對軟件的內(nèi)部運作,如編譯器、匯編器,連接器和調(diào)試器,許可協(xié)議將遵循GNU-GPL。

  因為這是開放源碼軟IP,這個處理器的IP核還可以免費遷移到其他技術(shù)并加以實現(xiàn)。

  性能和資源利用

  LatticeMico32提供高性能和盡可能高的資源利用率。對于關(guān)心資源的設(shè)計人員,基本配置不使用任何指令或數(shù)據(jù)高速緩存,單周期移位器,也沒有乘法器。對于那些更關(guān)注性能的設(shè)計人員,全配置使用8KB的指令高速緩存,8K字節(jié)的數(shù)據(jù)高速緩存,3個周期的移位器和一個乘法器。對于需要采用折衷方法的用戶,標(biāo)準配置類似于完整的配置,但沒有8K字節(jié)的高速數(shù)據(jù)緩存。表1展示了針對LatticeECP3 FPGA的資源利用率和性能。

表1 LatticeMico32資源利用率和使用LatticeECP3的性能

 

  總結(jié)

  LatticeMico32是一個完整的嵌入式微處理器設(shè)計方案。它提供了一個靈活的架構(gòu),并允許用戶定制處理器系統(tǒng)以滿足系統(tǒng)的要求(性能、成本、功耗)。處理器的IP和專用硬件的密切配合提供了一個易于使用的環(huán)境,這也可顯著提升系統(tǒng)的性能,使設(shè)計擁有很大的靈活性。

  LatticeMico32開發(fā)工具可以很容易地在FPGA中實現(xiàn)一個微處理器和與之連接的外圍元件。易用性確保最少的設(shè)計時間,從而使得產(chǎn)品能夠更快的上市?!?/p>

  根據(jù)開放源代碼許可證和軟件開發(fā)工具各自的開放源代碼許可證,如Eclipse和GNU - GPL,提供生成的HDL,萊迪思可以讓用戶完全控制其設(shè)計。開放源代碼為設(shè)計人員提供所需要的可視性,靈活性和便攜性?!?/p>

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉