《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 解決方案 > Cortex-M1:面向FPGA的解決方案

Cortex-M1:面向FPGA的解決方案

2012-04-23
關鍵詞: 開發工具 Cortex-M1 FPGA
</a>FPGA" title="FPGA">FPGA" title="FPGA">FPGA作為靈活且具成本效益的平臺,越來越多地用于實現高性能嵌入系統的快速設計。這兩種趨勢相結合,正在推動市場對使用可編程邏輯實現32位處理器的需求。

圖1<a class=Cortex-M1處理器支持緊耦合內存TMC并采用了精細的低后滯中斷控制器" border="0" height="354" hspace="0" src="http://files.chinaaet.com/images/20100812/dae56da3-5db5-49f9-aae7-12708347c9a4.jpg" width="400" />


  市場所需的是針對FPGA優化且符合業界標準的32位處理器構架體系。直到最近,大多數處理器知識產權(IP)一直是針對ASIC使用而開發。因此,在FPGA的粗顆粒構架上實現時,處理器往往較大且速度較慢。雖然,市場上也有一些可在FPGA上實現的專用軟IP處理器核,但它們在開發工具、技術支持資源及設計人員經驗方面都存在局限。

  為了應對這一市場需求,Actel和ARM公司推出了專為在FPGA上實現而設計的32位ARM處理器核Cortex-M1,可在Actel非易失性ProASIC3 FPGA和Fusion可編程系統芯片(PSC)上使用。用戶無需與Actel簽約,也無需授權費用和權益金,從而將ARM體系擴展到小批量應用領域。對于那些擴大至超大產量規模的設計,32位Cortex-M1處理器核可執行業界標準的Thumb指令集,并向上兼容Cortex-M3處理

 

器,因而可輕易轉向ASIC設計。由于符合業界標準,Cortex-M1處理器核也能重復利用現有的開發工具、代碼和知識,有助于節省成本、降低開發風險及加快產品面市。

 

  在FPGA上實現業界標準構架

  專有構架所面臨的困難是如何提高其在目標應用中的效率,以及如何解決支持工具受限的問題。而且,經驗豐富的設計人員都知道,需要花費時間學習,并積累經驗,才能掌控新產品的特性。不幸的是,這些困難與日益縮短的開發周期及越來越大的設計風險形成直接的沖突。由于這些原因,設計人員總是趨向于重復使用他們所熟悉,或之前使用過的產品。

  當然,較之于專有構架,業界標準的架構給用戶帶來的優勢多得多。ARM和Actel基于Cortex構架,合作開發針對FPGA而優化的處理器核。這種定制化的設計使該處理器核的性能和效率提高,邏輯單元占用量減小。

  Cortex-M1特點

  Cortex-M1處理器核基于ARM的3級Cortex-M3流水線技術,具有高可配置性,在速度和內存占用上取得了很好的平衡,非常適合嵌入式應用。在最小配置情況下,僅比Actel的Core8051核(標準16位控制器)大一點,不超過5%。Cortex-M1在Actel ProASIC3和Fusion中的工作頻率超過70MHz。該處理器運行新的Thumb-2指令集的一個子集,支持緊耦合內存(TCM),并采用精細的低后滯中斷控制器,因而可提高嵌入式系統的性能和能力。

  改進的代碼密度能提高性能和能效

  Thumb-2技術基于成功的Thumb技術。Thumb是針對ARM微處理器設計的高代碼密度指令集,能夠提高用于低成本、高性能系統的ARM微處理器核的能力。

  就優化代碼性能而言,Thumb-2技術較之于現有的高密度代碼,內存占用減少了31%,從而降低了系統成本,同時性能提升高達38%,因而能夠延長產品的電池壽命或豐富產品的功能。

  Cortex-M1基于Cortex-M3流水線技術,并執行ARMv6-M指令集,亦即Thumb-2(ARMv7)指令集的一個全子集。Thumb-2指令集也用于Cortex系列的其它處理器核。Cortex系列向上兼容針對其傳統處理器核(ARM7、ARM9和ARM11)編寫的Thumb代碼,現有的Thumb代碼可直接在包括Cortex-M1的Cortex系列處理器上運行。

  較之于以前的ARM指令集體系,Thumb-2的優勢之一是16位和32位指令都以相同的模式執行。在過去的ARM體系中,Thumb指令主要用于子程序中,這些子程序帶有用于實現中斷服務的32位ARM指令。這種方式常常在中斷請求接收時和中斷服務啟動時之間造成較長的延遲。在Thumb-2體系中,ARM將16位和32位運作模式合并,因此處理中斷時就不必從16位模式切換到32位模式。Thumb-2能夠自由混合16位和32位指令,可大大地簡化編程任務,無需設定代碼的順序構造,即可實現代碼最小化和處理能力最大化。此外,Thumb-2指令的性能更高,這是因為設計人員能優化地混合指令,無需將它們按16位和32位分組。

  內存存取速度更快性能更高

  Cortex-M1具有來自AMBA外設總線接口的單獨內存接口。這類似于高性能的ARM9體系,但不同于ARM7,后者采用的是組合的內存和外設總線。Cortex-M1的這個單獨內存實際上是兩個接口,即為訪問指令緊耦合內存(ITCM)和數據緊耦合內存(DTCM)(見圖1)提供了單獨的通道。因此,處理器性能大大提升,因為處理器能在每個時鐘周期內從ITCM提取一條指令,且決不會因數據內存訪問操作或讀寫 AMBA上的外設而停頓。ITCM和DTCM的大小都可由用戶定制,容量可從0kB增加到1MB。

 

  高效的中斷操作縮短后滯

  Cortex-M1具有可配置的嵌套向量中斷控制器(NVIC),有利于實現低后滯中斷處理和異常處理,同時還簡化了編程(見圖1)。NVIC支持中斷優先級重新定義,并與處理器核緊密耦合,因而能減少中斷后滯,從而高效地處理隨后到達的中斷。Cortex-M1中的NVIC還允許用戶單獨決定中斷優先級,并支持4個中斷優先級別。例如,可設置關鍵事件首先處理,并可中斷一個正在執行的優先級較低的中斷服務,即設計人員可在自己的應用內部構造事件處理流程。

  簡化的編程模型使代碼編寫更方便

  Cortex-M1執行Thumb-2指令集的一個子集,有兩種工作模式。對于正常處理,Cortex-M1進入線程模式(通過復位進入或異常處理后返回);出現異常后則進入中斷處理模式。該處理器適用于那些不再需要其它工作模式的嵌入式系統。由于編程模型僅限于針對少量的工作模式,處理器的邏輯單元占用量顯著減小,因而降低了成本。

圖2標準處理器擁有龐大的開發工具系統


  這種處理器所采用的構架使設計人員能通過處理器核最大限度地控制數據和處

 

理流程,只要權衡得當,保持處理器盡可能小。這樣就可簡化編程,尤其是在多個工程師參與開發軟件和硬件的情況下。為簡化編程,使線程模式和中斷處理模式間的過渡盡可能平滑,該處理器采用了兩個堆棧。復位后,所有代碼都使用主堆棧。異常中斷處理程序可改變線程模式所使用的堆棧,即在線程模式退出時,通過改變它所使用的EXC_RETURN值將堆棧從主堆棧變為處理堆棧。而所有異常處理程序繼續使用主堆棧。堆棧指針(R13)是一個分組寄存器,負責實現主堆棧和處理堆棧間的切換。

  熟悉ARM7和ARM9的人會注意到,Cortex-M1寄存器文件作用類似于維護Thumb指令兼容性。不過,Cortex-M1寄存器要簡單些,用較少的FPGA系統門就可實現。為進一步簡化編程,該處理器還定義了一個內存映像,而處理器核能訪問該內存映像的所有區域,包括所有數據類型的數據區域。

 

  具有M1功能的FPGA

  采用FPGA就可在幾個小時內實現設計,并在應用中運行起來,而采用ASIC就需要好幾個月,而且還會有龐大的非經常性工程費用。

  ARM和Actel在開發Cortex-M1時就使處理器具有很高的可配置性,允許用戶針對應用的特定需求量身定制處理器。緊耦合內存的大小、多路復用器的大小和速度、外部中斷的個數、為實現向下兼容所采用的字節排序方式,以及是否納入調試電路和OS擴展集等,均可由用戶選擇。這樣,設計人員在編譯時就可控制,從而選出最能滿足應用要求的最小處理器配置。不僅如此,由于Cortex-M1是在FPGA器件上實現,設計人員能快速配置處理器核,將配置好的處理器核編寫入具M1功能的Flash器件中,并在最終應用中進行驗證。如果需要修改,可在幾分鐘內完成修改并重新編程寫入器件中。這樣,工程師就可在幾個小時內多次修改和測試其設計,從而找出產品的最優實現方案。

  在具M1功能的Actel FPGA上,可無縫使用Cortex-M1處理器核。具有60萬個系統門的M1AFS600 Fusion PSC集成了一個12位ADC、40個模擬輸出、8Mbit Flash內存,以及FPGA架構。Cortex-M1核僅用4300個邏輯單元就能實現,還不到M1AFS600 Fusion PSC中FPGA容量的30%。

  M1A3P1000有144kbit SRAM和300個數字I/O,Cortex-M1處理器核僅用4300個tile就能實現。

  Cortex-M1開發工具

  為支持在Actel FPGA中實現的ARM處理器,需要工具開發和調試在該處理器上運行的程序,也需要工具開發和調試編寫在FPGA中的邏輯電路。采用ARM處理器的一個主要優點是這種處理器擁有龐大的工具和設計支持生態系統,以及大量現成的嵌入式軟件程序(見圖2)。這個生態系統包含了Actel的IP核開發平臺CoreConsole IDP、Libero IDE開發環境、SoftConsole程序開發環境,以及完備的板級開發和調試環境。ARM也將在其RealView開發套件和RealView微控制器開發套件(MDK)中為Cortex-M1提供支持。

  除了ARM和Actel的開發工具外,Aldec、CriticalBlue、CodeSourcery、IAR、ImpulseC和Mentor Graphic等第三方廠商的開發工具也會為Cortex-M1提供支持。

  結論

  隨著嵌入式應用轉向可編程邏輯技術,由ASIC向FPGA的轉變正在推動人們使用在FPGA中實現的32位處理器。Cortex-M1處理器采用了均衡的三級流水線技術,精細的中斷控制器和緊耦合內存, 能最大限度地提升嵌入式系統的性能,并同時減小處理器的大小和實現成本。由于該方案基于符合業界標準的構架體系,因此用戶能夠充分利用大量現成的代碼、廣泛的知識和技術支持以及龐大的開發工具系統。

 

 
本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 99精品欧美一区二区三区美图| 国产-第1页-浮力影院| 亚洲国产成人精品无码区在线网站| 亚洲国产小视频| 男人j进女人p一进一出视频| 另类孕交videosgratis| 18禁裸男晨勃露j毛免费观看| 日产2021乱码一区| 医生系列小说合集| xxx毛茸茸的亚洲| 少妇人妻无码精品视频| 亚洲av最新在线网址| 欧美疯狂性受xxxxx另类| 另类图片亚洲校园小说区| 露脸国产自产拍在线观看| 在人间免费观看未删减 | 精品一区二区三区在线观看| 四虎影视免费永久在线观看 | 女人是男人的未来的人| 一本一道波多野结衣大战黑人 | 国产一区二区精品久久岳| 曰批全过程免费视频网址 | 网红鹿女神厨房被饥渴的| 国产精品一二三区| www.综合色| 日本在线不卡视频| 亚洲国产精品无码久久一区二区| 精品欧美一区二区三区久久久| 国产日韩综合一区二区性色av| jjizz全部免费看片| 日本乱理伦电影在线| 亚洲成a人片毛片在线| 精品无码一区二区三区在线| 国产成人精品一区二区秒拍| www国产精品| 尤物视频网站在线| 一级美国片免费看| 日韩欧美一区二区三区免费看| 亚洲精品无码不卡在线播放| 狂野欧美激情性xxxx| 国产三级精品三级在线观看|