驗證FPGA設(shè)計:模擬,仿真,還是碰運氣?
FPGA的缺點
最明顯的突出的問題是可見性。理論上說, FPGA中每個邏輯元件都可以通過芯片的調(diào)試接口觀察。但是,廠商估計只有一半的FPGA用戶在設(shè)計中加入了調(diào)試接口并將其用于驗證。考慮到內(nèi)置調(diào)試口提供的功能是如此強大,這非常令人吃驚。Xilinx公司的Patel認為,隨著FPGA規(guī)模變大,人們會更普遍地使用調(diào)試接口。
因此,在多數(shù)情況下,如果想觀測設(shè)計中的某個信號,就必須先把它引出到一個引腳,然后用邏輯分析儀分析它。由于邏輯分析儀的特點,可能還需要引出大量其他信號,如內(nèi)部時鐘。這樣做就會有很多額外的工作,另外,如果要觀測的信號是一個與I/O塊相隔甚遠的快信號,可能還必須降低FPGA上的時鐘頻率。因此,一些經(jīng)理認為:在原始驗證方案中包括對FPGA信號可觀性的要求是很重要的。
訪問信號所需的附加設(shè)計工作是該方法的一個缺點。芯片內(nèi)部節(jié)點的激勵和觀測還涉及另一個問題,那就是需要修改設(shè)計、重建和重新綜合測試,因此有可能導(dǎo)致設(shè)計和測試部分不能清楚地分割開。如果不能仔細地將調(diào)試代碼和設(shè)計代碼分開和切實做好版本控制,就可能無法跟蹤這些修改,有可能發(fā)生類似于外科醫(yī)生把手術(shù)工具留在患者體內(nèi)的情況。
另外,建立測試的時間也是個弱項。規(guī)模較大的設(shè)計中,綜合時間并不短,而插入測試設(shè)備、重建、重新綜合和重新繪圖的時間也會是個重要因素,可以影響到是否進行某個試驗。這里采用增量綜合(Incremental-synthesis)工具會有所幫助,但是對于有2千萬個門的設(shè)計,構(gòu)造和合成過程可能需要一晚上的時間。
最后,將測試平臺從模擬環(huán)境轉(zhuǎn)向FPGA環(huán)境也有問題。此時,激勵模塊需要有電路,而非一組模擬命令。觀測某個節(jié)點需要的不僅是命令,還需要有電路和物理儀器。盡管基于斷言的驗證被越來越多的人接受,但似乎還沒人開發(fā)出哪種方法可以系統(tǒng)性地將斷言從模擬環(huán)境移植到FPGA。 “現(xiàn)在還沒有可以自動將斷言移植到FPGA的解決方案,但是我們收到的對該功能的要求在不斷增加,” Simpson說。
覆蓋尺度也是一個弱項。雖然對于模擬環(huán)境正在開發(fā)完善的工具來測評驗證覆蓋情況和來自不同類工具的熔斷測量值(fuse measurement),但在FPGA領(lǐng)域,幾乎就沒什么覆蓋的概念,也沒有現(xiàn)存的工具可用于測評測試設(shè)計的覆蓋情況并將數(shù)據(jù)報告給中心覆蓋收斂(coverage-closure)系統(tǒng)。
評論