串行外圍接口SPI功能模塊的設(shè)計(jì)
3.3 電路實(shí)現(xiàn)
為了保證RTL代碼的正確性,對IP的功能進(jìn)行全面的仿真驗(yàn)證。仿真包括RTL級和門級仿真驗(yàn)證。RTL級仿真是將代碼文件調(diào)入硬件描述語言的仿真軟件進(jìn)行功能仿真,門級仿真包括布局布線前和布局布線后仿真。布局布線后仿真,獲得精確的時(shí)延參數(shù)。將RTL級代碼轉(zhuǎn)換成門級網(wǎng)表,0.13um工藝標(biāo)準(zhǔn)單元庫。
在傳統(tǒng)的設(shè)計(jì)流程中進(jìn)行功能驗(yàn)證,首先需要通過寫測試矢量的方式給需要進(jìn)行功能測試的模塊加激勵(lì),然后通過觀察模塊的輸出結(jié)果,判斷模塊的功能是否正確。但是在寫測試矢量時(shí),測試工程師是在自己對模塊功能理解的基礎(chǔ)上進(jìn)行的。這樣就存在一個(gè)問題,測試矢量對模塊的激勵(lì)有可能是不完備的,還有可能是錯(cuò)誤的,但測試矢量的激勵(lì)并沒有使錯(cuò)誤體現(xiàn)出來;也有可能模塊的功能是正確的,誤報(bào)錯(cuò)誤使驗(yàn)證過程變得非常低效。為避免以上問題,對本設(shè)計(jì)模塊的功能驗(yàn)證中,采用系統(tǒng)級驗(yàn)證環(huán)境。該環(huán)境由IP總線、驅(qū)動器、監(jiān)視器、外部模塊和協(xié)調(diào)它們工作的腳本組成。組成系統(tǒng)的各模塊可以按需要加人環(huán)境。每次驗(yàn)證過程就是相應(yīng)的激勵(lì)作用于環(huán)境的過程。驗(yàn)證結(jié)果由環(huán)境產(chǎn)生、檢驗(yàn)和輸出。以保證測試矢量的完備性和正確性。
該驗(yàn)證環(huán)境在LINUX操作系統(tǒng)下,仿真器采用Cadence公司的Nc—verilog,支持C/C++、Verilog和VHDL協(xié)同仿真,可以直接把SPI模塊掛在驗(yàn)證環(huán)境中,通過Verilog的$readmemh任務(wù)讀入軟件激勵(lì)進(jìn)行驗(yàn)證。
在系統(tǒng)時(shí)鐘為36MHz的情況下,圖5(a)給出了CPOL=0,CPHA=1時(shí),發(fā)送6位數(shù)據(jù)的仿真結(jié)果。圖5(b)給出了在CPOL=0,CPHA=0的情況下,接收6位數(shù)據(jù)的仿真結(jié)果。
圖5 仿真結(jié)果
這兩個(gè)仿真結(jié)果說明本設(shè)計(jì)完全支持4種SPI傳輸協(xié)議,而且能夠以最大的速率無縫傳輸數(shù)據(jù)。
4 結(jié)束語
本設(shè)計(jì)的SPI可作為IP核嵌入監(jiān)控系統(tǒng)SOC芯片中。芯片通過流片驗(yàn)證,各項(xiàng)指標(biāo)已達(dá)到了原設(shè)計(jì)的要求,通過板級測試,芯片中SPI能支持4種傳輸協(xié)議,工作的最高頻率可達(dá)18M bps,在一秒鐘內(nèi)能夠抓圖或者回顯l5幀圖像,達(dá)到業(yè)內(nèi)較高水平。本設(shè)計(jì)中的不足之處是沒有做數(shù)據(jù)校驗(yàn),隨著市場需求的提高,可在設(shè)計(jì)中增加CRC校驗(yàn)以增加數(shù)據(jù)的正確性,提高系統(tǒng)效率。
評論