SOC設(shè)計(jì)過(guò)程的質(zhì)量保證
進(jìn)入二十一世紀(jì),標(biāo)志著ASIC設(shè)計(jì)時(shí)代結(jié)束,嶄新的系統(tǒng)芯片(SOC)時(shí)代到來(lái)。為了適應(yīng)科技發(fā)展和市場(chǎng)競(jìng)爭(zhēng)的需要,系統(tǒng)設(shè)計(jì)者不斷尋求更短的上市時(shí)間,更高的性能和更低的成本,所有這些都是推動(dòng)SOC需求的主要因素。世界SOC市場(chǎng)1998年只有57億美元,而到2003年預(yù)期能達(dá)到265億美元,市場(chǎng)將保持36%的年增長(zhǎng)率。作為IC設(shè)計(jì)技術(shù)和未來(lái)市場(chǎng)的走向,SOC也逐漸受到了國(guó)內(nèi)IC行業(yè)的重視。
本文引用地址:http://cafeforensic.com/article/3020.htmSOC的出現(xiàn)導(dǎo)致了IC業(yè)的分工,并且向虛擬再集成的商業(yè)模式發(fā)展,本文對(duì)這種趨勢(shì)作概括的描述。同時(shí),在這種虛擬再集成的商業(yè)模式中,設(shè)計(jì)質(zhì)量是最后SOC產(chǎn)品成敗的關(guān)鍵因素。功能驗(yàn)證決定了SOC的質(zhì)量,本文主要討論虛擬再集成的商業(yè)模式導(dǎo)致的功能驗(yàn)證方法的發(fā)展。
IC業(yè)的虛擬再集成
今天的IC業(yè)和許多構(gòu)成IC業(yè)價(jià)值鏈的焦點(diǎn)專業(yè)分層,將繼續(xù)沿著已經(jīng)走了十幾年的分工之路走下去,即從垂直結(jié)構(gòu)逐步向水平結(jié)構(gòu)過(guò)渡。這種分工促進(jìn)了SOC技術(shù)的成長(zhǎng),縮短了上市周期,降低了芯片造價(jià),提高了經(jīng)營(yíng)效率。
分工的發(fā)展經(jīng)歷了兩個(gè)階段:
二十世紀(jì)八十年代后期的設(shè)計(jì)與加工分離是第一個(gè)階段。在這個(gè)階段,從事設(shè)計(jì)的無(wú)生產(chǎn)線(Fabless)公司銷售產(chǎn)品,但不擁有加工條件;而加工公司專門提供加工服務(wù)。負(fù)擔(dān)著芯片加工設(shè)施大量開支的加工公司,基本上可以不用面對(duì)產(chǎn)品公司跨入IC業(yè)時(shí)所面臨的風(fēng)險(xiǎn)。
第二個(gè)階段是二十世紀(jì)九十年代末獨(dú)立IP供應(yīng)商的出現(xiàn)。SOC技術(shù)的復(fù)雜度很高,大大加重了設(shè)計(jì)負(fù)擔(dān),于是,產(chǎn)生了對(duì)驗(yàn)證好的第三方IP核的需求,以簡(jiǎn)化多功能芯片的設(shè)計(jì)。在這個(gè)階段,加工公司在提供IP硬核,以及加速經(jīng)過(guò)驗(yàn)證的IP核向更小幾何尺寸移植等方面扮演著重要的角色。因此,加工公司處于未來(lái)開放式IP時(shí)代的焦點(diǎn),將促進(jìn)系統(tǒng)設(shè)計(jì)、IC設(shè)計(jì)、第三方IP和電子設(shè)計(jì)自動(dòng)化等這些商業(yè)增值活動(dòng)的虛擬再集成。
SOC趨勢(shì)將進(jìn)一步加速分工的進(jìn)化。分析家預(yù)測(cè):設(shè)計(jì)服務(wù)和IP將成為分工的主旨,然后是純粹的加工。第三方IP供應(yīng)商將為無(wú)生產(chǎn)線公司、集成器件制造商(IDM)和系統(tǒng)設(shè)計(jì)公司進(jìn)一步減少進(jìn)入市場(chǎng)和縮短上市周期方面的種種障礙。
分工進(jìn)化有幾個(gè)主要的推動(dòng)力量。第一,使用委托加工是進(jìn)入IC業(yè)的一個(gè)低風(fēng)險(xiǎn)、很有競(jìng)爭(zhēng)力的途徑。使用加工服務(wù),無(wú)生產(chǎn)線公司進(jìn)入市場(chǎng)時(shí),沒(méi)有加工工廠的沉重經(jīng)濟(jì)負(fù)擔(dān)。而且,IC業(yè)也經(jīng)歷反復(fù)的商業(yè)周期。在衰退期時(shí),使用加工的IC公司有低得多的固定成本,會(huì)更有競(jìng)爭(zhēng)力。第二,SOC趨勢(shì)大大增加了設(shè)計(jì)復(fù)雜度,促使無(wú)加工線公司和集成器件制造商專注于它們的核心競(jìng)爭(zhēng)產(chǎn)品:高層次設(shè)計(jì)和IP。
分析家預(yù)測(cè)新的IP時(shí)代要經(jīng)歷一個(gè)根本的改變。這個(gè)改變是系統(tǒng)開發(fā)和IC芯片開發(fā)將按職能劃分為兩部分,如圖1所示:一個(gè)將專門進(jìn)行IP核設(shè)計(jì),另外一個(gè)進(jìn)行系統(tǒng)級(jí)集成。
IC業(yè)的分工繼續(xù)發(fā)展,它將從一個(gè)垂直結(jié)構(gòu)變成由各個(gè)專業(yè)分層構(gòu)成的水平結(jié)構(gòu)。這種轉(zhuǎn)變又產(chǎn)生了再集成為另外一個(gè)商業(yè)模型的要求。如圖2所示,由EDA工具、庫(kù)、IP核、加工等公司構(gòu)成的一個(gè)緊密的相互聯(lián)系的網(wǎng)絡(luò),要比分層關(guān)系有更高的生產(chǎn)率。尤其是在深亞微米設(shè)計(jì)中,這種強(qiáng)有力的網(wǎng)絡(luò)保證了設(shè)計(jì)平臺(tái)高性能、產(chǎn)品周期更短、一次流片設(shè)計(jì)的無(wú)缺陷。各供應(yīng)商的緊密伙伴關(guān)系為用戶提供了一個(gè)完整的解決方案。在這種關(guān)系中,委托加工是核心,也是SOC發(fā)展關(guān)注的焦點(diǎn),是這種虛擬再集成的組織者。無(wú)論是IP的開發(fā)、授權(quán)、SOC的加工和驗(yàn)證,都是圍繞委托加工來(lái)進(jìn)行的。
SOC功能驗(yàn)證
現(xiàn)在,還沒(méi)有驗(yàn)證SOC的標(biāo)準(zhǔn)方法。各種SOC對(duì)HDL語(yǔ)言使用上的不一致造成了大量的驗(yàn)證技術(shù)和手段。由于大約70%的設(shè)計(jì)工作都在驗(yàn)證上,驗(yàn)證途徑的標(biāo)準(zhǔn)化已經(jīng)變得非常必要。
現(xiàn)在,為緩解復(fù)雜系統(tǒng)功能驗(yàn)證問(wèn)題,提高功能驗(yàn)證質(zhì)量的新工具不斷涌現(xiàn)。不管過(guò)去還是現(xiàn)在,電子部件的質(zhì)量主要依賴于它們的驗(yàn)證過(guò)程怎么樣。不好驗(yàn)證,不論由于什么原因,極有可能造成電子部件質(zhì)量差或失敗。
現(xiàn)在,一般有一個(gè)專門的隊(duì)伍負(fù)責(zé)驗(yàn)證設(shè)計(jì)。只有驗(yàn)證工作的起點(diǎn)好,他們的工作才能好,也就是說(shuō)好的驗(yàn)證必須有一個(gè)好的規(guī)格書,規(guī)格書也是驗(yàn)證過(guò)程的起點(diǎn)。驗(yàn)證從規(guī)格指定階段開始,在設(shè)計(jì)、實(shí)現(xiàn)和加工各階段一直持續(xù)進(jìn)行。
模塊為基礎(chǔ)SOC的驗(yàn)證
SOC一般是由統(tǒng)一的總線結(jié)構(gòu)連接起來(lái)的IP核的聚集?,F(xiàn)在,有許多商用或非商用的總線結(jié)構(gòu)在使用?;诳偩€結(jié)構(gòu)的驗(yàn)證模型是目前SOC中比較成熟的技術(shù)。
總線結(jié)構(gòu)一般通過(guò)總線功能模型(BFM)來(lái)模擬,該模型的復(fù)雜度由總線協(xié)議來(lái)決定,分為預(yù)捆包(prepackaged)的PLI(編程語(yǔ)言接口)為基礎(chǔ)的BFM和用戶定制的Verilog BFM。
一個(gè)完整testbench的建立需要5要素:驗(yàn)證計(jì)劃、測(cè)試實(shí)例、完整的BFM、待測(cè)部件DUT和testbench。
在所有的驗(yàn)證方法中,驗(yàn)證計(jì)劃決定了最終驗(yàn)證的好壞,所以,驗(yàn)證計(jì)劃是非常關(guān)鍵的,而不是可有可無(wú)的。為了一次成功,設(shè)計(jì)者必須識(shí)別在什么條件下必須檢測(cè)什么特征,以及期望的反饋該是什么。整個(gè)設(shè)計(jì)團(tuán)隊(duì)都要參與計(jì)劃制訂,以保證它的完整性和正確性。驗(yàn)證計(jì)劃應(yīng)該采用黑盒功能驗(yàn)證方式,這是由整個(gè)驗(yàn)證通過(guò)的一個(gè)BFM來(lái)執(zhí)行,而BFM只能訪問(wèn)接口信號(hào)來(lái)決定的。
黑盒驗(yàn)證方式有不依賴于實(shí)現(xiàn)的優(yōu)點(diǎn),也就是設(shè)計(jì)不管是行為級(jí)、可綜合的RTL、門級(jí)網(wǎng)表、ASIC、FPGA或者甚至是軟件都與它無(wú)關(guān)。黑盒法形成了真正的一致性驗(yàn)證,表明了某個(gè)設(shè)計(jì)是否達(dá)到了規(guī)格書要求的目標(biāo)。另外,這種方式對(duì)于保證測(cè)試激勵(lì)便攜性(portability)也是非常關(guān)鍵的。
編制驗(yàn)證計(jì)劃的時(shí)候,每個(gè)測(cè)試實(shí)例應(yīng)當(dāng)區(qū)分每個(gè)單一的設(shè)計(jì)特征,防止復(fù)合特征出現(xiàn),這可以簡(jiǎn)化調(diào)試的過(guò)程。
但是,在驗(yàn)證過(guò)程中經(jīng)常會(huì)出現(xiàn)規(guī)范要求的改變,這時(shí)必須修改驗(yàn)證計(jì)劃,驗(yàn)證計(jì)劃必須與設(shè)計(jì)規(guī)范保持同步。
驗(yàn)證環(huán)境另外一個(gè)關(guān)鍵部分是BFM。可以使用現(xiàn)有的封裝好的BFM,也可以基于總線結(jié)構(gòu)的時(shí)序圖,構(gòu)造自己的BFM。無(wú)論如何,都要確保BFM模型能準(zhǔn)確地反應(yīng)總線協(xié)議。BFM主要包括測(cè)試實(shí)例執(zhí)行所引發(fā)的總線任務(wù),另外,它還必須包括象watchdog定時(shí)器和wait-acknowledge等的支撐型任務(wù)。如果協(xié)議要求的話,BFM還必須執(zhí)行密集型(back to back)事件,比如burst-read和burst-write。監(jiān)控器monitor可以內(nèi)建在BFM里,也可以是獨(dú)立的設(shè)計(jì)文件。
既然BFM只訪問(wèn)頂層的接口信號(hào),于是testbench也只需要看到頂層DUT的信號(hào)。推薦使用testbench的自動(dòng)生成器,透明生成沒(méi)有錯(cuò)誤困擾的testbench。
有些驗(yàn)證方式要求多個(gè)testbench,但是由于很難跟蹤各testbench執(zhí)行中引起了哪些文件執(zhí)行,所以這種方法非常繁瑣,很容易出錯(cuò)。故只使用一個(gè)統(tǒng)一的testbench的方法受到了普遍的歡迎。在這個(gè)方法中,不用為RTL和門級(jí)分別產(chǎn)生testbench。完整的測(cè)試環(huán)境包括一個(gè)或多個(gè)驗(yàn)證語(yǔ)言文件(VL, Verification Language file),即測(cè)試實(shí)例,一個(gè)DUT,一個(gè)BFM和一個(gè)testbench。Testbench的輸入是驗(yàn)證語(yǔ)言文件VL,仿真結(jié)果由監(jiān)控器載入日志文件。
所有部件級(jí)的測(cè)試實(shí)例很容易移植到系統(tǒng)級(jí),往往可以直接把它們應(yīng)用到系統(tǒng)級(jí)的全功能模型(FFM)或軟件模擬環(huán)境,即在SOC設(shè)計(jì)中部件級(jí)設(shè)計(jì)操作驗(yàn)證應(yīng)與系統(tǒng)級(jí)驗(yàn)證的無(wú)縫對(duì)接,如圖3所示。
平臺(tái)為基礎(chǔ)的SOC驗(yàn)證
平臺(tái)為基礎(chǔ)SOC驗(yàn)證強(qiáng)調(diào)軟硬件的協(xié)同設(shè)計(jì)和仿真,驗(yàn)證方式上有基于數(shù)學(xué)推導(dǎo)的形式驗(yàn)證方法和基于仿真的動(dòng)態(tài)功能驗(yàn)證。形式驗(yàn)證的代碼覆蓋率好,但涉及較復(fù)雜的數(shù)學(xué)推導(dǎo),推導(dǎo)本身的正確性難以把握。而且,系統(tǒng)較復(fù)雜時(shí),形式驗(yàn)證會(huì)成為整個(gè)項(xiàng)目進(jìn)展的瓶頸,甚至由于成本太高而不能實(shí)施。動(dòng)態(tài)功能驗(yàn)證關(guān)注整個(gè)系統(tǒng)或其中某些部分的仿真運(yùn)行,對(duì)仿真結(jié)果做出判斷和調(diào)試,是本文討論的重中之重。
驗(yàn)證主要是建立整個(gè)設(shè)計(jì)和內(nèi)部子模塊的驗(yàn)證環(huán)境。為了不讓驗(yàn)證處于項(xiàng)目的關(guān)鍵路徑上,主要開展軟硬件驗(yàn)證工作的并行,減少驗(yàn)證的設(shè)計(jì)開銷。同時(shí),基于商業(yè)工具的驗(yàn)證環(huán)境,最好能夠復(fù)用主流項(xiàng)目中的一些工作,進(jìn)一步提高驗(yàn)證的效率。在下面比較的兩類方式中,可驗(yàn)證性設(shè)計(jì)比傳統(tǒng)方式有更多的優(yōu)越性。
傳統(tǒng)的驗(yàn)證方式
整個(gè)結(jié)構(gòu)從系統(tǒng)指定階段開始構(gòu)造,這時(shí)忽略軟硬劃分。功能指定先由C或C++編程實(shí)現(xiàn),以后再精煉。硬件模塊由C/C++和某個(gè)或某些testbench來(lái)描述和實(shí)現(xiàn),且從C/C++實(shí)現(xiàn)可以重新設(shè)計(jì)出RTL級(jí)的HDL實(shí)現(xiàn)。為了驗(yàn)證,單個(gè)子模塊(C或HDL)可以隨時(shí)換入換出系統(tǒng)。在HDL仿真過(guò)程中,一般是施加波形來(lái)執(zhí)行硬件測(cè)試。在某個(gè)時(shí)間點(diǎn),通常需要建立一個(gè)原型系統(tǒng)。最后,時(shí)間到的時(shí)候,PG將會(huì)交付加工。
這個(gè)流程很普遍(實(shí)際肯定比這里概括的要復(fù)雜得多),雖然很適合手邊的工作,但也不是盡善盡美的。
最新的驗(yàn)證方式(推薦)
-可驗(yàn)證性設(shè)計(jì)
(DFV-Design For Verification)
缺乏一致性和復(fù)用性差是傳統(tǒng)驗(yàn)證流程的主要問(wèn)題。既然一個(gè)復(fù)雜系統(tǒng)的驗(yàn)證占用整個(gè)項(xiàng)目70%的時(shí)間,定義一個(gè)能夠使用現(xiàn)有任何一種驗(yàn)證工具、簡(jiǎn)單明了的驗(yàn)證方法是非常關(guān)鍵的。于是,提出了基于“可驗(yàn)證性設(shè)計(jì)”這個(gè)概念的驗(yàn)證流程。
可驗(yàn)證性設(shè)計(jì)方法解決的問(wèn)題,對(duì)于改善設(shè)計(jì)過(guò)程的動(dòng)態(tài)功能驗(yàn)證階段的質(zhì)量舉足輕重:
* C/C++和HDL的分別硬件描述是必需的,但是至少testbench可以在不同設(shè)計(jì)階段廣泛復(fù)用。要求建立的每個(gè)測(cè)試必須有應(yīng)用于它調(diào)用的子模塊的所有映象(view,即C/C++、VHDL、Verilog等描述形式)的可能,并且能使用市面上所有的仿真模擬工具;
* 在HDL驗(yàn)證過(guò)程使用的映象必須是可綜合的;
* 必須是IP復(fù)用。這不僅僅是現(xiàn)有硬件模塊的復(fù)用,還表明了訪問(wèn)非常合適的測(cè)試環(huán)境時(shí)的復(fù)用可能性。該測(cè)試環(huán)境作為驗(yàn)證工作的一部分必須復(fù)用;
* 一些映象經(jīng)常需要調(diào)整。為保證一致性,當(dāng)映象手工修改后,要使用形式驗(yàn)證技術(shù);
* 完全驗(yàn)證,尤其是在“任務(wù)模式”(包括實(shí)際的軟件),實(shí)現(xiàn)時(shí)必需很長(zhǎng)的仿真過(guò)程。在該過(guò)程中建議使用模擬手段,提高執(zhí)行效率;
* 覆蓋率標(biāo)準(zhǔn)在驗(yàn)證過(guò)程中影響著一些選擇,所以非常重要;
* 仿真過(guò)程太長(zhǎng)而不是合理驗(yàn)證手段時(shí)候,模擬往往是較好的選擇。
市場(chǎng)提供了幾種可能的模擬手段,如:不僅僅是模擬器,經(jīng)常用作快速原型平臺(tái)的FPGA系統(tǒng);還有其它一些更像仿真器,在某些方面,比基于FPGA的系統(tǒng)更容易使用的模擬系統(tǒng)。從模塊正確性檢查一直到系統(tǒng)級(jí)檢查,它們都有比較廣泛的應(yīng)用。所以,這是系統(tǒng)集成和軟件開發(fā)的較好選擇(除非有頻率限制)。
可驗(yàn)證性設(shè)計(jì)的驗(yàn)證方式,很好地解決了上面提到的動(dòng)態(tài)功能驗(yàn)證問(wèn)題。
結(jié)語(yǔ)
隨著IP的出現(xiàn),IC業(yè)的各專業(yè)分層,通過(guò)非常緊密的聯(lián)系,虛擬的重新結(jié)合起來(lái),構(gòu)成了高效運(yùn)作、增值能力很強(qiáng)的新型商業(yè)模型。這也是我國(guó)IC業(yè)的發(fā)展方向。同時(shí),在這種商業(yè)模式下,SOC設(shè)計(jì)質(zhì)量,即IP功能驗(yàn)證,是倍受關(guān)注的問(wèn)題。本文給出了兩大類功能驗(yàn)證策略和方法,它們是由SOC不同設(shè)計(jì)方式?jīng)Q定的,提供給國(guó)內(nèi)的設(shè)計(jì)人員參考?!?/font>
參考文獻(xiàn)
1.Shang-yi Chiang, "Foundries and the dawn of an open IP era", Computer , Volume: 34 Issue: 4 , April 2001,
2.Iniguez, A, "Vector language: a proposed verification methodology for intellectual property cores", ASIC/SOC Conference, 2001. Proceedings,
3.Sforza, F., Battu, L., Brunelli, etc, "A "design for verification" methodology", Quality Electronic Design, 2001 International Symposium on, 2001.
c++相關(guān)文章:c++教程
評(píng)論