《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 解決方案 > 針對FPGA的完全可配置嵌入式32位RISC處理器

針對FPGA的完全可配置嵌入式32位RISC處理器

2011-01-20
作者:Alexander Hahn 萊迪思半導體公司
來源:萊迪思半導體公司
關鍵詞: FPGA LatticeMico32 RISC

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

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

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

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

  當評估諸如LatticeMico32" title="LatticeMico32">LatticeMico32這樣的特殊處理器時,使用嵌入式軟處理器的優點非常清楚。

  一個典型的嵌入式處理器子系統

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

典型的嵌入式<a class=RISC" title="RISC">RISC處理器子系統" border="0" height="211" hspace="0" src="http://files.chinaaet.com/images/20101219/755ec17a-15e1-46ca-89cd-26ee8a4bdacc.jpg" style="zoom: 1; letter-spacing: normal; ms-interpolation-mode: bicubic" width="450" />  

圖1 典型的嵌入式RISC處理器子系統

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

LatticeMico32

圖2 LatticeMico32:一個可配置的RISC處理器核

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

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

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

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

仲裁方案


 

 

圖3 仲裁方案

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

 

 創建定制的外圍組件

圖4 創建定制的外圍組件

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

  可擴展性

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

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

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

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

  對于需要數據/信號處理功能的應用,往往需要組合RISC處理器的功能和DSP,以達到系統的性能和吞吐量。添加擴展和定制元件還可以包括信號處理單元。可以用硬件非常有效地實現,使用專用的DSP塊,諸如乘/累加,用各種FPGA的硬件都可以實現這些功能。

  設計環境

  LatticeMico32系統擁有三個集成工具:

  •   MicoSystem Builder(MSB)

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

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

  C/C++ SPE調用編譯器,匯編器和連接器,使代碼的開發針對運行于用MSB構建的平臺??梢酝ㄟ^C/C++ SPE來完成,用MSB構建的平臺可以作為參考?!?/p>

  •   調試器和Reveal邏輯分析器

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

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

  在構建過程中,用完全可讀的RTL Verilog源代碼創建處理器的代碼及其外圍設備。提供用于綜合和仿真的腳本,約束文件關注硬件的設置和引腳。

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

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

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

  性能和資源利用

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

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

 

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

  總結

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

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

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

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美精品乱人伦久久久久久| 国产乱码精品1区2区3区| 亚洲一区二区三区激情| 亚洲精品免费在线观看| 久久精品免费电影| 香蕉尹人综合在线观看| 亚洲特黄一级片| 99视频超级精品| 99re6这里只有精品| 亚洲精品在线观看视频| 亚洲激情av| 亚洲毛片在线观看| 91久久精品日日躁夜夜躁欧美| 黄色综合网站| 一区在线免费| 在线电影国产精品| 在线观看视频一区| 在线播放国产一区中文字幕剧情欧美| 国内精品嫩模av私拍在线观看| 国内一区二区三区| 在线观看不卡av| 亚洲国产日韩欧美| 亚洲另类在线视频| 一区二区三区免费网站| 亚洲一区二区三区色| 亚洲欧美综合一区| 久久国产黑丝| 亚洲激情黄色| 一本色道久久99精品综合| 一本色道**综合亚洲精品蜜桃冫| 中日韩高清电影网| 亚洲自拍都市欧美小说| 欧美影院视频| 美女诱惑黄网站一区| 欧美黄色一级视频| 欧美视频在线一区| 国产麻豆日韩| 欲色影视综合吧| 日韩视频在线一区| 亚洲欧美日韩综合aⅴ视频| 久久疯狂做爰流白浆xx| 亚洲精品一区二区在线观看| 亚洲视频axxx| 久久精品国产久精国产思思| 久热国产精品| 欧美日韩精品综合在线| 国产伦精品一区二区三区| 黄色综合网站| 日韩亚洲综合在线| 性欧美1819sex性高清| 亚洲国产精品va在线观看黑人| 亚洲另类视频| 先锋影音网一区二区| 久久亚洲精品一区| 欧美调教视频| 影音先锋欧美精品| 亚洲午夜久久久久久尤物| 亚洲第一二三四五区| 一区二区三区高清| 久久精品人人做人人爽| 欧美人体xx| 国产亚洲一区二区三区在线观看 | 欧美午夜精品理论片a级大开眼界| 国产免费成人| 亚洲人人精品| 久久国产精品99久久久久久老狼| 夜夜躁日日躁狠狠久久88av| 久久久久久网| 欧美性色综合| 亚洲激情中文1区| 欧美一区午夜精品| 亚洲一区二区动漫| 免费精品视频| 国产亚洲精品成人av久久ww| 日韩视频在线免费观看| 久久精品青青大伊人av| 亚洲综合精品一区二区| 欧美国产丝袜视频| 国产亚洲欧美一级| 一区二区免费在线播放| 亚洲电影下载| 欧美一区二区精品| 欧美日本中文字幕| 激情欧美一区二区三区| 亚洲一区二区三区色| 一区二区三区精品国产| 久久伊人精品天天| 国产美女精品一区二区三区| 99热精品在线| 亚洲理论在线| 猛干欧美女孩| 国产一区二区三区高清播放| 亚洲一区二区三区四区视频| 一区二区三区不卡视频在线观看| 蜜桃av综合| 红桃av永久久久| 午夜亚洲一区| 欧美一区日韩一区| 国产精品日韩在线观看| a91a精品视频在线观看| 亚洲裸体在线观看| 免费在线日韩av| 国语自产精品视频在线看抢先版结局| 亚洲桃花岛网站| 亚洲自拍偷拍色片视频| 欧美日韩ab片| 亚洲人精品午夜在线观看| 亚洲精品美女91| 美女精品网站| 在线日本成人| 亚洲激情黄色| 免费在线一区二区| 在线日韩av片| 亚洲精品一区二区在线| 欧美成ee人免费视频| 亚洲第一精品福利| 亚洲激情另类| 欧美高清在线视频| 亚洲国产精品专区久久| 亚洲激情av在线| 欧美91视频| 亚洲三级视频| 一区二区精品国产| 欧美午夜性色大片在线观看| 日韩视频免费看| 一本色道久久综合精品竹菊| 欧美日韩精品一区二区天天拍小说 | 999亚洲国产精| 亚洲一区二区三区四区五区黄| 欧美日韩美女在线| 一本色道久久综合狠狠躁篇的优点| 一区二区三区av| 国产精品久久国产精麻豆99网站| 亚洲色诱最新| 午夜视频一区在线观看| 国产日韩欧美夫妻视频在线观看| 欧美亚洲日本一区| 久久蜜桃精品| 亚洲电影免费观看高清| 亚洲卡通欧美制服中文| 欧美日韩高清不卡| avtt综合网| 亚洲欧美国产三级| 国产一区二区毛片| 亚洲欧洲精品一区二区三区不卡 | 精品51国产黑色丝袜高跟鞋| 91久久精品一区| 欧美区日韩区| 亚洲在线视频| 老牛嫩草一区二区三区日本 | 老司机精品福利视频| 亚洲国产视频一区二区| 亚洲视频一区二区在线观看| 国产精品日日摸夜夜添夜夜av| 久久本道综合色狠狠五月| 欧美成人69| 在线一区欧美| 久久全球大尺度高清视频| 91久久国产综合久久| 亚洲欧美日韩精品| 韩国久久久久| 一区二区三区国产| 国产女人18毛片水18精品| 亚洲国产欧美日韩另类综合| 国产精品qvod| 久久婷婷蜜乳一本欲蜜臀| 国产一区二区毛片| 亚洲国产日日夜夜| 欧美视频第二页| 性久久久久久久| 欧美精品三级| 午夜精品久久久久久久久久久久| 免费久久精品视频| 亚洲视频狠狠| 久久在线免费观看| 9色国产精品| 久久伊人一区二区| 一区二区三区回区在观看免费视频| 久久成人免费网| 亚洲精品永久免费| 久久久久久久久久久一区| 亚洲精品一二| 久久久亚洲精品一区二区三区 | 国内精品久久久久伊人av| 一本久久综合亚洲鲁鲁五月天| 国产欧美在线看| 一区二区三区欧美日韩| 国产综合色产在线精品| 在线一区二区三区四区| 韩国精品主播一区二区在线观看| 一区二区三区欧美在线| 精品成人在线| 亚洲自拍都市欧美小说| 亚洲国产精品ⅴa在线观看 | 一区二区精品在线观看| 国产亚洲福利| 亚洲欧美国产精品桃花| 最近中文字幕日韩精品| 久久爱另类一区二区小说| 亚洲伦理在线免费看|