嵌入式MCU硬件設計概述
(6)存儲器管理方案設計
存儲器是MCU中占面積較大的模塊。一個(gè)MCU中可能同時(shí)含有ROM、SRAM和FLASH三種存儲器:ROM用于放置Boot Loader、IP Drivers等,SRAM用于提高軟件運行速度、存放臨時(shí)數據,FLASH用于存放應用程序和數據。由于FLASH的讀寫(xiě)速度比較慢,為了提高FLASH的讀寫(xiě)速度,可以采用預取緩沖器和寫(xiě)緩沖器來(lái)加速指令和數據的緩沖。由于各個(gè)存儲器都有自己的地址空間,因此很方便用戶(hù)訪(fǎng)問(wèn)。為了便于系統管理,通常設計一個(gè)存儲器管理模塊,并在系統控制模塊中設計對應的控制寄存器。
(7)在線(xiàn)調試方案設計
目前,比較常用的在線(xiàn)調試方式為串行調試,如JTAG、EJTAG、UART等,使用PC機的并口、串口、網(wǎng)口或是USB接口,使得在線(xiàn)調試簡(jiǎn)單方便,成本低廉,如圖2所示。由于被調試的程序要在目標板上運行,而且MCU必須正常工作,因此需要設計一個(gè)專(zhuān)用的調試模塊以保證上位機軟件可以調用CPU來(lái)進(jìn)行軟硬件的在線(xiàn)調試,并且符合IEEE1149.1的協(xié)議標準,此模塊的基本結構如圖3所示。
圖2典型在線(xiàn)調試系統示意圖
圖3調試結構示意圖
(8)測試方案設計
MCU的測試方案主要包括物理測試、功能測試和性能測試幾部分內容。先要根據時(shí)鐘方案和復位方案對MCU進(jìn)行時(shí)鐘測試,確保時(shí)鐘電路工作正常;再對CPU進(jìn)行功能測試,因為CPU是MCU的控制核心,只有CPU正確運行才能對其他IP核進(jìn)行測試;然后再依據設計規格書(shū)對MCU外圍的數字IP核和模擬IP核進(jìn)行功能測試和性能測試。
5.2系統級驗證
為了確保設計的正確性,流片之前必須對MCU進(jìn)行全功能驗證。因此需要使用多種IIP和VIP來(lái)搭建一個(gè)系統級驗證平臺,依據設計規格書(shū)制定詳細的驗證方案,通過(guò)仿真工具,采用定向和隨機的方式或采用比較流行的OVM、VMM和UVM等驗證方法學(xué)、逐個(gè)IP核來(lái)驗證MCU的全部功能是正確的,重點(diǎn)是系統控制單元、總線(xiàn)仲裁器、功耗管理等為系統功能定制設計的非標準模塊。
5.3 FPGA原型驗證
由于系統級驗證使用的是EDA工具進(jìn)行軟件仿真,仿真的速度比較慢,因此可以通過(guò)FPGA原型驗證的方式來(lái)加速系統級驗證的速度,尤其是需要將那些功能比較復雜、規模比較大的模塊下載到FPGA中,而且應盡可能使用規模比較大的FPGA,如Virtex-7系列、ArriaV系列等。搭建FPGA驗證平臺時(shí),不僅可以使用一塊FPGA,也可以使用多塊FPGA,最好能夠將設計的所有模塊全部下載到FPGA中。FPGA原型驗證不僅要驗證硬件的正確性,還要驗證IP核驅動(dòng)程序的正確性,同時(shí)也可以驗證目標應用程序的正確性。
5.4物理設計
在對MCU系統級驗證和FPGA原型驗證后,需要進(jìn)行物理設計:依據設計規格書(shū)制定合理設計約束,從邏輯綜合到自動(dòng)布局布線(xiàn),再到物理驗證、形式驗證、靜態(tài)時(shí)序分析和功能驗證,完成從RTL到GDSII的轉換過(guò)程,最后將數據發(fā)送至代工廠(chǎng)進(jìn)行加工制造。
5.5文檔設計
文檔是MCU設計過(guò)程中很重要而且很必要的環(huán)節,且應該在設計的不同階段,以模板的形式規定在此階段所要完成的文檔設計,并由項目負責人進(jìn)行詳細審查,從而確保一旦設計中出現了任何問(wèn)題,都可以查找相關(guān)的設計文件以及對應的設計文檔,尤其是設計的細節需要體現的很完整。
6結束語(yǔ)
以上只是簡(jiǎn)要概述了MCU硬件設計的主要方面。若要設計一個(gè)性?xún)r(jià)比高、競爭力強的MCU,還需要進(jìn)行大量的、詳細的工作,尤其是電路的全功能驗證和詳盡測試,并搭建一個(gè)MCU平臺來(lái)進(jìn)行系列產(chǎn)品的開(kāi)發(fā),以保證產(chǎn)品可以源源不斷地進(jìn)入嵌入式市場(chǎng)。
評論