基于OpenVera構(gòu)建以太網(wǎng)MAC芯片驗(yàn)證平臺(tái)
發(fā)布時(shí)間:2007/4/23 0:00:00 訪問次數(shù):576
引言
當(dāng)芯片的設(shè)計(jì)規(guī)模越來越大,朝向SoC發(fā)展時(shí),RTL級(jí)功能仿真時(shí)間還可以忍受,但門級(jí)仿真己經(jīng)成為不可能繼續(xù)廣泛使用的技術(shù)了。對(duì)設(shè)計(jì)進(jìn)行完備性驗(yàn)證要求有足夠的測試向量,隨著設(shè)計(jì)規(guī)模的增大,需要的仿真向量也急劇增加。近十年來,芯片的設(shè)計(jì)規(guī)模增大了100倍,仿真向量增加了近10000倍。二者的共同作用使門級(jí)仿真所需的時(shí)間飛速增長。要找到如此龐大的能夠保證驗(yàn)證完備性的仿真向量集也變得不太可能。
另一方面,芯片設(shè)計(jì)又面臨著上市時(shí)間的巨大壓力,驗(yàn)證的不足直接導(dǎo)致芯片不能通過測試,由此可能造成更大的損失。驗(yàn)證,尤其是功能驗(yàn)證必將影響集成電路的設(shè)計(jì)和開發(fā)進(jìn)程。因此,縮短驗(yàn)證時(shí)間、建立高效的驗(yàn)證平臺(tái)已成為現(xiàn)代集成電路設(shè)計(jì)的關(guān)鍵。
基于OpenVera驗(yàn)證平臺(tái)的結(jié)構(gòu)
實(shí)時(shí)以太網(wǎng)RTE MAC芯片是符合IEEE802.3(CSMA/CD)協(xié)議和IEEE1588精確時(shí)間同步協(xié)議的網(wǎng)絡(luò)通信控制器。它不僅兼容商用以太網(wǎng)的功能,還增加了特殊工業(yè)網(wǎng)絡(luò)中所必須的實(shí)時(shí)特性,將應(yīng)用于高速工業(yè)以太網(wǎng),以滿足工業(yè)以太網(wǎng)的實(shí)時(shí)要求。
圖1 驗(yàn)證平臺(tái)的發(fā)送部分架構(gòu)
本平臺(tái)就是為驗(yàn)證RTE MAC芯片而搭建的。平臺(tái)采用OpenVera語言,基于事務(wù)級(jí)建立。驗(yàn)證平臺(tái)發(fā)送部分的架構(gòu)如圖1所示,接收部分結(jié)構(gòu)與此類似。它包括下面幾個(gè)部分:
1) 調(diào)度:調(diào)度是整個(gè)平臺(tái)的頂層,用于協(xié)調(diào)各個(gè)模塊的工作。
2) DUV(design under verification):待驗(yàn)證的芯片,除此以外都是用OpenVera語言編寫的測試軟件模塊。
3) 測試事例:驗(yàn)證中針對(duì)具體功能而采用不同的測試事例,這里采用帶約束的隨機(jī)驗(yàn)證方式,通過對(duì)它的約束產(chǎn)生各種測試事例。
4) Frame_gen:將測試事例按照CPU總線側(cè)的幀格式組成數(shù)據(jù)幀通過BFM輸出到芯片。
5) Monitor:監(jiān)視器,包括Bus_ Monitor和Ethernet_ Monitor。其中Bus_ Monitor監(jiān)測總線的行為,可以監(jiān)視存儲(chǔ)器讀寫,芯片的數(shù)據(jù)處理等事務(wù);Ethernet_ Monitor可以監(jiān)視輸出有效、沖突、載波等網(wǎng)路信息。
6) Check_table:根據(jù)BFM側(cè)監(jiān)視器檢測的數(shù)據(jù)以及相應(yīng)的配置,將理想DUV的輸出存儲(chǔ)在數(shù)組中,check模塊可以把Check_table內(nèi)的數(shù)據(jù)與DUV輸出進(jìn)行對(duì)照,實(shí)現(xiàn)自動(dòng)檢測。
7) BFM:總線功能模型,用于模擬總線功能,驅(qū)動(dòng)DUV。
OpenVera驗(yàn)證平臺(tái)的建立方法及特點(diǎn)
該平臺(tái)基于事務(wù)級(jí)驗(yàn)證,采用專門的驗(yàn)證語言編寫,具有高度的可重用性、靈活性,體現(xiàn)著現(xiàn)代電路設(shè)計(jì)中驗(yàn)證的發(fā)展潮流,下面將結(jié)合此平臺(tái)介紹現(xiàn)代驗(yàn)證的特點(diǎn)和趨勢。
驗(yàn)證與設(shè)計(jì)并行
傳統(tǒng)的設(shè)計(jì)首先進(jìn)行設(shè)計(jì)的開發(fā),完成RTL代碼的編寫后再進(jìn)行驗(yàn)證,整個(gè)產(chǎn)品開發(fā)時(shí)間接近于設(shè)計(jì)加上驗(yàn)證的時(shí)間。而對(duì)于現(xiàn)在的項(xiàng)目開發(fā),在根據(jù)具體的設(shè)計(jì)要求定義功能,并給出初步的設(shè)計(jì)文檔之后,就可以根據(jù)這些功能定義同時(shí)進(jìn)行設(shè)計(jì)開發(fā)和驗(yàn)證平臺(tái)的搭建。這一階段中驗(yàn)證平臺(tái)的搭建主要是建模,因此需要引入高級(jí)驗(yàn)證語言。高級(jí)驗(yàn)證語言是芯片設(shè)計(jì)復(fù)雜度達(dá)到一定程度后的必然產(chǎn)物,如OpenVera ,SystemC ,System Verilog,都具有強(qiáng)大的建模功能。就OpenVera而言,它引入C++中類的概念,是一種面向?qū)ο蟮木幊,并有?qiáng)大的函數(shù)功能支持,不僅使得驗(yàn)證與設(shè)計(jì)并行成為可能,還能加快驗(yàn)證平臺(tái)的建立。
圖2 總線的驅(qū)動(dòng)時(shí)序
基于事務(wù)級(jí)的驗(yàn)證方法
以往的驗(yàn)證基于信號(hào)級(jí),一個(gè)復(fù)雜芯片的信號(hào)數(shù)目非常多,包括大量的外部信號(hào)和內(nèi)部信號(hào),想要對(duì)它進(jìn)行完整詳細(xì)的驗(yàn)證,需要耗費(fèi)很多的精力和時(shí)間,嚴(yán)重影響設(shè)計(jì)周期。基于事務(wù)的驗(yàn)證方法可以在一個(gè)更高的層次上進(jìn)行驗(yàn)證,顯著地減輕了測試工作,并有助于統(tǒng)計(jì)測試覆蓋率。事務(wù)是一次性完成的一組操作或信號(hào)變化,在一個(gè)抽象概念上包括信號(hào)的傳送,數(shù)據(jù)的處理、變化,系統(tǒng)的狀態(tài)等。事務(wù)的概念很寬,可以簡單到存儲(chǔ)器的讀寫,復(fù)雜到很多數(shù)據(jù)的處理與傳輸。事務(wù)也可以由多個(gè)操作、多個(gè)時(shí)鐘周期組成。
當(dāng)一個(gè)設(shè)計(jì)在信號(hào)層經(jīng)常要關(guān)注那些1或0時(shí),設(shè)計(jì)者可以借助基于事務(wù)的方法很方便快捷地創(chuàng)建測試方法。系統(tǒng)結(jié)構(gòu)設(shè)計(jì)人員可以不用費(fèi)心去思考那些使能信號(hào)、地址總線等細(xì)節(jié), 而是更多的關(guān)注數(shù)據(jù)的流向、處理、存儲(chǔ),以及電路的狀態(tài)和動(dòng)作等這類事務(wù)。基于事務(wù)的驗(yàn)證方法可以說是自然驗(yàn)證方法在設(shè)計(jì)更高抽象層的一種擴(kuò)展,它也有利于平臺(tái)的可重用性。
引言
當(dāng)芯片的設(shè)計(jì)規(guī)模越來越大,朝向SoC發(fā)展時(shí),RTL級(jí)功能仿真時(shí)間還可以忍受,但門級(jí)仿真己經(jīng)成為不可能繼續(xù)廣泛使用的技術(shù)了。對(duì)設(shè)計(jì)進(jìn)行完備性驗(yàn)證要求有足夠的測試向量,隨著設(shè)計(jì)規(guī)模的增大,需要的仿真向量也急劇增加。近十年來,芯片的設(shè)計(jì)規(guī)模增大了100倍,仿真向量增加了近10000倍。二者的共同作用使門級(jí)仿真所需的時(shí)間飛速增長。要找到如此龐大的能夠保證驗(yàn)證完備性的仿真向量集也變得不太可能。
另一方面,芯片設(shè)計(jì)又面臨著上市時(shí)間的巨大壓力,驗(yàn)證的不足直接導(dǎo)致芯片不能通過測試,由此可能造成更大的損失。驗(yàn)證,尤其是功能驗(yàn)證必將影響集成電路的設(shè)計(jì)和開發(fā)進(jìn)程。因此,縮短驗(yàn)證時(shí)間、建立高效的驗(yàn)證平臺(tái)已成為現(xiàn)代集成電路設(shè)計(jì)的關(guān)鍵。
基于OpenVera驗(yàn)證平臺(tái)的結(jié)構(gòu)
實(shí)時(shí)以太網(wǎng)RTE MAC芯片是符合IEEE802.3(CSMA/CD)協(xié)議和IEEE1588精確時(shí)間同步協(xié)議的網(wǎng)絡(luò)通信控制器。它不僅兼容商用以太網(wǎng)的功能,還增加了特殊工業(yè)網(wǎng)絡(luò)中所必須的實(shí)時(shí)特性,將應(yīng)用于高速工業(yè)以太網(wǎng),以滿足工業(yè)以太網(wǎng)的實(shí)時(shí)要求。
圖1 驗(yàn)證平臺(tái)的發(fā)送部分架構(gòu)
本平臺(tái)就是為驗(yàn)證RTE MAC芯片而搭建的。平臺(tái)采用OpenVera語言,基于事務(wù)級(jí)建立。驗(yàn)證平臺(tái)發(fā)送部分的架構(gòu)如圖1所示,接收部分結(jié)構(gòu)與此類似。它包括下面幾個(gè)部分:
1) 調(diào)度:調(diào)度是整個(gè)平臺(tái)的頂層,用于協(xié)調(diào)各個(gè)模塊的工作。
2) DUV(design under verification):待驗(yàn)證的芯片,除此以外都是用OpenVera語言編寫的測試軟件模塊。
3) 測試事例:驗(yàn)證中針對(duì)具體功能而采用不同的測試事例,這里采用帶約束的隨機(jī)驗(yàn)證方式,通過對(duì)它的約束產(chǎn)生各種測試事例。
4) Frame_gen:將測試事例按照CPU總線側(cè)的幀格式組成數(shù)據(jù)幀通過BFM輸出到芯片。
5) Monitor:監(jiān)視器,包括Bus_ Monitor和Ethernet_ Monitor。其中Bus_ Monitor監(jiān)測總線的行為,可以監(jiān)視存儲(chǔ)器讀寫,芯片的數(shù)據(jù)處理等事務(wù);Ethernet_ Monitor可以監(jiān)視輸出有效、沖突、載波等網(wǎng)路信息。
6) Check_table:根據(jù)BFM側(cè)監(jiān)視器檢測的數(shù)據(jù)以及相應(yīng)的配置,將理想DUV的輸出存儲(chǔ)在數(shù)組中,check模塊可以把Check_table內(nèi)的數(shù)據(jù)與DUV輸出進(jìn)行對(duì)照,實(shí)現(xiàn)自動(dòng)檢測。
7) BFM:總線功能模型,用于模擬總線功能,驅(qū)動(dòng)DUV。
OpenVera驗(yàn)證平臺(tái)的建立方法及特點(diǎn)
該平臺(tái)基于事務(wù)級(jí)驗(yàn)證,采用專門的驗(yàn)證語言編寫,具有高度的可重用性、靈活性,體現(xiàn)著現(xiàn)代電路設(shè)計(jì)中驗(yàn)證的發(fā)展潮流,下面將結(jié)合此平臺(tái)介紹現(xiàn)代驗(yàn)證的特點(diǎn)和趨勢。
驗(yàn)證與設(shè)計(jì)并行
傳統(tǒng)的設(shè)計(jì)首先進(jìn)行設(shè)計(jì)的開發(fā),完成RTL代碼的編寫后再進(jìn)行驗(yàn)證,整個(gè)產(chǎn)品開發(fā)時(shí)間接近于設(shè)計(jì)加上驗(yàn)證的時(shí)間。而對(duì)于現(xiàn)在的項(xiàng)目開發(fā),在根據(jù)具體的設(shè)計(jì)要求定義功能,并給出初步的設(shè)計(jì)文檔之后,就可以根據(jù)這些功能定義同時(shí)進(jìn)行設(shè)計(jì)開發(fā)和驗(yàn)證平臺(tái)的搭建。這一階段中驗(yàn)證平臺(tái)的搭建主要是建模,因此需要引入高級(jí)驗(yàn)證語言。高級(jí)驗(yàn)證語言是芯片設(shè)計(jì)復(fù)雜度達(dá)到一定程度后的必然產(chǎn)物,如OpenVera ,SystemC ,System Verilog,都具有強(qiáng)大的建模功能。就OpenVera而言,它引入C++中類的概念,是一種面向?qū)ο蟮木幊,并有?qiáng)大的函數(shù)功能支持,不僅使得驗(yàn)證與設(shè)計(jì)并行成為可能,還能加快驗(yàn)證平臺(tái)的建立。
圖2 總線的驅(qū)動(dòng)時(shí)序
基于事務(wù)級(jí)的驗(yàn)證方法
以往的驗(yàn)證基于信號(hào)級(jí),一個(gè)復(fù)雜芯片的信號(hào)數(shù)目非常多,包括大量的外部信號(hào)和內(nèi)部信號(hào),想要對(duì)它進(jìn)行完整詳細(xì)的驗(yàn)證,需要耗費(fèi)很多的精力和時(shí)間,嚴(yán)重影響設(shè)計(jì)周期。基于事務(wù)的驗(yàn)證方法可以在一個(gè)更高的層次上進(jìn)行驗(yàn)證,顯著地減輕了測試工作,并有助于統(tǒng)計(jì)測試覆蓋率。事務(wù)是一次性完成的一組操作或信號(hào)變化,在一個(gè)抽象概念上包括信號(hào)的傳送,數(shù)據(jù)的處理、變化,系統(tǒng)的狀態(tài)等。事務(wù)的概念很寬,可以簡單到存儲(chǔ)器的讀寫,復(fù)雜到很多數(shù)據(jù)的處理與傳輸。事務(wù)也可以由多個(gè)操作、多個(gè)時(shí)鐘周期組成。
當(dāng)一個(gè)設(shè)計(jì)在信號(hào)層經(jīng)常要關(guān)注那些1或0時(shí),設(shè)計(jì)者可以借助基于事務(wù)的方法很方便快捷地創(chuàng)建測試方法。系統(tǒng)結(jié)構(gòu)設(shè)計(jì)人員可以不用費(fèi)心去思考那些使能信號(hào)、地址總線等細(xì)節(jié), 而是更多的關(guān)注數(shù)據(jù)的流向、處理、存儲(chǔ),以及電路的狀態(tài)和動(dòng)作等這類事務(wù);谑聞(wù)的驗(yàn)證方法可以說是自然驗(yàn)證方法在設(shè)計(jì)更高抽象層的一種擴(kuò)展,它也有利于平臺(tái)的可重用性。
熱門點(diǎn)擊
- 超/極低頻通信技術(shù)
- ISO7816(part1-3)異步智能卡資
- PPP協(xié)議
- 跳頻電臺(tái)中央控制單元及跳頻單元的硬件設(shè)計(jì)
- 基于ZigBee技術(shù)的射頻芯片CC2430
- FLEX編碼與POCSAG編碼
- 實(shí)現(xiàn)基于GPRS的無線遠(yuǎn)程IAP功能
- I2C總線在多機(jī)通信中的應(yīng)用
- 一個(gè)點(diǎn)到點(diǎn)的郵件系統(tǒng)設(shè)計(jì)
- 基于GPRS的SOCKET通信的應(yīng)用研究
推薦技術(shù)資料
- AMOLED顯示驅(qū)動(dòng)芯片關(guān)鍵技
- CMOS圖像傳感器技術(shù)參數(shù)設(shè)計(jì)
- GB300 超級(jí)芯片應(yīng)用需求分
- 4NP 工藝NVIDIA Bl
- GB300 芯片、NVL72
- 首個(gè)最新高端芯片人工智能服務(wù)器
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究
深圳服務(wù)熱線:13751165337 13692101218
粵ICP備09112631號(hào)-6(miitbeian.gov.cn)

深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式