基于速度匹配軟件的網(wǎng)絡(luò)芯片仿真方法
對(duì)微處理器、圖形芯片或復(fù)雜設(shè)計(jì)的仿真通常要求降低目標(biāo)系統(tǒng)的速度,因?yàn)榧词箍焖貴PGA也可能跟不上高速目標(biāo)系統(tǒng)的速度,本文介紹一種基于速度匹配軟件的網(wǎng)絡(luò)芯片仿真方法,并指出采用這種新技術(shù)需要注意的事項(xiàng),值得(中國)集成電路設(shè)計(jì)工程師關(guān)注。
在今天四通八達(dá)的寬帶互聯(lián)世界中,網(wǎng)絡(luò)設(shè)備的智能、速度和集成度正變得越來越高,隨著復(fù)雜度的增加,針對(duì)硬件設(shè)計(jì)的軟件仿真變得越來越費(fèi)時(shí),難度也越來越高。而采用軟件仿真方法對(duì)實(shí)際狀態(tài)和邊緣情況進(jìn)行建模的難度也在增加。這些問題的出現(xiàn)已經(jīng)有段時(shí)間了,幾乎所有微處理器廠商都開始轉(zhuǎn)用硬件仿真。但硬件仿真也有其弱點(diǎn),硬件仿真不僅需要昂貴的無法隨意更改物理層接口的專用硬件,還要求目標(biāo)系統(tǒng)放慢速度,因此無法再現(xiàn)實(shí)際的運(yùn)行環(huán)境。
本文介紹第三種方案,該方案克服上述缺點(diǎn),采用安裝了速度匹配軟件的標(biāo)準(zhǔn)PC,能夠極大地加快并簡化仿真過程,同時(shí)提供更接近實(shí)際情形的仿真結(jié)果,本文著重介紹采用最新的方法需要特別注意的地方。
設(shè)備仿真
仿真過程的第一步是將設(shè)計(jì)(通常是RTL級(jí))裝載進(jìn)第三方廠商提供的仿真器。被仿真的設(shè)計(jì)再通過指形交叉連接器插入實(shí)際的母板中,然后啟動(dòng)操作系統(tǒng)。最終測試將是運(yùn)行一個(gè)實(shí)際應(yīng)用,比如字處理器。當(dāng)然,這種情況下仿真器的速度要比實(shí)際芯片慢好幾個(gè)數(shù)量級(jí),但這個(gè)過程確實(shí)是將設(shè)計(jì)投入到了實(shí)際的運(yùn)行中。隨著近年來FPGA密度、速度和復(fù)雜度的不斷提高,許多公司開始為他們的芯片創(chuàng)建定制的FPGA原型。
仿真微處理器、圖形芯片或其它復(fù)雜的設(shè)計(jì)通常要求降低目標(biāo)系統(tǒng)的速度,使之與較慢的仿真速度相匹配。即使是高速FPGA也可能跟不上高速目標(biāo)系統(tǒng)的速度。對(duì)于具有固定頻率并獨(dú)立于處理器的總線或必須以固定時(shí)間間隔產(chǎn)生的中斷來說,目標(biāo)系統(tǒng)速度太快會(huì)造成某些功能上的問題。一般情況下,一個(gè)專用慢速目標(biāo)板通常會(huì)通過慢速的外圍設(shè)備與慢速仿真器進(jìn)行通信。
但這種慢速解決方案并不適合用來仿真網(wǎng)絡(luò)設(shè)備。對(duì)網(wǎng)絡(luò)設(shè)備的仿真目的是要用真實(shí)的數(shù)據(jù)包測試在實(shí)際網(wǎng)絡(luò)中運(yùn)行的網(wǎng)絡(luò)設(shè)備性能,以確認(rèn)新設(shè)計(jì)在實(shí)際環(huán)境下中的表現(xiàn)。一個(gè)網(wǎng)絡(luò)一般由數(shù)十個(gè)、上百個(gè)-在因特網(wǎng)中-甚至是數(shù)百萬個(gè)網(wǎng)絡(luò)設(shè)備組成,要把所有這些設(shè)備的速度降下來是不現(xiàn)實(shí)的。同時(shí)還有與網(wǎng)絡(luò)有關(guān)的低層及高層時(shí)序約束條件。例如,連接以太網(wǎng)物理芯片與交換ASIC芯片的簡化介質(zhì)獨(dú)立接口(RMII)就規(guī)定必須使用帶特殊占空比的50MHz時(shí)鐘,而大多數(shù)商用仿真器無法以如此高的頻率運(yùn)行。更高層的協(xié)議要求設(shè)備確認(rèn)數(shù)據(jù)包的到達(dá),如果在規(guī)定時(shí)間內(nèi)沒有應(yīng)答確認(rèn)信號(hào),數(shù)據(jù)包就會(huì)重發(fā)。如果仿真器響應(yīng)速度不夠快,那么它就會(huì)被重復(fù)的數(shù)據(jù)包所淹沒。
仿真接口也是一個(gè)問題。仿真器是一個(gè)純數(shù)字的設(shè)備,而物理網(wǎng)絡(luò)連接要求物理層對(duì)仿真信號(hào)進(jìn)行整形,以使連接的對(duì)端能夠正確接收。同樣,物理層接收到仿真信號(hào)后需要將它轉(zhuǎn)換成數(shù)字信號(hào)。仿真器與網(wǎng)絡(luò)直接相連時(shí)需要使用一個(gè)專門的仿真接口,用來將慢速數(shù)字信號(hào)轉(zhuǎn)換成正確的仿真信號(hào)。
這時(shí)的速度失配問題通常用硬件方法來解決,即電路板的一端是一個(gè)以太網(wǎng)適配器,另一端是與仿真器相連的數(shù)字接口,但這種解決方案實(shí)施起來有一定的難度。首先,硬件的制造成本很高,并且需要較長的開發(fā)周期。向一個(gè)實(shí)際芯片問世后就失去用處的原型投入大量的人力物力是毫無價(jià)值的。
其次,針對(duì)以太網(wǎng)、光纖信道或ATM等不同的網(wǎng)絡(luò)接口需要設(shè)計(jì)不同的仿真電路,因此每個(gè)被測試的接口都需要不同的電路板。
第三,接口板上還需要用到緩沖器來存儲(chǔ)因網(wǎng)絡(luò)速度太快仿真器不能及時(shí)處理突發(fā)數(shù)據(jù)的問題。這些緩沖器將這些分組數(shù)據(jù)儲(chǔ)存好后再以較慢的速度送給仿真器。而管理這些緩沖器還需要使用相當(dāng)復(fù)雜的狀態(tài)機(jī),這會(huì)給硬件實(shí)現(xiàn)帶來很大的困難。此外,一旦接口板設(shè)計(jì)好后緩沖器的最大容量也就固定下來了,今后要擴(kuò)展的話還需要重新設(shè)計(jì)電路板。
而下面的軟件解決方案能更好地解決這一速度失配問題。此時(shí)被仿真的網(wǎng)絡(luò)設(shè)備需要通過一臺(tái)運(yùn)行某種速度匹配軟件的標(biāo)準(zhǔn)電腦再與網(wǎng)絡(luò)連接。仿真器則通過簡單的并行口線與標(biāo)準(zhǔn)電腦的并行口相連,電腦與網(wǎng)絡(luò)的連接則是通過標(biāo)準(zhǔn)的網(wǎng)絡(luò)接口卡(NIC)。這種速度匹配軟件不僅能夠處理使網(wǎng)絡(luò)保持暢通的所有底層握手協(xié)議,也能正確處理并行口上的低層接口信號(hào),從而使仿真器得以正確運(yùn)行。速度匹配軟件將來自于網(wǎng)絡(luò)的數(shù)據(jù)包緩存于電腦內(nèi)存中,因此再大的突發(fā)數(shù)據(jù)包也不會(huì)丟失。緩存于電腦內(nèi)存中的數(shù)據(jù)包再以較慢的速度發(fā)送給仿真器,此時(shí)的存儲(chǔ)管理是由電腦上的操作系統(tǒng)完成的,因此緩存容量可以與電腦的RAM容量一樣大,需要的話甚至可以使用操作系統(tǒng)的虛擬內(nèi)存將數(shù)據(jù)包存放在磁盤上。
這種成熟的內(nèi)存管理技術(shù)用硬件實(shí)現(xiàn)是相當(dāng)困難的,并且成本很高,但用軟件實(shí)現(xiàn)卻相當(dāng)容易。
速度匹配軟件如同各種應(yīng)用軟件那樣運(yùn)行于操作系統(tǒng)平臺(tái)之上。通常一個(gè)應(yīng)用程序訪問硬件時(shí)需要調(diào)用操作系統(tǒng)的應(yīng)用程序接口(API)。但速度匹配軟件卻不同,它可以直接控制并行口和網(wǎng)卡的驅(qū)動(dòng)程序。這樣,速度匹配軟件就能獨(dú)立于操作系統(tǒng),并利用經(jīng)過完整測試的硬件驅(qū)動(dòng)程序自由地訪問數(shù)據(jù)。
軟件方面的注意事項(xiàng)
使用速度匹配軟件時(shí)要注意以下幾個(gè)問題。首先是與被仿真設(shè)備的接口問題。并行口是非常好的一個(gè)接口,它簡單通用,幾乎每臺(tái)電腦上都有,但也有許多限制。第一,并行口的最大吞吐量理論上是2Mbps,但由于端口服務(wù)開銷的存在,要達(dá)到這一速率是不可能的。雖然可以使用更快的 SCSI或USB等接口,但它們相對(duì)都較復(fù)雜,并且這些接口的物理層要求網(wǎng)絡(luò)設(shè)備原型上有專門的收發(fā)器,因此會(huì)造成額外的硬件設(shè)計(jì)與調(diào)試開銷。另外,這些接口的協(xié)議比較復(fù)雜,也即意味著原型中用來在這些接口上收發(fā)數(shù)據(jù)包的邏輯設(shè)計(jì)與調(diào)試會(huì)變得更加困難。因此采用這些接口會(huì)減弱軟件解決方案所帶來的優(yōu)勢。
專用的高速并行口也許是一種更好的選擇。目前已有多家公司在出售可以插入電腦或安裝在PCMCIA卡上的快速寬總線并行口卡。從電路與協(xié)議角度看這些快速并行口仍屬于簡單類型的接口,只是數(shù)據(jù)總線變成了16位或32位寬,但它們的吞吐量卻可以達(dá)到標(biāo)準(zhǔn)并行口的2倍或4倍。
當(dāng)采用電腦上的并行口進(jìn)行連接時(shí),要注意并行口有好幾種類型,包括雙向、增強(qiáng)型并行口(EPP)和擴(kuò)展功能并行口 (ECP)。這些并行口的協(xié)議是用硬件控制的,因此具體能夠提供的協(xié)議與所用的芯片有關(guān)。在許多情況下,用戶需要改變CMOS設(shè)置來啟動(dòng)某個(gè)特殊的并行口協(xié)議。許多高級(jí)的協(xié)議都包含有不能變更的超時(shí)設(shè)定(timeout)。如果原型網(wǎng)絡(luò)設(shè)備不能及時(shí)響應(yīng),并行口芯片就會(huì)超時(shí),從而導(dǎo)致字節(jié)丟失。用戶一般可以通過直接操作信號(hào)來創(chuàng)建不包含超時(shí)設(shè)定的自定義并行口協(xié)議。不過在任何情況下以這樣低的層次訪問并行口都需要用到能夠訪問操作系統(tǒng)內(nèi)核的代碼,雖然生成這段代碼是可能的,但不同的操作系統(tǒng)代碼是不一樣的,有時(shí)會(huì)相當(dāng)困難,因此可移植性較差。
網(wǎng)絡(luò)方面的注意事項(xiàng)
在仿真系統(tǒng)的網(wǎng)絡(luò)側(cè)要確保關(guān)閉了電腦上的所有網(wǎng)絡(luò)進(jìn)程,進(jìn)行仿真時(shí)人們都不希望來回傳送的任何數(shù)據(jù)包被電腦上的操作系統(tǒng)所截獲。有時(shí)也會(huì)有難以關(guān)閉的低層活動(dòng)網(wǎng)絡(luò)進(jìn)程,這種情況的一個(gè)典型癥狀是出現(xiàn)不知從哪里冒出來的數(shù)據(jù)包,這些數(shù)據(jù)包會(huì)被發(fā)送給原型或網(wǎng)絡(luò)。當(dāng)這種情況發(fā)生時(shí),意味著有些后臺(tái)任務(wù)正在偵測網(wǎng)絡(luò),最好是關(guān)閉所有的后臺(tái)任務(wù)。
下面用硬件仿真器實(shí)現(xiàn)網(wǎng)橋來舉例說明速度匹配軟件技術(shù)的應(yīng)用。該網(wǎng)橋以點(diǎn)到點(diǎn)的網(wǎng)絡(luò)配置形式連接二臺(tái)PC機(jī)PC1和 PC2。PC1和PC2通過兩個(gè)獨(dú)立的PC連接到仿真器的輸入輸出端口,每個(gè)PC上都運(yùn)行有速度匹配軟件。對(duì)PC1來說,與PC2是直接相連的,中間運(yùn)行速度匹配軟件的PC或仿真器是透明的,看不見的,PC2也同樣如此。文件可以通過中間仿真的網(wǎng)橋在PC1與PC2間直接傳送。
上述的網(wǎng)橋可以用Verilog語言編寫。來自于兩個(gè)轉(zhuǎn)接PC并行口的數(shù)據(jù)包被速度匹配軟件轉(zhuǎn)換成專為并行口優(yōu)化過的協(xié)議,然后通過PC并行口送給仿真器。數(shù)據(jù)包到達(dá)仿真器后被裝載進(jìn)容量為1,514字節(jié)的緩沖器(FIFO的一部分)。1,514是以太網(wǎng)標(biāo)準(zhǔn)中規(guī)定的最大數(shù)據(jù)包長度。
不幸的是,小于最大尺寸的數(shù)據(jù)包不會(huì)用完所有的字節(jié),從而導(dǎo)致仿真器內(nèi)存的利用率非常低。然而,如前所述,用Verilog編寫的硬件方式的內(nèi)存管理要比軟件管理困難復(fù)雜得多。因此創(chuàng)建這種簡化的FIFO結(jié)構(gòu)可以降低復(fù)雜性,從而降低整體開發(fā)時(shí)間。
當(dāng)數(shù)據(jù)經(jīng)過FIFO后再在另外一端讀出來,這時(shí)的數(shù)據(jù)仍是RMII協(xié)議規(guī)格,因此需要轉(zhuǎn)換成速度匹配軟件使用的非標(biāo)準(zhǔn)并行口協(xié)議,然后送給另外一臺(tái)PC機(jī)。
還有一些狀態(tài)寄存器沒有顯示在圖2中。PC機(jī)可以通過并行口訪問到這些狀態(tài)寄存器,PC上的速度匹配軟件通過這些狀態(tài)寄存器可以知道FIFO是滿的還是空的、可以讀還是可以寫。這樣速度匹配軟件就能了解到網(wǎng)橋的狀態(tài),抑制數(shù)據(jù)包的傳送,從而使網(wǎng)橋變得更有效率。網(wǎng)絡(luò)協(xié)議允許不會(huì)引起嚴(yán)重后果的數(shù)據(jù)包丟失,但盡可能少丟包是設(shè)計(jì)的最終目標(biāo)。沒有顯示的內(nèi)容還包括控制兩個(gè)接口數(shù)據(jù)包讀寫的狀態(tài)機(jī)以及轉(zhuǎn)換數(shù)據(jù)協(xié)議所需的邏輯。
(責(zé)任編輯:admin)- “掃一掃”關(guān)注融合網(wǎng)微信號(hào)
免責(zé)聲明:我方僅為合法的第三方企業(yè)注冊(cè)用戶所發(fā)布的內(nèi)容提供存儲(chǔ)空間,融合網(wǎng)不對(duì)其發(fā)布的內(nèi)容提供任何形式的保證:不保證內(nèi)容滿足您的要求,不保證融合網(wǎng)的服務(wù)不會(huì)中斷。因網(wǎng)絡(luò)狀況、通訊線路、第三方網(wǎng)站或管理部門的要求等任何原因而導(dǎo)致您不能正常使用融合網(wǎng),融合網(wǎng)不承擔(dān)任何法律責(zé)任。
第三方企業(yè)注冊(cè)用戶在融合網(wǎng)發(fā)布的內(nèi)容(包含但不限于融合網(wǎng)目前各產(chǎn)品功能里的內(nèi)容)僅表明其第三方企業(yè)注冊(cè)用戶的立場和觀點(diǎn),并不代表融合網(wǎng)的立場或觀點(diǎn)。相關(guān)各方及作者發(fā)布此信息的目的在于傳播、分享更多信息,并不代表本網(wǎng)站的觀點(diǎn)和立場,更與本站立場無關(guān)。相關(guān)各方及作者在我方平臺(tái)上發(fā)表、發(fā)布的所有資料、言論等僅代表其作者個(gè)人觀點(diǎn),與本網(wǎng)站立場無關(guān),不對(duì)您構(gòu)成任何投資、交易等方面的建議。用戶應(yīng)基于自己的獨(dú)立判斷,自行決定并承擔(dān)相應(yīng)風(fēng)險(xiǎn)。
根據(jù)相關(guān)協(xié)議內(nèi)容,第三方企業(yè)注冊(cè)用戶已知悉自身作為內(nèi)容的發(fā)布者,需自行對(duì)所發(fā)表內(nèi)容(如,字體、圖片、文章內(nèi)容等)負(fù)責(zé),因所發(fā)表內(nèi)容(如,字體、圖片、文章內(nèi)容等)等所引發(fā)的一切糾紛均由該內(nèi)容的發(fā)布者(即,第三方企業(yè)注冊(cè)用戶)承擔(dān)全部法律及連帶責(zé)任。融合網(wǎng)不承擔(dān)任何法律及連帶責(zé)任。
第三方企業(yè)注冊(cè)用戶在融合網(wǎng)相關(guān)欄目上所發(fā)布的涉嫌侵犯他人知識(shí)產(chǎn)權(quán)或其他合法權(quán)益的內(nèi)容(如,字體、圖片、文章內(nèi)容等),經(jīng)相關(guān)版權(quán)方、權(quán)利方等提供初步證據(jù),融合網(wǎng)有權(quán)先行予以刪除,并保留移交司法機(jī)關(guān)查處的權(quán)利。參照相應(yīng)司法機(jī)關(guān)的查處結(jié)果,融合網(wǎng)對(duì)于第三方企業(yè)用戶所發(fā)布內(nèi)容的處置具有最終決定權(quán)。
個(gè)人或單位如認(rèn)為第三方企業(yè)注冊(cè)用戶在融合網(wǎng)上發(fā)布的內(nèi)容(如,字體、圖片、文章內(nèi)容等)存在侵犯自身合法權(quán)益的,應(yīng)準(zhǔn)備好具有法律效應(yīng)的證明材料,及時(shí)與融合網(wǎng)取得聯(lián)系,以便融合網(wǎng)及時(shí)協(xié)調(diào)第三方企業(yè)注冊(cè)用戶并迅速做出相應(yīng)處理工作。
融合網(wǎng)聯(lián)系方式:(一)、電話:(010)57722280;(二)、電子郵箱:2029555353@qq.com dwrh@dwrh.net
對(duì)免責(zé)聲明的解釋、修改及更新權(quán)均屬于融合網(wǎng)所有。
相關(guān)新聞>>
今日頭條
更多>>人工智能和物聯(lián)網(wǎng)已成為新時(shí)代的主題,在政策支持、人工智能與物聯(lián)網(wǎng)技術(shù)發(fā)展、消費(fèi)升[詳細(xì)]
您可能感興趣的文章
- MC34262系列PFC控制芯片的應(yīng)用研究
- 三芯片巨頭建合資公司開發(fā)NAND技術(shù)
- DecaWave推出精度在10厘米以內(nèi)的室內(nèi)定位芯片
- 韓研發(fā)出可彎曲塑料芯片 可用于生產(chǎn)折疊智能機(jī)
- 美光用IBM工藝投產(chǎn)3D內(nèi)存芯片 提速15倍
- 同方國芯:特種集成電路發(fā)展駛?cè)肟燔嚨?金融IC卡芯片值得期待
- Silicon Labs最新通信芯片組結(jié)合語音和M2M功能
- 透過DMD芯片歷程 細(xì)看DLP投影發(fā)展之路
- 英特爾芯片設(shè)計(jì)獲革命性突破
- 惠普計(jì)劃未來1年半內(nèi)推出非易失性內(nèi)存芯片
新聞點(diǎn)評(píng)
- MediaTek開車用技術(shù)研討會(huì)以整合性解決方案賦能智能聯(lián)網(wǎng)汽車產(chǎn)業(yè)
- 8K智能電視芯片全球首發(fā),聯(lián)發(fā)科技S900以AI推動(dòng)智能電視革新
- 聯(lián)發(fā)科技智能手機(jī)芯片Helio P65發(fā)布,手游與拍攝體驗(yàn)雙升級(jí)
- 三只松鼠、卓勝微電子兩公司2019年5月16日(首發(fā))獲通過
- 聯(lián)發(fā)科技以AI賦能智能電視,聯(lián)動(dòng)智能家居體系
- 兩家上市公司盯上北京矽成,集成電路產(chǎn)業(yè)收購硝煙再起
- 晶泰科2018年完成進(jìn)出口總額1.22億美元
- 華為昇騰310 AI芯片何以獲頒第五屆世界互聯(lián)網(wǎng)領(lǐng)先科技成果獎(jiǎng)
- AI芯片并非信息行業(yè)主食 補(bǔ)齊缺芯短板勿舍本逐末
- 海外對(duì)華芯片技術(shù)輸出嚴(yán)防死守,5G將成中國芯片業(yè)趕超時(shí)間窗