針對FPGA的完全可配置嵌入式32位RISC處理器
使用嵌入式微處理器的FPGA設(shè)計(jì)不斷增長。根據(jù)Dataquest的統(tǒng)計(jì),一年大約啟動(dòng)10萬個(gè)FPGA設(shè)計(jì)項(xiàng)目,其中約30%包含某種形式的微處理器。
本文引用地址:http://butianyuan.cn/article/151169.htm形成這種趨勢有幾個(gè)方面的原因。首先,數(shù)據(jù)流應(yīng)用更適合可編程硬件,同時(shí)嵌入式微處理器更適合于執(zhí)行控制流的應(yīng)用。第二,要改變設(shè)計(jì)時(shí),嵌入式處理器呈現(xiàn)更大的靈活性。最后,用軟核的嵌入式微處理器消除了處理器過時(shí)的風(fēng)險(xiǎn)。從傳統(tǒng)上而言,對嵌入式FPGA微處理器有一些限制,包括成本,速度和設(shè)計(jì)性能。隨著工藝技術(shù)和設(shè)計(jì)技術(shù)的進(jìn)步,這些限制正在不斷改善,現(xiàn)在設(shè)計(jì)人員更有可能在他們的應(yīng)用中考慮使用嵌入式FPGA微處理器。
與過去相比,現(xiàn)成的微處理器已經(jīng)大大比嵌入式微處理器便宜。但是,今天的低成本FPGA被證明是一個(gè)節(jié)約成本的解決方案。如果設(shè)計(jì)中已經(jīng)使用了FPGA,處理器可以整合到現(xiàn)有的FPGA架構(gòu),節(jié)省了分立器件或新的FPGA成本。設(shè)計(jì)周期也是一個(gè)重要的因素。將硬件與微處理器子系統(tǒng)構(gòu)成相關(guān)的架構(gòu)并進(jìn)行實(shí)施能有多快?編寫,測試和在微處理器上調(diào)試運(yùn)行的代碼需要多久?在過去幾年中,在整體功能和易用性方面,針對嵌入式微處理器開發(fā)的軟件工具也有了明顯的改善。因此,現(xiàn)在可以在幾分鐘內(nèi)運(yùn)行設(shè)計(jì),并且進(jìn)行測試。產(chǎn)品上市的時(shí)間縮短了,因?yàn)楝F(xiàn)在用軟件實(shí)現(xiàn)功能比硬件更快,更簡單。
用現(xiàn)成的微處理器達(dá)到的性能有良好的歷史記錄。隨著技術(shù)的改進(jìn),F(xiàn)PGA在功能和整個(gè)系統(tǒng)的速度方面有了顯著的進(jìn)步。由于現(xiàn)在的FPGA能夠處理更大的帶寬,嵌入式處理器對于許多設(shè)計(jì)有很大的吸引力。此外,由于FPGA與其他專用模塊的緊密配合,軟IP核的擴(kuò)展性提供了一個(gè)系統(tǒng)接口,就性能和吞吐量方面而言,現(xiàn)在一個(gè)片上處理器可以提供卓越的設(shè)計(jì)方案。
當(dāng)評估諸如LatticeMico32這樣的特殊處理器時(shí),使用嵌入式軟處理器的優(yōu)點(diǎn)非常清楚。
一個(gè)典型的嵌入式處理器子系統(tǒng)
讓我們來看看一個(gè)典型的嵌入式處理器子系統(tǒng),例如,LatticeMico32軟處理器。該處理器需要有能與外界通信的功能,因此通常核連接到一個(gè)片上總線系統(tǒng),在此情況下是WISHBONE開放源代碼總線。然后還需要一個(gè)存儲(chǔ)系統(tǒng),用來保存處理器程序代碼以及處理器核使用的數(shù)據(jù)。對外部通信而言,在一個(gè)典型的系統(tǒng)中有各種接口,從簡單的通信接口和連接、更復(fù)雜的協(xié)議到應(yīng)用中的專用硬件模塊。現(xiàn)在該處理器總線架構(gòu)需要連接外設(shè)和存儲(chǔ)器系統(tǒng)。一個(gè)典型的系統(tǒng)如圖1所示。
圖1 典型的嵌入式RISC處理器子系統(tǒng)
讓我們來看看處理器核本身:LatticeMico32是基于哈佛總線結(jié)構(gòu)的RISC架構(gòu)的微處理器(圖2)。 RISC體系結(jié)構(gòu)提供了一個(gè)簡單的指令集和更快的性能。哈佛總線架構(gòu)提供獨(dú)立的指令和數(shù)據(jù)總線,能夠執(zhí)行單周期指令。該處理器擁有32個(gè)通用寄存器,可處理多達(dá)32個(gè)外部的中斷。定制的處理器可以插入乘法器或桶形移位器,以及不同的調(diào)試功能。
圖2 LatticeMico32:一個(gè)可配置的RISC處理器核
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論