一種基于ARM內核SoC的FPGA 驗證環境設計方法
引 言
隨著片上系統(SoC) 設計的復雜度和性能要求的不斷提高, 軟硬件協同設計(Hardware/ Software Co2de2sign) 貫穿于SoC 設計的始終。軟硬件協同設計是一個以性能和實現成本為尺度的循環優化過程,驗證設計是其中必不可少的重要環節。目前大多數公司提供的開發驗證系統(開發板) 存在兩個弱點:一是開發板的性能、規模難以根據特定的設計需求靈活、自由地調節;二是開發板的功能大多數只能進行軟件代碼的調試,即使ARM公司提供的開發平臺也只能調試部分硬件。這兩個弱點均在一定程度上限制了軟硬件劃分的探索空間,使所設計的SoC 不能獲得更佳結構實現的能力。
本文利用現場可編程門陣列(FPGA) 重用性好、現場靈活性好的優勢,開發一個能進行詳細的行為監測和分析的實時運行驗證平臺,實現軟硬件的緊密和靈活耦合,從而克服上述結構的弱點,以全實時方式運行協同設計所產生的硬件代碼和軟件代碼,構成一個可獨立運行、可現場監測的驗證平臺。這樣,不但能夠提高SoC 流片成功率,加快SoC 的開發,而且可以降低整個SoC 應用系統的開發成本。
驗證平臺的設計
系統設計
圖1 是我們設計的SoC 系統架構, 選用了ARM7TDMI 處理器核, 它是一個RISC 體系的32 位CPU ,具有功耗低、性價比高、代碼密度高三大特色(ARM公司本身不生產芯片,普通用戶無法獲得ARM可綜合的CPU 核) ,包括AMBA 總線、DMA 控制器和Bridge 、(外部存儲器接口EMI) 、通用串行總線(USB) 客戶端控制器、液晶顯示器(LCD) 控制器、多媒體加速器(MMA) 、AC97 控制器、通用串口/ 紅外(UART/ IrDA) 、通用定時器/ 脈寬調制器(TIMER/ PWM) 、中斷控制器( INTC) 、同步外設接口(SPI) 、實時時鐘(RTC/ WD) 、時鐘和功耗管理單元(PMU) 。
圖1 SoC的系統架構
圖2 是該SoC 驗證平臺的結構框圖,選用Altera公司的APEX20K1500E 作為驗證SoC 用的FPGA ,該器件由一系列的MegaLAB 結構構成,每個結構包含一組邏輯陣列塊(LAB) 、一個嵌入式系統塊( ESB) 及一個在MegaLAB 結構內提供信號通道的MegaLAB 互連。在MegaLAB 結構和I/ O 引腳間的信號布線通過Fast -Track 互連實現。另外,靠邊的LAB 能被I/ O 引腳通過局部互連驅動。
該器件有如下特點:具有多核結構,支持可編程單芯片系統(SOPC) ,密度高,專為低電壓應用設計,最多帶4 個鎖相環的時鐘管理電路,多達8路全局時鐘信號,每個I/ O 引腳具有獨特的三態輸出使能控制及可編程壓擺率控制[1 ,2 ] 。使用該器件作為AMBA 總線模塊、DMA 控制模塊、EMI 模塊、USB 模塊及LCD 控制模塊等多個IP 模塊的硬件載體, 與ARM7 TDMI處理器構成了一個SoC的驗證系統。
圖2 中外圍電路的主要功能是驗證SoC 中各個接口IP 模塊能否與ARM7TDMI 核、外部接口單元、硬件驅動軟件和實時操作系統協調高效地工作。由于接口(如USB 接口、UART/ IrDA 接口、SPI 和LCD 接口等) 電路結構比較簡單,且很多資料都有介紹,在設計時,除了注意通用的設計規則和印制電路板(PCB) 布局布線外,沒有特別的要求(總結構框圖中所有外圍電路都在該開發驗證系統中調試成功) ,同時,為了便于分析各個被驗證的IP 模塊在任意時刻的狀態, 我們將APEX20K1500E 的大多數I/ O 引腳都引出到PCB 上,以方便SoC 開發人員使用邏輯分析儀進行信號實時采集和分析,也可讓信號發生器產生一些特定信號通過以供系統調試使用。該開發系統在PCB 的設計時還特別注意了電磁干擾的屏蔽。
圖2 驗證平臺結構框圖
電路設計
電源的設計
擁有符合FPGA 要求的電壓對該驗證環境的設計十分重要。根據SoC 的發展趨勢和APEX20K1500E增強型I/ O的特點,該平臺選用2 . 5V內核電壓和3. 3 V 的I/ O 電壓,同時提供2. 5 V 和1. 8 V 可選電壓,以滿足SoC 更低電壓、更低功耗的發展要求,方便以后重復使用。
評論