基于ARM內核SoC的FPGA 驗證環(huán)境設計方法
圖2 中外圍電路的主要功能是驗證SoC 中各個接口IP 模塊能否與ARM7TDMI 核、外部接口單元、硬件驅動軟件和實時操作系統(tǒng)協(xié)調高效地工作。由于接口(如USB 接口、UART/ IrDA 接口、SPI 和LCD 接口等) 電路結構比較簡單,且很多資料都有介紹,在設計時,除了注意通用的設計規(guī)則和印制電路板(PCB) 布局布線外,沒有特別的要求(總結構框圖中所有外圍電路都在該開發(fā)驗證系統(tǒng)中調試成功) ,同時,為了便于分析各個被驗證的IP 模塊在任意時刻的狀態(tài), 我們將APEX20K1500E 的大多數I/ O 引腳都引出到PCB 上,以方便SoC 開發(fā)人員使用邏輯分析儀進行信號實時采集和分析,也可讓信號發(fā)生器產生一些特定信號通過以供系統(tǒng)調試使用。該開發(fā)系統(tǒng)在PCB 的設計時還特別注意了電磁干擾的屏蔽。
圖2 驗證平臺結構框圖
電路設計
電源的設計
擁有符合FPGA 要求的電壓對該驗證環(huán)境的設計十分重要。根據SoC 的發(fā)展趨勢和APEX20K1500E增強型I/ O的特點,該平臺選用2 . 5V內核電壓和3. 3 V 的I/ O 電壓,同時提供2. 5 V 和1. 8 V 可選電壓,以滿足SoC 更低電壓、更低功耗的發(fā)展要求,方便以后重復使用。
時鐘信號電路的設計時鐘電路如圖3 所示。
ARM7TDMI 核有2 個時鐘:存儲器時鐘MCLK 和內部TCK產生的時鐘DCLK。在正常操作期間,內核由MCLK 供給時鐘, 內部邏輯保持DCLK 為低。當ARM7TDMI 核處于調試狀態(tài)(nWAIT 必須為高) 時,內核在TAP 狀態(tài)機控制下由DCLK供給時鐘,且MCLK可以自由運行。所選時鐘在信號ECLK上輸出,以便外部系統(tǒng)使用。在監(jiān)控模式下,內核由MCLK供給時鐘,且不使用DCLK。所以,首先應供給存儲器時鐘MCLK。由于該系統(tǒng)除了擁有ARM7TDMI 核外,還包括電源管理模塊、復位管理模塊、狀態(tài)和控制寄存器等,應當額外供給時鐘MCLK1 和MCLK2。用以驗證可復用IP 的芯片APEX20K,也需要提供至少2 個時鐘(FP2GA2CLK1 和FPGA2CLK2);用做配置芯片的PLD 也需要提供一個時鐘(PLD2CLK) ;各個FPGA 和整個FPGA電路設計都采用全局時鐘控制方式,所有的時鐘都是由ICS525201 芯片產生,該芯片是一種可調時鐘芯片。
評論