999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

數字集成電路仿真中不定態的消除方法

2014-05-25 00:28:31劉林海
計算機與網絡 2014年2期
關鍵詞:信號

劉林海 張 勇 曾 明

(中國電子科技集團公司第五十四研究所 河北 石家莊 050081)

數字集成電路仿真中不定態的消除方法

劉林海 張 勇 曾 明

(中國電子科技集團公司第五十四研究所 河北 石家莊 050081)

為了解決在仿真時由于不定態的傳播、擴散導致的仿真失敗的情況,首先介紹了不定態產生的原因,之后分析了仿真器對不定態的傳播,進而提出了在RTL級以及門級階段消除不定態的方法,最后結合工程實踐,介紹了利用VCS仿真工具在門級仿真過程中消除不定態的實現過程。實踐結果表明,合理運用該方法,可以在保證電路工作正常的前提下,確保門級仿真的順利進行,故具有重要的參考價值。

不定態 門級仿真 初始化 時序冒險

1 引言

硬件描述語言(HDL)定義一個信號至少具有4種狀態,分別是0,1,x和z。其中x表示一種不確定狀態[1](既可能為0,也可能為1)。在電路仿真尤其是門級仿真過程中,經常遇到不定態產生并傳播和擴散,從而導致仿真失敗的情況。為了在仿真時去除不定態,使仿真順利進行,需要從不定態產生的實際電路機理入手,對仿真時不定態產生的原因以及傳播機制進行分析,從而找到有效去除不定態的方法。

2 不定態產生的原因

硬件描述語言盡量描述數字電路的實際行為,其中1表示被電源直接驅動,0表示被地直接驅動,z表示沒有驅動源,而x則表示狀態不確定。產生不定態的原因[2,3]主要有3種:①多驅動源驅動同一節點;②時序器件(觸發器,鎖存器,隨機存儲器)未初始化;③仿真器檢測到時序器件上的時序冒險。仿真中出現的不定態,主要由②和③兩種情形構成。

數字集成電路中的時序器件主要有鎖存器(latch)、觸發器(filp-flop)和同步存儲器(SRAM)組成,他們的核心單元都是雙穩邏輯,在上電過程中存在競爭現象[4]。如圖1所示,2個與非門哪一個先輸出0是不確定的,而先輸出0的與非門決定了另一個與非門的狀態。因此未經過初始化的雙穩邏輯在上電后其輸出值是不確定的。

圖1 雙穩邏輯示意圖

為模擬實際情況,仿真器在仿真初始時使所有時序器件的輸出為不定態。通過初始化(復位觸發器或者寫RAM的所有單元),可以有效消除不定態,但是無法初始化的時序器件,將維持不定態直到電路開始工作,如果這些不定態被傳播,將導致仿真失敗。

時序冒險也可能導致不定態的產生[5]。當觸發器或鎖存器進行數據采樣時,數據處于不穩定狀態,就會發生時序冒險。時序冒險導致時序器件的輸出端口出現亞穩態,而亞穩態受電源噪聲的影響會發生衰變,隨機的進入穩定狀態。由于RTL較少使用時延和時序檢查,所以RTL仿真時一般不存在時序冒險[6]。在門級仿真時采用反向標注時間信息的技術,可以在門級單元中引入精確延時和時序檢查。如果在時序器件的采樣時間窗口,輸入數據發生翻轉,仿真器即發出警告信息,并將時序器件的輸出值置為不定態。同步電路中的時序違反,或2個異步時鐘域之間的數據傳遞,都會導致時序冒險,從而在門級仿真過程中出現不定態[7]。

仿真器基于實際電路對不定態進行模擬。但是對于實際電路而言,無論是否是不定態,某一個節點在某一時刻的邏輯其實是確定的,就像落地后的硬幣必然有確定的一面向上一樣;而仿真器中的不定態描述的是該節點的邏輯可能性,就像是落地后的硬幣某一面朝上的概率一樣。因此,仿真器對不定態的模擬,一定是比實際更加悲觀。

3 對仿真器傳播不定態的分析

在RTL仿真時,采用抑制不定態的電路描述方式能夠避免不定態的傳播,可以使仿真順利進行[3]。考慮以下RTL代碼和其對應的真值表,當條件cond為不定態時,y值為b,如果b的值是確定的,那么cond的不定態就在傳播中被消除了,RTL仿真的真值表如表1所示。

表1 RTL仿真的真值表

描述方法對應的實際電路如圖2所示。實際電路在工作時,如果a不等于b,那么y的值為不確定(參見表2)。門級仿真則接近實際電路的行為,但是更加悲觀。只有a=0,b=0時,門級仿真才能夠阻止不定態的傳播。

圖2 與或門電路結構

表2 實際電路/門級仿真的真值表

因此,以2選1的邏輯為例,當選擇端為不定態,而2個數據輸入端為確定態時,實際電路輸出不定態的概率為50%,RTL級仿真時為0%,門級仿真時為75%。

4 不定態的消除

在仿真時引入不定態,可以描述電路因初始態不確定或時序冒險導致的功能錯誤。RTL仿真消除了很大一部分不定態的傳播,因此仿真往往能夠順利進行。門級仿真則因為悲觀的傳播方式而失敗,因此必須要通過各種方法來消除掉仿真中的不定態[8]。

4.1 未初始化不定態的消除

如果不定態的產生是由未初始化的時序器件引起,那么最簡單的辦法是修改RTL代碼,增加初始化邏輯。但是這樣做不僅會導致設計周期的延長,并且使電路資源無法達到最優[9]。

另外的方法是去除仿真器中相對實際電路的悲觀性,即強制仿真器不要模擬邏輯可能性,而是模擬某一次上電穩定后的狀態,就從仿真器中消除了因為未初始化的時序器件導致的不定態。這樣做的問題是需要確保驗證完備性,模擬所有可能的初始狀態。如果未初始化的時序邏輯單元有32個,那么仿真需要進行232=4,294,967,296次,顯然是不現實的。一種修正的方法是分析未初始的時序邏輯及其下游邏輯是否為積分型邏輯,如圖3所示。

圖3 積分型邏輯示意圖

對于確定的積分型邏輯,必須進行完備的仿真或是直接修改源代碼,而對于非積分型電路邏輯,電路的狀態只與當前輸入有關,只要輸入邏輯確定,電路的不定態自然就會消除,因此仿真時無需考慮初始狀態的完備性,只要簡單進行初始狀態的仿真即可。

4.2 時序冒險不定態的消除

如果不定態由時序冒險產生,則首先判斷產生點是否在時鐘域邊界。如果不是,而且仿真時的時鐘頻率又沒有超過設計指標,就說明存在時序違反,應當重新優化電路[10]。

如果產生點處于時鐘域邊界,而且2個時鐘是異步的,那么時序冒險必然產生。此時應當分析接收數據的時鐘域是否使用了同步器,沒有同步器會導致實際電路隨機失效。這種情況下仿真器產生不定態就是合理的,唯一的解決方法就是修改電路。如果已經采用了同步器電路,那么時序冒險產生的亞穩態能夠被同步器消除,無法繼續傳播,也就不會產生不定態,在仿真中是可以通過強制仿真器來消除不定態的[5]。

圖4 同步器電路

總之,可以通過修改RTL設計或者強制仿真器消除不定態。資源不敏感的設計,應當盡量在設計階段解決潛在問題,而使用強制仿真器處理未初始化時序器件的不定態,存在一定潛在的風險,但是能進一步優化資源。對于采用了同步器的異步時鐘之間的時序冒險,則強制仿真器消除不定態是很好的方法。

5 消除不定態的工程實踐

在某SoC設計中,使用了包括微處理器內核的大量復雜IP模塊,并包含多個異步時鐘。仿真工具使用Synopsys公司的VCS MX,AHB主機總線信號正常翻轉,RTL仿真能夠順利進行;但是門級仿真進行到4.5 μs后,AHB主機的地址總線信號HADDR由0xfd8變為了不定態,沒有進行正常的地址跳轉,譯碼器及從機將無法獲得正確的地址信息;字節選通信號HBRSTB由0xff變為不定態,從機將無法正常獲取數據總線數據;突發類型信號HBURST由0x3變為不定態,從機將無法判定下一傳輸是否為突發傳輸;傳輸類型信號HTRANS則由0x2變為不定態,從機將無法判定下一傳輸是否連續、是否空閑;讀寫信號HWRITE也由低電平變為不定態,導致從機無法判斷下一傳輸的讀寫類別;由于AHB總線的這些異常行為,AHB主機無法正常發起讀寫操作,從機也無法回應正常的響應信號,讀數據總線HRDATA、傳輸完成信號HREADY和傳輸響應信號HRESP均轉變為不定態,功能仿真無法繼續進行,門級仿真失敗。

經分析是AHB主機內部的一些觸發器沒有被復位,因此仿真開始時會輸出一段不定態,隨后才能夠進入正常狀態。由于門級仿真的悲觀性,這些不定態在傳播過程中擴散,導致全部電路處于不定態。而實際上,總線狀態沒有記憶效應,只與主機的當前狀態有關,當主機進入正常狀態時,總線上所有其他外設都應當正常工作,因此可以采用強制復位的方法消除不定態。

VCS MX中強制某仿真節點為特定值的指令為force,其選項-deposit用于設置信號為固定值直到該信號發生翻轉。使用的部分force指令如下:

使用force deposit指令初始化寄存器后,AHB主機的總線信號在4.5 μs后均正常翻轉,地址總線HADDR由0xfd8跳轉到0x28;字節選通信號HBSTRB由0xff轉變為0x0f;突發類型信號HBURST信號保持0x3不變;傳輸類型信號HTRANS由0x2變為0x3;讀寫信號HWRITE維持低電平,以上信息表明下一時刻總線將發起一次讀傳輸;下一時鐘周期的從機響應信號均正常翻轉,傳輸完成信號HREADY維持高電平,讀數據總線HRDATA數據為0xE1500005E2460C01和傳輸響應信號HRESP維持0x0不變,表明讀傳輸正常完成,讀數據為0x E2460C01,門級仿真順利進行。

對于異步時鐘,使用的部分force指令如下:

該SoC芯片目前已順利通過實驗室長期運行測試,峰值處理能力達到400 MIPS,在其上運行linux操作系統及視頻解碼,圖像清晰流暢。

6 結束語

由于門級仿真的特點,在仿真中經常會產生不合理的不定態,使得仿真無法順利進行,因此消除不合理的不定態是門級仿真中的重要步驟。深入了解不定態的產生、傳播機理,有助于使用合理的方法消除不定態,使得仿真順利進行。避免不合理不定態對仿真的干擾,才能夠更加有效地通過仿真發現可能存在的真正問題,從而提高設計質量,并且能夠有效地提高設計效率,縮短設計周期。

[1](美)UYEMURA J P.超大規模集成電路與系統導論[M].周潤德,譯.北京:電子工業出版社,2004.

[2](美)SHARMA A K.先進半導體存儲器[M].曾瑩等,譯.北京:電子工業出版社,2005.

[3]MILLS D,CUMMINGS E C.RTL Coding Styles That Yield Simulation and Synthesis Mismatches[M].Boston SNUG,1999

[4]TURPIN M.The Dangers of Living with an X(bugs hidden in your Verilog)[M].ARM Ltd,2003.

[5]BENING L.A Two-State Methodology for RTL Logic Simulation[C]//In Proceeding of 36th Design Automation Conference(DAC),1999:672-677.

[6]KEATING M,BRICAUD P.Reuse Methodology Manual for System-On-Chip Design.[M].Academic Publishers,2000.

[7]FITZPATRICK T.Verilog Modeling Style Guide for the Cobra Cycle Simulator[J].Cadence Design Systems, Chelmsford,1998:11-12.

[8]MCGEER P C,MCMILLAN K L,SALDANHA A,et al.Fast Discrete Function Evaluation using Decision Diagrams[J].IEEE ICCAD-95,1995:402-407.

[9]YIM J S,HWANG Y H,PARK C J,et al.A C-based RTL Design Verification Methodology for Complex Microprocessor[C]//DAC'97 Proceedings of the 34th annual Design Automation Conference,1997:83-88.

[10]TAYLOR S,QUINN M,BROWN D,et al.Functional Verification of A Multiple-Issue out-of-Order,Superscalar Alpha Processor–the DEC Alpha 21264 microprocessor[C] //DAC'98 Proceedings of the 35th annual Design Automation Conference,1998:638-643.

Elimination Method of Uncertain State in Digital IC Simulation

LIU Lin-hai ZHANG Yong ZENG Ming
(The 54th Research Institute of CETC,Shijiazhuang Hebei 050081,China)

To resolve the simulation failure caused by the propagation of uncertain state,the reason of uncertain state is introduced firstly.And the method of eliminating uncertain state in the RTL simulation and gate-level simulation is put forward based on analysis of uncertain states propagation.Lastly,combining with the engineering practice,the detailed implementation of this approach by using VCS simulator is introduced.The experimental results show that this method can make the gate-level simulation be implemented successfully when the circuit operating normally and it has significant reference value.

uncertain state;gate-level simulation;initialization;timing risk

TP391

A

1008-1739(2014)02-58-4

定稿日期:2013-12-26

猜你喜歡
信號
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
7個信號,警惕寶寶要感冒
媽媽寶寶(2019年10期)2019-10-26 02:45:34
孩子停止長個的信號
《鐵道通信信號》訂閱單
基于FPGA的多功能信號發生器的設計
電子制作(2018年11期)2018-08-04 03:25:42
基于Arduino的聯鎖信號控制接口研究
《鐵道通信信號》訂閱單
基于LabVIEW的力加載信號采集與PID控制
Kisspeptin/GPR54信號通路促使性早熟形成的作用觀察
主站蜘蛛池模板: 成人国产精品视频频| 日本高清视频在线www色| 国产在线观看99| 国产麻豆精品在线观看| 欧美成人综合视频| 精品久久国产综合精麻豆| 欧美日韩亚洲综合在线观看| 亚洲国语自产一区第二页| 久久99国产综合精品1| 久久精品国产电影| 日韩精品资源| 国产成人高清精品免费5388| 国产在线自乱拍播放| 国产免费久久精品99re不卡| 1024你懂的国产精品| 欧美自拍另类欧美综合图区| 日日噜噜夜夜狠狠视频| 国产精品99在线观看| 欧美综合一区二区三区| 精品久久久久久成人AV| 亚洲中文字幕无码mv| 免费又爽又刺激高潮网址| AV天堂资源福利在线观看| 男女性午夜福利网站| 欧美人与性动交a欧美精品| 久久人搡人人玩人妻精品| 伊人色婷婷| 欧美综合激情| 在线观看亚洲天堂| 国产第一福利影院| 国产精品久久久精品三级| 日韩AV无码一区| 国产欧美日韩一区二区视频在线| 在线亚洲精品福利网址导航| 69视频国产| 夜夜操国产| 亚洲天堂色色人体| 黄色三级网站免费| 精品无码人妻一区二区| 婷婷丁香色| 国产精品美女免费视频大全| 久久中文字幕2021精品| 四虎亚洲精品| 亚洲免费福利视频| 欧美日韩国产高清一区二区三区| 婷婷亚洲综合五月天在线| 国产jizz| 九九热免费在线视频| 99re精彩视频| 亚洲高清中文字幕| 久久黄色视频影| 亚洲精品在线观看91| 欧美日韩午夜视频在线观看 | 日韩在线第三页| 亚洲国产中文在线二区三区免| 欧美日韩午夜| 色欲色欲久久综合网| 台湾AV国片精品女同性| 亚洲九九视频| 一区二区三区国产精品视频| yy6080理论大片一级久久| 国产h视频在线观看视频| 91精品视频播放| 国产高清在线观看| 有专无码视频| 少妇高潮惨叫久久久久久| 精品国产Av电影无码久久久| 日本黄色a视频| 国产乱人乱偷精品视频a人人澡| 青青青国产视频| 国产乱子精品一区二区在线观看| 97国产在线观看| 久久精品人妻中文系列| 40岁成熟女人牲交片免费| 久久无码免费束人妻| 精品一区二区三区无码视频无码| 国产区成人精品视频| 91无码网站| 亚洲中文在线视频| 极品国产在线| 尤物亚洲最大AV无码网站| 免费人成视网站在线不卡|