<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > ASIC設計的這些問(wèn)題不可忽視

ASIC設計的這些問(wèn)題不可忽視

作者: 時(shí)間:2018-07-31 來(lái)源:網(wǎng)絡(luò ) 收藏

本文結合NCverilog,DesignCompile,Astro等設計所用到的EDA軟件,從工藝獨立性、系統的穩定性、復雜性的角度對比各種的設計方法,介紹了在編碼設計、綜合設計、靜態(tài)時(shí)序分析和時(shí)序仿真等階段經(jīng)常忽視的問(wèn)題以及避免的辦法,從而使得整個(gè)設計具有可控性。

本文引用地址:http://dyxdggzs.com/article/201807/384725.htm

一.基本的設計流程

ASIC設計流程可以粗分為前端設計和后端設計,如果需要更細的劃分,可以分成如下幾個(gè)步驟:

1.包括系統結構分析設計、RTL編碼以及功能驗證;

2.邏輯綜合、PreLayoutSTA以及形式驗證(RTL代碼與邏輯綜合生成的Netlist之間);

3.Floorplan、Placement、ClockTree插入以及全局布線(xiàn)(GlobalRouting)

4.形式驗證(邏輯綜合的Netlist與帶有CT信息的Netlist之間)、STA;

5.DetailedRouting,DRC;

6.PostlayoutSTA,帶有反標延遲信息的門(mén)級仿真;

7.Tape-Out

當然,這還是一個(gè)比較粗的流程,其中每個(gè)步驟還可以分得更細,通常所說(shuō)的前端設計主要包括上述流程中的1,2,4,6這幾個(gè)部分。同時(shí),這個(gè)流程是一個(gè)迭代的過(guò)程。對于一些通常的問(wèn)題以及其中的一些方法,已經(jīng)有大量的文獻中提到,本文將不再贅述,因此本文著(zhù)力于討論在設計各個(gè)階段中一些容易被忽視的或者可能帶來(lái)潛在危險的地方。

二.結構分析設計、RTL編碼

這一階段在整個(gè)ASIC設計中占非常重要的地位,結構分析設計階段主要是從產(chǎn)品的功能定義出發(fā),對產(chǎn)品采用的工藝、功耗、面積、性能以及代價(jià)進(jìn)行初步的評估,從而制定相應的設計規劃,對于規模很大的ASIC設計,在這一階段估算芯片的功耗面積非常困難。

在這里引入一個(gè)ASIC設計中很重要的概念:劃分(Partitioning),在不同的設計階段這個(gè)概念都將提到。首先,必須在芯片的Top-1級進(jìn)行功能劃分,Top-1級通??梢苑譃?個(gè)大的功能模塊,IOPads、邊界掃描邏輯、核心功能邏輯,以及PLL時(shí)鐘模塊,然后再對核心功能邏輯依據功能進(jìn)一步細化。核心功能部分將是RTL編碼設計的重點(diǎn)部分,下面就這一部分展開(kāi)說(shuō)明。

1.良好的編碼風(fēng)格

編碼風(fēng)格對芯片的正確性、可讀性、可維護性以及綜合后芯片的性能、面積都有很大的影響。自然,對于編碼中遇到的所有問(wèn)題一一闡述不是一篇論文所能做到的,下面只對一些經(jīng)常遇到的可能產(chǎn)生錯誤的地方進(jìn)行重點(diǎn)說(shuō)明。

無(wú)論從可重用設計的角度還是代碼仿真行為與實(shí)際芯片的行為一致性的角度來(lái)說(shuō),采用工藝獨立的設計是必要的,一些工程師在編碼時(shí)可能用到一些延遲單元或者延遲線(xiàn),來(lái)生成一個(gè)脈沖來(lái)操作,由于延遲單元對溫度、電壓以及制造工藝敏感,這些因素的改變也會(huì )改變生成的脈沖的寬度,因此,可能在仿真的時(shí)候沒(méi)有問(wèn)題,或者在某些操作條件下沒(méi)有問(wèn)題,而實(shí)際芯片工作時(shí)或者工作條件改變時(shí)芯片就沒(méi)有按照設計目標工作了。

在RTL級編碼時(shí)應該盡量避免采用例化標準單元門(mén)的方式編碼,這不僅降低代碼的可讀性,當采用新的單元庫或者新的工藝時(shí),這些代碼就需要反復的修改,綜合工具也不會(huì )對這些代碼進(jìn)行邏輯優(yōu)化。

其他問(wèn)題如:由于沒(méi)有對所有的條件分支賦值引起潛在的Latch問(wèn)題、always塊中的敏感列表問(wèn)題,以及阻塞賦值與非阻塞賦值的選擇問(wèn)題很多文獻中都提到,就不再贅述。下面提到一個(gè)容易被忽視的問(wèn)題,在定義時(shí)序塊時(shí),有些信號是需要復位的,有些不需要復位,如果編碼時(shí)把它們寫(xiě)在一個(gè)always塊中,綜合出來(lái)的電路就不是我們設想的。對于那些不需要復位的信號,綜合后可能把復位信號連到對應的觸發(fā)器使能端,這樣導致RTL代碼和Netlist的行為不一致,而這類(lèi)問(wèn)題在形式驗證時(shí)也沒(méi)法發(fā)現,需要通過(guò)大量的門(mén)級仿真才可能發(fā)現。

ASIC設計應該盡量避免采用Latch作為時(shí)序單元,Latch設計潛在的問(wèn)題,如:如果使能輸入端有Glitch,就會(huì )導致鎖存噪聲數據?;蛘吣隳軌虮WC數據穩定時(shí)間可以包住使能信號,可你很難保證在使能關(guān)閉的瞬間D輸入端沒(méi)有Glitch,尤其在接收總線(xiàn)數據的時(shí)候。同時(shí),Latch設計還帶來(lái)STA和DFT的困難,而采用觸發(fā)器的設計,通過(guò)Setup/Hold時(shí)間的檢查報出這些問(wèn)題。因此,盡管Latch設計有面積、低功耗等方面的優(yōu)勢,由于這些潛在的風(fēng)險使得設計變得不可控,因此不推薦使用。

盡量避免把時(shí)鐘當作信號使用,在RTL驗證時(shí)不會(huì )出現什么問(wèn)題,但是,如果在后端設計的時(shí)候忽略了對這些點(diǎn)的時(shí)鐘skew控制,就會(huì )產(chǎn)生意想不到的結果。例如:

例1:

這個(gè)代碼在RTL級仿真時(shí)是不會(huì )有任何問(wèn)題的,其中潛在的問(wèn)題留待后面討論。

2.同步設計和跨時(shí)鐘域數據傳輸

盡管異步系統有很多優(yōu)勢,如低功耗,也沒(méi)有同步系統中讓工程師頭疼的時(shí)鐘分布以及skew問(wèn)題,但是其復雜的各種握手協(xié)議,以及異步電路在測試上的困難,使得同步系統還是數字電路設計的首選。同步設計的一個(gè)特點(diǎn)就是所有的時(shí)序單元都是對統一的時(shí)鐘邊沿敏感。要使整個(gè)芯片只采用一個(gè)時(shí)鐘并不現實(shí),因此,異步時(shí)鐘域之間的數據傳輸以及其中的一些問(wèn)題將是本節討論的重點(diǎn)。

通常,為了能夠更好的綜合和STA,需要對設計進(jìn)行劃分,一般的原則是將異步時(shí)鐘域之間有數據交換的部分獨立出來(lái)單獨處理,其他的模塊都在單一的同步時(shí)鐘域中工作。對于這些模塊如何在綜合過(guò)程中特殊處理在下面的章節中討論,本節主要討論在代碼設計中需要考慮的問(wèn)題。

異步時(shí)鐘之間的亞穩態(tài)(Metastability)問(wèn)題,亞穩態(tài)主要是由于被采樣數據的變化十分靠近采樣時(shí)鐘的邊沿引起的,這樣接收(采樣)觸發(fā)器的輸出就是亞穩態(tài),并在傳輸過(guò)程中發(fā)散而引發(fā)邏輯錯誤,也就是通常所說(shuō)的同步失敗。在同步時(shí)鐘域中的這種問(wèn)題是Hold問(wèn)題,可以通過(guò)EDA工具或插入buffer消除,因為EDA工具可以檢測到這種問(wèn)題。那么在異步接收設計中通過(guò)兩級Flipflop來(lái)消除這種可能出現的亞穩態(tài)?,F在也有工具檢測代碼中可能出現的亞穩態(tài)問(wèn)題。多位接收控制信號之間的skew引起的問(wèn)題如圖1,如果其中一位如C2延遲大于C1,Ck采樣的數據就變成了C2=1,C1=0,如果按照無(wú)skew傳輸的波形是C2’的樣子,應該是00才對。而skew是不可避免的,可能是由于C2C1信號的Launch時(shí)鐘本身的skew引起,也可能是傳輸延遲引起。對于簡(jiǎn)單的情況,我們可以通過(guò)簡(jiǎn)化邏輯,盡量讓控制信號是1位寬。而這樣的問(wèn)題同樣出現在多位寬的數據接收情況。這時(shí)通常推薦使用異步FIFO接收,或者通過(guò)握手協(xié)議接收。有的系統設計數據交換協(xié)議約定,異步接收過(guò)程中,當某個(gè)事件發(fā)生后(如圖1中采樣到V信號為1后)的1個(gè)Cycle后(也可以約定多個(gè)Cycle)數據肯定是正確的;也可以消除這種skew問(wèn)題,但是,這種實(shí)現需要后端設計時(shí)保證這些相關(guān)信號的skew不會(huì )超過(guò)約定的周期,同時(shí)發(fā)送方的數據也要保持足夠的周期數。如圖1中C2”信號,如果skew2>Period(一個(gè)CKCycle),則收到V信號一個(gè)Cycle后采樣數據還是錯誤的。

3.復位策略

復位信號中最主要的問(wèn)題是Removal,也就是要保證所有的觸發(fā)器必須在同一節拍內離開(kāi)Reset狀態(tài),另外,Reset信號完成的時(shí)刻不能與時(shí)鐘邊沿太靠近,以防止觸發(fā)器進(jìn)入亞穩態(tài)(Metastability)。同步復位和異步復位各有利弊,很難說(shuō)哪種更有優(yōu)勢。除了在編碼風(fēng)格時(shí)講到的一個(gè)問(wèn)題,在這里再對兩種策略中可能出現的問(wèn)題進(jìn)行分析說(shuō)明。

同步復位有一個(gè)好處就是復位的時(shí)刻發(fā)生在時(shí)鐘的邊沿,這樣可以防止復位信號的Glitch。如果是內部生產(chǎn)的Reset信號,就必須保證Reset脈沖有足夠的寬,至少2個(gè)Cycles,能夠讓時(shí)鐘采樣到。同時(shí),這也是它的缺點(diǎn),因為它需要一個(gè)活動(dòng)的時(shí)鐘,在加電時(shí)無(wú)法對一些電路產(chǎn)生復位。另外,綜合可能把同步復位的邏輯移到觸發(fā)器的D輸入端,作為普通的信號處理,由于Reset信號通常有傳輸負載和延遲,這樣處理會(huì )導致DataPath上較長(cháng)的延遲。

異步復位的最大好處就是不需要活動(dòng)的時(shí)鐘,對于一些需要加電復位的電路,如總線(xiàn),是很必要的;同時(shí),不像同步復位那樣,復位信號會(huì )被用作D端的輸入邏輯,使得整個(gè)DataPath非常干凈。如果異步復位有Glitch可能使芯片進(jìn)入復位狀態(tài),這時(shí)可以通過(guò)兩級DFF接收Reset,再通過(guò)tree給復位觸發(fā)器使用,這樣可以消除輸入引起的Glitch,如果設計中有多個(gè)時(shí)鐘域,可以對每個(gè)時(shí)鐘分配兩個(gè)DFF接收Reset信號。

4.門(mén)控時(shí)鐘

GatedClock主要的優(yōu)點(diǎn)在于能夠降低功耗面積,也可以簡(jiǎn)化邏輯從而提高頻率。在編碼時(shí)需要考慮無(wú)Glitch的門(mén)控信號設計。同時(shí),在DFT設計時(shí),由于觸發(fā)器的時(shí)鐘是前一級邏輯的輸出(其他派生時(shí)鐘也有同樣的問(wèn)題),為了測試這類(lèi)觸發(fā)器,需要為時(shí)鐘增加一級Mux,在正常工作模式下,采用派生時(shí)鐘,在掃描測試時(shí)采用正常的時(shí)鐘。門(mén)控時(shí)鐘的主要問(wèn)題出現在綜合、CTS插入以及STA分析的時(shí)候,在后面將進(jìn)行特別的分析討論。

5.總線(xiàn)實(shí)現

在這里只討論總線(xiàn)實(shí)現的方式,不涉及總線(xiàn)的協(xié)議。在設計總線(xiàn)時(shí)將面臨著(zhù)兩種基本方式的選擇,是采用三態(tài)總線(xiàn)還是采用多路選擇結構的總線(xiàn)。在全定制設計時(shí),設計者似乎更喜歡采用三態(tài),掛在總線(xiàn)上的各個(gè)部件可以分布在芯片的各個(gè)部分。同時(shí),由于可以減少連線(xiàn)的數量,它必須保證在任何時(shí)候,不發(fā)生總線(xiàn)沖突,如果多個(gè)驅動(dòng)總線(xiàn)可能導致嚴重的錯誤,需要通過(guò)一些措施消除這種隱患,比如三態(tài)的使能通過(guò)解碼器產(chǎn)生Onehot的編碼,防止多驅動(dòng)引起的邏輯錯誤和對芯片的損害;同時(shí),三態(tài)總線(xiàn)需要連到上拉電阻上,以防止在一段時(shí)間內不驅動(dòng)總線(xiàn)產(chǎn)生總線(xiàn)數據不確定,而DC等綜合并不支持。另外,三態(tài)總線(xiàn)的電容負載也是一個(gè)不可忽視的問(wèn)題,對性能和面積造成不利的影響,其負載主要來(lái)自總線(xiàn)連接的多個(gè)電路單元,總線(xiàn)布局本身帶來(lái)一定的負載;最后,三態(tài)總線(xiàn)給DFT設計也帶來(lái)困難?;谶@些理由,在非定制ASIC設計時(shí),我們實(shí)在不必要選擇三態(tài)總線(xiàn)的方式。相比之下,采用多路選擇器的問(wèn)題是較多連線(xiàn)帶來(lái)的布線(xiàn)擁塞問(wèn)題,選擇器的延遲問(wèn)題基本上不是什么問(wèn)題,深亞微米設計中,門(mén)的延遲差別已經(jīng)變少,同時(shí)多層金屬也帶來(lái)了足夠的布線(xiàn)資源。

三.邏輯綜合以及后端設計相關(guān)問(wèn)題

1.編碼風(fēng)格檢查

DC對編碼風(fēng)格的檢查提供良好的支持,在進(jìn)行邏輯綜合之前最好先分析一下DC的log文件,看是否有上述的或其他的一些編碼風(fēng)格問(wèn)題。通過(guò)set_dont_use命令可以禁止使用一些工藝相關(guān)的單元,all_registers帶參數也可以報告出設計中所用到的Latch。下面主要討論前面提到的一些情況在綜合以及后端實(shí)現時(shí)的特殊處理。同時(shí),還有很多EDA工具提供編碼風(fēng)格進(jìn)行檢查。

2.異步時(shí)鐘域

在編碼設計中我們通過(guò)劃分,將異步時(shí)鐘域接收模塊分離成獨立的模塊,其他模塊都采用單獨的時(shí)鐘,綜合約束相對簡(jiǎn)單。對于那些帶有異步時(shí)鐘域的模塊,如果不進(jìn)行約束,DC總是試圖去滿(mǎn)足采樣時(shí)鐘的setup/hold時(shí)間,事實(shí)上,設計者并不關(guān)心異步時(shí)鐘域之間的這些問(wèn)題,而其Metastability問(wèn)題在編碼階段已經(jīng)解決。通常,可以設置異步時(shí)鐘域之間的Path為false_path。如:

set_false_path-from[get_clocksCLKB]-to[get_clocksCLKA]

如果異步接口數據的控制按照最后一種方式

(也就是在約定的節拍內讀取數據),也就需要發(fā)送方的數據skew控制在一定范圍內。由于沒(méi)有對這些路徑進(jìn)行約束(雖然可以設置這些path的Maxdelay,但是這種約束對于skew的控制并不能取得好的效果),工具無(wú)法對這些路徑進(jìn)行自動(dòng)優(yōu)化。因此最好采用手工布局的方法,讓這些skew在一個(gè)可控的范圍內,在STA階段,也需要對這些skew進(jìn)行單獨的分析。

3.特殊時(shí)鐘信號處理

門(mén)控時(shí)鐘像所有的內部時(shí)鐘一樣,時(shí)鐘的skew可能引起一些保持時(shí)間問(wèn)題,默認條件下,時(shí)鐘樹(shù)綜合工具并不把邏輯門(mén)相連的時(shí)鐘信號連到時(shí)鐘樹(shù)上,非門(mén)控的觸發(fā)器上的時(shí)鐘是連在時(shí)鐘樹(shù)上,這個(gè)時(shí)鐘延遲是相當可觀(guān)的,為了控制門(mén)控時(shí)鐘與非門(mén)控時(shí)鐘的skew,通常從時(shí)鐘樹(shù)葉子節點(diǎn)的上一級引出時(shí)鐘信號作為控制門(mén)的時(shí)鐘輸入。在STA階段需要對門(mén)控時(shí)鐘的Setup/Hold時(shí)間進(jìn)行特殊分析,以及Glitch檢查。然后,我們再回顧一下例1的代碼中的情況,可以用圖2的示意圖表示。

圖2.時(shí)鐘作為普通信號使用的情況

為了方便討論,時(shí)鐘樹(shù)插入以后,假設A與B之間有1個(gè)ckaCycle的skew;從圖3可以看到如果采用A點(diǎn)作加法器的輸入時(shí)產(chǎn)生的波形是ckb’,采用B點(diǎn)作為輸入時(shí)的波形是ckb,顯然,從例1的代碼來(lái)看,ckb才是正確的。因此必須注意到,如果時(shí)鐘當作普通的信號使用時(shí)可能帶來(lái)的問(wèn)題,這類(lèi)問(wèn)題并沒(méi)有一個(gè)通用的解決辦法。在這個(gè)例子中,不采用時(shí)鐘樹(shù)上的信號才是正確的,但是在另外一些應用中,就必須采用時(shí)鐘樹(shù)上的信號。比如,時(shí)鐘是CK的兩個(gè)觸發(fā)器中鎖存的數據再由CK的高電平和低電平選擇輸出,那么,這個(gè)時(shí)候就需要作為選擇信號的CK從時(shí)鐘樹(shù)上拉過(guò)來(lái)。因此,如果設計中用到了時(shí)鐘信號作為普通信號的情況,在后端設計時(shí)就必須特殊處理。

圖3.Skew引起的設計錯誤

如果設計中用到時(shí)鐘的上升沿和下降沿,在時(shí)鐘樹(shù)插入的時(shí)候也需要注意采用能夠平衡上升沿和下降沿的buffer,以保證較好的占空比。

4.復位信號

復位中的Removal問(wèn)題,對于異步復位信號,需要tree來(lái)平衡各個(gè)負載點(diǎn)上的skew,但是,Reset信號的skew控制不像時(shí)鐘那么嚴格,只要滿(mǎn)足Removal檢查就可以,PT等STA工具支持Removal的檢查。

四.帶Post-Layout延遲信息的門(mén)級仿真

門(mén)級仿真非常重要,它是最后一道關(guān)卡,可以從兩個(gè)方面入手,功能性驗證和時(shí)序驗證,最主要的是時(shí)序驗證,功能性驗證基本上由RTL級已經(jīng)做了很多充分的工作,如果等價(jià)性驗證通過(guò),功能性基本沒(méi)問(wèn)題。

時(shí)序仿真需要了解到一些仿真工具所采用的延遲模型,仿真工具的延遲計算都是基于一種簡(jiǎn)單延遲模型:

CircuitDelay=TransportDelayInertialDelay

時(shí)序仿真的目標是通過(guò)反標SDF文件中延遲信息,模擬一些在RTL級無(wú)法出現的一些情況,如復位,狀態(tài)機的翻轉。充分的驗證應該包括在bestcase下檢查短路徑的hold時(shí)間,在worstcase下檢查長(cháng)路徑的setup時(shí)間。這些問(wèn)題雖然在STA也作了檢查,門(mén)級仿真還是很必要的,尤其在用到時(shí)鐘雙邊沿的設計中;另外,對于有異步時(shí)鐘接口的設計,需要調整異步時(shí)鐘的相位關(guān)系,檢查是否存在著(zhù)同步失敗問(wèn)題;3.3中特殊時(shí)鐘問(wèn)題,都可以通過(guò)門(mén)仿驗證其正確性;一些窄脈沖是否能通過(guò)IOBuffer??傊?,這是一個(gè)非常重要的過(guò)程,需要花大量的時(shí)間去分析一些關(guān)鍵信號的波形與設想的是否一致。

總結

ASIC設計是一個(gè)復雜和全局的過(guò)程,從結構設計、代碼設計、綜合以及物理設計、時(shí)序分析、門(mén)級仿真,整個(gè)過(guò)程周期長(cháng),每個(gè)環(huán)節都不能孤立的思考。需要設計人員花費大量的時(shí)間去降低或消除設計中潛在的風(fēng)險,才能設計出功能正確,性能滿(mǎn)足要求的產(chǎn)品。因此,IC設計的工具如果能在很大程度上緩解設計人員的操作壓力,令其可以安心進(jìn)行設計工作,這樣的設計工具對于設計師來(lái)說(shuō),可以說(shuō)是一枚“利器”。



關(guān)鍵詞: ASIC

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>