自適應時(shí)鐘技術(shù)在芯片設計與驗證中的應用
0 引言
本文引用地址:http://dyxdggzs.com/article/149660.htm隨著(zhù)半導體工藝的迅速發(fā)展,嵌入式處理器和DSP的設計越來(lái)越復雜,其開(kāi)發(fā)調試工作也日趨重要,因此處理器平臺提供強大的調試系統已成為設計中必不可少的一部分。
嵌入式處理器調試系統使用硬件仿真器將調試軟件與目標芯片接連起來(lái)。仿真器與PC機之間通過(guò)標準的計算機通信接口(以太網(wǎng)、USB、串口等)進(jìn)行通信;仿真器與目標芯片之間通過(guò)符合IEEEll49.1標準的JTAG(Joint Test AcTIon Group)信號進(jìn)行數據傳輸。隨著(zhù)處理器和仿真器主頻的不斷提升,傳統的JTAG接口設計以其缺乏對JTAG信號傳輸進(jìn)行必要的時(shí)序匹配,而無(wú)法確保仿真器和目標芯片對JTAG信號進(jìn)行穩定可靠的接收,因此不能滿(mǎn)足高性能嵌入式系統的要求。
在此,提出一種雙向同步自適應時(shí)鐘技術(shù),在仿真器與目標處理器之間穩定可靠地實(shí)現了跨時(shí)鐘域JTAG信號的雙向時(shí)序匹配,并在此基礎上設計了一種TCK時(shí)鐘信號產(chǎn)生算法,從而解決了調試系統軟/硬件協(xié)同驗證中JTAG信號交互時(shí)的時(shí)序匹配問(wèn)題。
1.1 基本概念
自適應時(shí)鐘(Adaptive Clocking)是一種信號同步技術(shù),其基本原理來(lái)源于異步電路設計中的自動(dòng)調時(shí)(SelfTimed)技術(shù),即采用類(lèi)似應答機制來(lái)實(shí)現兩個(gè)不同時(shí)鐘域系統間信號的可靠傳輸,如圖l所示。
圖l中的發(fā)送與接收系統均工作在各自獨立的時(shí)鐘域下,并對異步輸入信號進(jìn)行采樣同步。發(fā)送系統(Transmit System)以時(shí)鐘clk_t為基準,向接收系統(Receive SySTem)發(fā)送數據data_t。接收系統將信號clk_t采樣同步后產(chǎn)生clk_r,并作為應答信號反饋給發(fā)送系統,發(fā)送系統接收到clk_r信號,就認為接收系統已經(jīng)完成了數據接收或處理,可以繼續發(fā)送新的時(shí)鐘和數據。此外,如果接收系統也需要向發(fā)送系統傳送數據data_r,則以clk_r為基準,便于發(fā)送系統采用同樣的機制接收。
自適應時(shí)鐘機制通常采用多級同步器實(shí)現,一般由幾個(gè)D觸發(fā)器構成,如圖2所示。同步器將時(shí)鐘信號TCK同步到內核時(shí)鐘域。同步器的級數Ns通常與具體的器件相關(guān),一般取值為3或者4。TCK_RET來(lái)自最后一級D觸發(fā)器的輸出,作為T(mén)CK的“應答”信號,反饋給調試系統。
TCK信號頻率的理論最大值可以根據內核時(shí)鐘頻率和Ns的值,由下式簡(jiǎn)單計算得到:
自適應時(shí)鐘協(xié)議是一種通過(guò)目標系統來(lái)控制TCK速率的機制,這種機制的優(yōu)點(diǎn)在于它能夠把所有的信號傳輸延遲(包括JTAG電纜引入的延時(shí))都考慮在內,從而避免了由于傳輸延遲帶來(lái)的接收數據損壞,有效提高系統性能。
自適應時(shí)鐘的另一個(gè)優(yōu)點(diǎn)是可以使仿真器工作在最優(yōu)的TCK時(shí)鐘頻率下。如果仿真器支持可變的TCK頻率,但沒(méi)有使用自適應時(shí)鐘技術(shù),用戶(hù)就必須通過(guò)實(shí)驗來(lái)設置TCK的最高工作頻率和穩定工作頻率。
自適應時(shí)鐘的第三個(gè)優(yōu)點(diǎn)是如果芯片內核時(shí)鐘也是可變的,那么TCK_RET信號也會(huì )在工作時(shí)隨之變化,從而保證傳輸數據能夠隨時(shí)被仿真器正確同步并采樣。
1.2 研究背景
目前自適應時(shí)鐘技術(shù)主要用于嵌入式處理器芯片的在線(xiàn)仿真器(In-Circuit Emulator,ICE),簡(jiǎn)稱(chēng)仿真器。仿真器可以為開(kāi)發(fā)人員提供嵌入式處理器的實(shí)時(shí)調試和性能微調功能,該系統通過(guò)符合IEEE1149.1標準的JTAG接口與芯片內部邏輯進(jìn)行數據交換。
ARM公司最先在其嵌入式處理器的仿真器EmbeddedICE-RT中采用了自適應時(shí)鐘技術(shù)。最近,TI公司也在其0MAP系列嵌入式處理器的仿真器Blackhawk JTAG Emulator中采用了自適應時(shí)鐘技術(shù)。它們的自適應時(shí)鐘都基于觸發(fā)器-反相器法,如圖2所示。在采樣TCK_RET信號時(shí),使用一個(gè)雙邊沿D觸發(fā)器(D-type Flip-Flop,DFF),這樣可以避免最終產(chǎn)生的TCK時(shí)頻率被降低一半。
觸發(fā)器-反向器法自適應時(shí)鐘技術(shù)僅對TCK信號進(jìn)行同步,并沒(méi)有對TCK_RET信號同步,因此TCK信號容易產(chǎn)生不定態(tài)輸出,從而導致整個(gè)系統失效。此外,TCK信號的產(chǎn)生模式?jīng)]法由仿真器控制,因而靈活性差,適用范圍窄,并且在沒(méi)有JTAG信號傳輸時(shí)TCK信號無(wú)法關(guān)斷,這不僅增加了系統功耗,而且也增加了板級JTAG信號間的干擾。
筆者參與了國內一款高性能DSP芯片的研發(fā)工作,同時(shí)還負責該芯片的調試系統設計,基于自適應時(shí)鐘的基本原理,提出了雙向同步自適應時(shí)鐘技術(shù)。該時(shí)鐘技術(shù)具有如下優(yōu)點(diǎn):
(1)對TCK和TCK_RET分別進(jìn)行同步,確保JTAG信號雙向通信的可靠性和穩定性;
(2)TCK信號由硬件算法產(chǎn)生,可以根據應用需要靈活調整信號特征,從而解決了芯片設計中軟/硬件協(xié)同驗證的時(shí)序匹配問(wèn)題;
(3)在沒(méi)有JTAG通信的間隙能夠主動(dòng)關(guān)閉TCK信號,降低系統功耗,減小板級的信號干擾;
(4)由于仿真器時(shí)鐘域和處理器時(shí)鐘域之間的異步關(guān)系,產(chǎn)生TCK時(shí)鐘信號時(shí)會(huì )引入抖動(dòng)(Jitter)。該抖動(dòng)對系統是有益的,它會(huì )對TCK信號引入擴頻調節,從而降低電磁干擾(Electro Magnetic Interference,EMl),提高系統的電磁兼容性(Electro Magnetic Compatibmty,EMC)。
2 雙向同步自適應時(shí)鐘技術(shù)
隨著(zhù)嵌入式處理器性能的增強,仿真器需要處理的在線(xiàn)調試功能也隨之增強,因此仿真器本身也需要工作在比較高的時(shí)鐘頻率下,從而能夠在有限的時(shí)間內處理足夠多的調試信息。通常使用JTAG時(shí)鐘信號TCK的頻率相對比較低,在1~20 MHz之間,已經(jīng)遠遠無(wú)法滿(mǎn)足仿真器的工作需要。雙向同步自適應時(shí)鐘機制能夠保證仿真器和處理器都工作在各自的高頻時(shí)鐘下,同時(shí)還能夠實(shí)現可靠的JTAG信號傳輸。
2.1 原理
雙向自適應時(shí)鐘技術(shù)的原理如圖3所示。
仿真器工作在JTAG clock時(shí)鐘域,其頻率為fJTAG;所有由仿真器發(fā)送給處理器內核的JTAG信號都由該時(shí)鐘域的邏輯產(chǎn)生,并與TCK對齊,TCK的頻率為fTCK。處理器內核工作在Core clock時(shí)鐘域,其頻率為fCore;JTAG clock,TCK和Core clock這三組時(shí)鐘信號之間通常滿(mǎn)足下述基本關(guān)系:
由于TCK和TCK_RET信號在兩個(gè)異步時(shí)鐘域之間傳輸,為了消除跨時(shí)鐘域信號傳輸可能帶來(lái)的不定態(tài)導致系統失效,處理器內核和仿真器都需要分別對這兩個(gè)信號進(jìn)行同步和采樣,即雙向同步。同步器采用2級D觸發(fā)器級聯(lián)構成,這種結構可以保證系統在108s(大約3年)內失效的次數少于1次,從而解決絕大部分跨時(shí)鐘域信號的不定態(tài)問(wèn)題。如果在特殊情況下需要進(jìn)一步提高系統的穩定性,可以繼續增加D觸發(fā)器的級聯(lián)數目,但是這樣做會(huì )增加系統的延遲,因此需要在性能和穩定性之間進(jìn)行權衡。
TCK信號經(jīng)過(guò)Core clock時(shí)鐘同步之后產(chǎn)生TCK_RET信號,反饋給仿真器,從而實(shí)現自適應時(shí)鐘技術(shù)。同時(shí),由處理器內核向仿真器發(fā)送的JTAG信號(例如TDO)與TCK_RET信號對齊。TCK_R和TCK_F可作為Core clock時(shí)鐘域的門(mén)控信號,分別在TCK的上升沿或者下降沿使能處理器內核對JTAG信號進(jìn)行采樣或處理。
TCK_RET信號被JTAG clock時(shí)鐘同步。TCK_RET_R表示采樣到TCK_RET的上升沿,TCK_RET_F表示采樣到TCK_RET的下降沿。這兩個(gè)信號送給TCK時(shí)鐘產(chǎn)生邏輯,用來(lái)根據當前TCKRET信號的接收情況產(chǎn)生下一個(gè)TCK信號及相關(guān)的JTAG控制和數據信號。
2.2 性能分析
雙向同步技術(shù)引入了兩個(gè)同步器,分別用來(lái)確保TCK和TCK_RET信號能夠被異步時(shí)鐘正確采樣,因此各自增加了一定的系統延遲。同步TCK信號引入的延遲為:
要保證圖3中Core clock時(shí)鐘域邏輯電路能夠在TCK_RET信號上升沿采樣到穩定的數據,JTAG信號必須滿(mǎn)足圖4中的關(guān)系。
在DSP設計中,fCore=500 MHz,fJTAG=100 MHz,并假設m=1,代入式(9)計算可得TCK信號的最高頻率大約為10.9 MHz。
2.3 多芯片級聯(lián)結構
雙向同步自適應時(shí)鐘技術(shù)完全支持IEEEll49.1協(xié)議中定義的各種多芯片間JTAG信號板級互聯(lián)結構。多芯片級聯(lián)情況下,通過(guò)式(9)或式(13),根據每一塊芯片的工作主頻都能計算得到一個(gè)對應的TCK頻率值。整個(gè)級聯(lián)系統最終使用的JTAG時(shí)鐘信號TCK的最高工作頻率不能超過(guò)所有TCK頻率值中最小的那個(gè)。如圖5所示。
采用并行互聯(lián)結構的JTAG鏈路,多芯片自適應時(shí)鐘連接方式與單芯片連接方式一致,每塊芯片都提供一路被自身時(shí)鐘域所同步的自適應時(shí)鐘TCK_RET,如圖5(a)所示。
對于采用串行菊花鏈結構的JTAG鏈路,自適應時(shí)鐘TCK_RET僅來(lái)自于鏈路上最接近TDO輸出端一側的那塊芯片,其他芯片不提供自適應時(shí)鐘,如圖5(b)所示。
對于串/并混合連接的多芯片JTAG鏈路,自適應時(shí)鐘的連接是上述兩種連接方式的混合,如圖5(c)所示。
多芯片系統的JTAG連接方式一般都采用串行菊花鏈結構,從而確保其JTAG鏈路與仿真器接口與單芯片情況下一致,并能夠簡(jiǎn)化系統設計。
隨著(zhù)嵌入式處理器設計的規模越來(lái)越大,復雜度越來(lái)越高,功能驗證已經(jīng)成為設計過(guò)程中的首要瓶頸。為了提高驗證速度,通常采用專(zhuān)門(mén)的硬件加速器,筆者參與的高性能DSP設計項目采用了Cadence公司XtremeⅢ硬件加速器,以加速設計功能的驗證。XtremeⅢ是基于FPGA的硬件模擬器,它是專(zhuān)門(mén)為運行模擬(Simulation)而特別設計的計算機。硬件模擬器只能驗證邏輯功能,而不能驗證時(shí)序性質(zhì),因為來(lái)自FPGA網(wǎng)絡(luò )或者處理器的時(shí)延與系統設計過(guò)程中的時(shí)延無(wú)關(guān)。使用硬件模擬器時(shí),主要瓶頸是硬件模擬器與主機之間的交互(又稱(chēng)系統調用)。因此,在軟/硬件協(xié)同驗證中。真實(shí)的硬件系統在與基于硬件模擬器的系統發(fā)生信號交互時(shí),時(shí)序匹配成為最大的難題。
圖6說(shuō)明了硬件模擬器的時(shí)鐘與真實(shí)硬件系統時(shí)鐘間的差別。真實(shí)硬件系統產(chǎn)生的是絕對時(shí)鐘信號,它的周期是一個(gè)固定值T,如圖6(a)所示。硬件模擬器與軟件模擬器類(lèi)似,只有相對時(shí)鐘概念。它在被模擬系統的時(shí)鐘上升沿和下降沿處分別計算系統中所有的事件,如圖6(b)所示。對于特定的設計,無(wú)系統調用時(shí),虛擬時(shí)鐘信號周期Ts=TR+TF基本上是常值,其中,TR為上升沿計算所有事件所需的時(shí)間;TF為下降沿計算所有事件所需的時(shí)間會(huì )產(chǎn)生;當發(fā)生系統調用時(shí)(比如仿真時(shí)的系統函數調用等),額外的延時(shí)△t(△t=△t1+△t2),使得當前周期增大為T(mén)s+△t。因此硬件模擬器中的時(shí)鐘信號周期是無(wú)規律變化的,而且受系統調用頻度以及系統調用復雜度(即△t的大小)的影響。
嵌入式處理器的調試系統需要采用系統級的軟/硬件協(xié)同驗證,包括軟件開(kāi)發(fā)和調試環(huán)境、仿真器系統、處理器系統三部分。在該DSP設計項目中,軟件環(huán)境(運行在PC機上)和仿真器系統(基于FPGA開(kāi)發(fā)板)都采用真實(shí)系統,而DSP則在XtremeⅢ模擬器中實(shí)現。仿真器與DSP之間通過(guò)JTAG信號進(jìn)行通信。仿真器采用圖3所示的雙向同步自適應時(shí)鐘技術(shù),仿真器發(fā)送給DSP的TCK信號特征與圖6(a)相同,而DSP反饋給仿真器的同步時(shí)鐘TCK_RET信號特征與圖6(b)相同。因此,在TCK Generator中設計圖7所示的算法,從而完全解決了真實(shí)硬件系統與硬件模擬器之間的JTAG信號傳輸時(shí)序匹配問(wèn)題。實(shí)驗中,設定TCK的工作頻率為40 kHz。未采用雙向自適應同步時(shí)鐘技術(shù)時(shí),仿真器與xtremeⅢ硬件模擬器之間的JTAG信號傳輸經(jīng)常發(fā)生TCK_RET時(shí)鐘沿丟失(等效時(shí)鐘頻率約為20 kHz),導致仿真器無(wú)法正確采樣TDO數據,如圖8(a)所示。采用雙向自適應時(shí)鐘后,盡管整個(gè)驗證系統中TCK時(shí)鐘信號的實(shí)際工作頻率約為20 kHz,但持續不間斷工作72 h以上未發(fā)現JTAG信號傳輸錯誤,從而證明系統能夠正常工作,如圖8(b)所示。
4 結語(yǔ)
為解決高性能嵌入式處理器或DSP與仿真器之間JTAG信號傳輸穩定性問(wèn)題,提出了一種雙向同步自適應時(shí)鐘技術(shù)。該技術(shù)在同步電路中引入了異步電路的應答機制,巧妙解決了由于嵌入式處理器或DSP(尤其是針對低功耗設計的處理器,它的工作主頻會(huì )隨著(zhù)負載變化而變化)本身主頻變化導致的JTAG信號傳輸失效。此外,該技術(shù)還為軟、硬件協(xié)同驗證中真實(shí)系統與硬件模擬器之間信號傳輸提供了可靠的解決方案。在隨后的工作中,將繼續研究自適應時(shí)鐘技術(shù)在各種系統跨時(shí)鐘域信號傳輸中的應用。從而進(jìn)一步拓展該技術(shù)的適用范圍。
評論