以FPGA為基礎(chǔ)的SoC驗證平臺 自動化電路仿真?zhèn)慑e功
隨著系統(tǒng)芯片(SoC)設(shè)計的體積與復(fù)雜度持續(xù)升高,驗證作業(yè)變成了瓶頸:占了整個SoC研發(fā)過程中70% 的時間。因此,任何能夠降低驗證成本并能更早實現(xiàn)驗證sign-off的方法都是眾人的注目焦點。
本文引用地址:http://www.ex-cimer.com/article/191056.htm臺灣工業(yè)技術(shù)研究院 (工研院, ITRI) 在今年的設(shè)計自動化大會(2011 DAC)提出的案例研究,提出一種能夠顯著提升客制化FPGA原型板驗證效率的創(chuàng)新方法,自動化現(xiàn)有的電路仿真(in-circuit emulation)偵錯功能,并提供更高的FPGA能見度。這個以FPGA為基礎(chǔ)的SoC驗證平臺對工研院而言是前景看好的嶄新領(lǐng)域,對其支持臺灣IC設(shè)計產(chǎn)業(yè)新技術(shù)領(lǐng)域的研發(fā)工作助益良多。
案例研究:高效能的多媒體SoC平臺
這款SoC設(shè)計是高效能的Android兼容多媒體SoC平臺。配置了AXI、AHB與APB總線,供通訊使用;由工研院(PACDSPs、EMDMA 與 DDR2控制器)設(shè)計的高效能客制化IP組件連結(jié)至AXI 總線,加速H.264視訊編譯碼器(video codec)等多媒體應(yīng)用軟件的執(zhí)行。包括ARM、SDRAM、DMA、SRAM、Ethernet與LCD在內(nèi)的標(biāo)準(zhǔn)IP組件連結(jié)至AHB總線,適合于一般應(yīng)用。最后,UART、Timer、I2S、I2C與Watchdog等低頻率的IP區(qū)塊(block)則連結(jié)至APB總線。
下列案例研究說明了工研院與思源科技工程師如何合作,使用思源科技ProtoLink Probe Visualizer,克服工研院SoC設(shè)計中出現(xiàn)的驗證挑戰(zhàn)。這個與音效功能相關(guān)的問題是:在 FPGA原型板未激活OS的狀況下,功能正常運作 (可錄音與播放);但如果在原型板上啟用Linux,功能就無法正常運作。在FPGA原型環(huán)境中,要使用傳統(tǒng)的偵錯方法排除這類問題是相當(dāng)困難的。FPGA的能見度僅局限在少數(shù)的訊號與時脈周期內(nèi),無法提供足夠的信息找出錯誤所在。而因為激活OS(例如 Linux)耗費的時間相當(dāng)長,想透過緩存器轉(zhuǎn)換階層(RTL) 仿真來解決問題也行不通。由于問題的成因可能在于軟件、硬件或驅(qū)動程序,因此要確實找出問題的根本原因是一項考驗。
與眾不同的作法
要簡化偵錯作業(yè),就需要更高效率的驗證方法。ProtoLink Probe Visualizer是新的原型驗證環(huán)境,采用以軟件為基礎(chǔ)的方法,可以從RTL設(shè)計階段開始到最終的設(shè)計實現(xiàn)階段,都提供高水平的設(shè)計能見度,可全面加速偵錯作業(yè)的進行。
工研院起初擔(dān)心其客制化原型板可能無法符合思源科技ProtoLink Probe Visualizer的接口需求,而思源科技工程師在進行幾項快速測試之后,證明工研院客制化原型板上的標(biāo)準(zhǔn) J連接器可順利地與執(zhí)行Probe Visualizer軟件的工作站連結(jié)。只需在原型板上新增鎖相回路(PLL),提供所需的取樣時脈(sampling clock)即可。FPGA的設(shè)置流程相當(dāng)簡單,可輕松整合至現(xiàn)有的程序(script) 中,自動選取大約100個探測訊號(probed signal),就能見度來說,已比過去的方法提升6倍之多。此外,所有的探測資料都可儲存在外接的2GB探測訊號內(nèi)存中而不占用FPGA資源,真正額外需要的探測邏輯(probe logic)也僅占用FPGA的2%,可說相當(dāng)?shù)纳?。外接?nèi)存的資料容量可儲存充足長度的時脈周期,讓工程師能夠確實掌握軟件、硬件與驅(qū)動程序間的關(guān)系。
工研院團隊透過思源科技Verdi自動偵錯系統(tǒng)的進階觀察、追蹤與分析功能,來使用儲存的探測資料進行偵錯作業(yè)。在經(jīng)過多次重復(fù)偵錯之后,發(fā)現(xiàn)了兩個問題:1) USB中斷 (USB interrupt)長時間鎖住ARM,因此I2S內(nèi)的FIFO是空的,因而造成問題; 2)定時中斷(Timer interrupt)的優(yōu)先級高于DMA中斷,因此再一次造成I2S內(nèi)的FIFO是空的。工研院工程師使用思源科技軟件的偵錯功能,進一步分析設(shè)計行為,僅管表現(xiàn)出來是共通的錯誤征兆,工程師還是能夠迅速發(fā)現(xiàn)這些錯誤的根本成因是源于兩種不同的情況。
評論