針對FPGA的完全可配置嵌入式32位RISC處理器
這些配置選項能夠針對不同的應用定制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構建的平臺可以作為參考。
- 調試器和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是一個完整的嵌入式微處理器設計方案。它提供了一個靈活的架構,并允許用戶定制處理器系統以滿足系統的要求(性能、成本、功耗)。處理器的IP和專用硬件的密切配合提供了一個易于使用的環境,這也可顯著提升系統的性能,使設計擁有很大的靈活性。
LatticeMico32開發工具可以很容易地在FPGA中實現一個微處理器和與之連接的外圍元件。易用性確保最少的設計時間,從而使得產品能夠更快的上市。
根據開放源代碼許可證和軟件開發工具各自的開放源代碼許可證,如Eclipse和GNU - GPL,提供生成的HDL,萊迪思可以讓用戶完全控制其設計。開放源代碼為設計人員提供所需要的可視性,靈活性和便攜性。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論