基于ARM內(nèi)核SoC的FPGA 驗(yàn)證環(huán)境設(shè)計(jì)方法
圖8 寫時(shí)序
寫命令應(yīng)當(dāng)滿足的時(shí)序要求是:在時(shí)鐘周期的上升沿處RAS 高,WE、CS、CAS 低;第一個(gè)要寫的數(shù)據(jù)必須與寫命令同時(shí)發(fā)出。從圖8 可以看出,確實(shí)能夠成功執(zhí)行寫操作訪問。注意: 在寫之前,必須將該bank激活,只有激活的bank 才能進(jìn)行讀寫,圖中的激活命令沒有顯示出來,同時(shí),由于該訪問總共300 個(gè)地址完全在一個(gè)行內(nèi),不用對其進(jìn)行行預(yù)充電和再激活(在一個(gè)已經(jīng)激活的bank 內(nèi),讀寫不同的行就要求對該bank進(jìn)行預(yù)充電和再激活) 。
通過圖6~圖8 ,還可以看出各種操作命令的建立時(shí)間Tsetup和保持時(shí)間Thold都設(shè)置得比較緊,幾乎剛好滿足。這種IP 核沒有給用戶留出足夠的余量,一旦用戶對PCB 的制作稍有不慎,在PCB 板級違反建立時(shí)間和保持時(shí)間極有可能,造成SDRAM 的不正確訪問,所以需要進(jìn)行檢查和修改。經(jīng)過前端人員的仿真驗(yàn)證,代碼中確實(shí)存在忽略建立時(shí)間和保持時(shí)間的問題,修改后重新在該平臺進(jìn)行驗(yàn)證,以上兩個(gè)時(shí)間都能很好地滿足,且有足夠的余量。另外,從圖中可以看出,數(shù)據(jù)線上有一些毛刺,這是由于FPGA 的I/ O 端口引腳對邏輯分析儀的接口沒有很好地分配造成的,重新分配FPGA 的I/ O 端口,絕大部分毛刺都能很好地消除。
通過以上實(shí)驗(yàn),說明該驗(yàn)證平臺確實(shí)能夠達(dá)到驗(yàn)證SOC IP 核的目的。要注意的是,當(dāng)要驗(yàn)證各個(gè)IP模塊(包括INT 中斷控制器、DMA 控制器、LCD 控制器和AC97 控制器等) 之間協(xié)同工作時(shí),燒入的代碼較多,占用FPGA 資源較多,再加上需要實(shí)時(shí)運(yùn)行,例如,播放PM3 實(shí)時(shí)解碼過程中,時(shí)鐘至少要求60 MHz ,需要工作的IP 核有總線、DMA 控制器、INT 中斷控制器、AC97 控制器等,在這種情況下,最好使用Multi PointSynthesis 的綜合流程和Timing driven 的綜合與優(yōu)化策略,使用Logic-lock 約束技術(shù)和人工干預(yù)布局布線,才能達(dá)到預(yù)期目的。
使用該平臺對我們開發(fā)的SoC 的各個(gè)模塊進(jìn)行了驗(yàn)證,并在10 MHz~70 MHz 條件下與代碼前(后) 仿真結(jié)果和SoC 實(shí)測結(jié)果進(jìn)行了比較,結(jié)果見圖9??梢钥闯?,該FPGA 驗(yàn)證平臺在多模塊、高速情況下,性能有所下降,需進(jìn)一步提高綜合和布局布線技術(shù)。
評論