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