0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于雙向同步自適應時鐘技術(shù)實現(xiàn)跨時鐘域信號傳輸系統(tǒng)的設計

電子設計 ? 來源:現(xiàn)代電子技術(shù) ? 作者:陸俊峰,洪一 ? 2021-03-23 17:20 ? 次閱讀

隨著半導體工藝的迅速發(fā)展,嵌入式處理器DSP的設計越來越復雜,其開發(fā)調(diào)試工作也日趨重要,因此處理器平臺提供強大的調(diào)試系統(tǒng)已成為設計中必不可少的一部分。

嵌入式處理器調(diào)試系統(tǒng)使用硬件仿真器將調(diào)試軟件與目標芯片接連起來。仿真器與PC機之間通過標準的計算機通信接口以太網(wǎng)、USB、串口等)進行通信;仿真器與目標芯片之間通過符合IEEEll49.1標準的JTAG(Joint Test Action Group)信號進行數(shù)據(jù)傳輸。隨著處理器和仿真器主頻的不斷提升,傳統(tǒng)的JTAG接口設計以其缺乏對JTAG信號傳輸進行必要的時序匹配,而無法確保仿真器和目標芯片對JTAG信號進行穩(wěn)定可靠的接收,因此不能滿足高性能嵌入式系統(tǒng)的要求。

在此,提出一種雙向同步自適應時鐘技術(shù),在仿真器與目標處理器之間穩(wěn)定可靠地實現(xiàn)了跨時鐘域JTAG信號的雙向時序匹配,并在此基礎上設計了一種TCK時鐘信號產(chǎn)生算法,從而解決了調(diào)試系統(tǒng)軟/硬件協(xié)同驗證中JTAG信號交互時的時序匹配問題。

1 自適應時鐘技術(shù)

1.1 基本概念

自適應時鐘(Adaptive Clocking)是一種信號同步技術(shù),其基本原理來源于異步電路設計中的自動調(diào)時(SelfTimed)技術(shù),即采用類似應答機制來實現(xiàn)兩個不同時鐘域系統(tǒng)間信號的可靠傳輸,如圖l所示。

基于雙向同步自適應時鐘技術(shù)實現(xiàn)跨時鐘域信號傳輸系統(tǒng)的設計

圖l中的發(fā)送與接收系統(tǒng)均工作在各自獨立的時鐘域下,并對異步輸入信號進行采樣同步。發(fā)送系統(tǒng)(Transmit System)以時鐘clk_t為基準,向接收系統(tǒng)(Receive System)發(fā)送數(shù)據(jù)data_t。接收系統(tǒng)將信號clk_t采樣同步后產(chǎn)生clk_r,并作為應答信號反饋給發(fā)送系統(tǒng),發(fā)送系統(tǒng)接收到clk_r信號,就認為接收系統(tǒng)已經(jīng)完成了數(shù)據(jù)接收或處理,可以繼續(xù)發(fā)送新的時鐘和數(shù)據(jù)。此外,如果接收系統(tǒng)也需要向發(fā)送系統(tǒng)傳送數(shù)據(jù)data_r,則以clk_r為基準,便于發(fā)送系統(tǒng)采用同樣的機制接收。

自適應時鐘機制通常采用多級同步器實現(xiàn),一般由幾個D觸發(fā)器構(gòu)成,如圖2所示。同步器將時鐘信號TCK同步到內(nèi)核時鐘域。同步器的級數(shù)Ns通常與具體的器件相關(guān),一般取值為3或者4。TCK_RET來自最后一級D觸發(fā)器的輸出,作為TCK的“應答”信號,反饋給調(diào)試系統(tǒng)。

TCK信號頻率的理論最大值可以根據(jù)內(nèi)核時鐘頻率和Ns的值,由下式簡單計算得到:

自適應時鐘協(xié)議是一種通過目標系統(tǒng)來控制TCK速率的機制,這種機制的優(yōu)點在于它能夠把所有的信號傳輸延遲(包括JTAG電纜引入的延時)都考慮在內(nèi),從而避免了由于傳輸延遲帶來的接收數(shù)據(jù)損壞,有效提高系統(tǒng)性能。

自適應時鐘的另一個優(yōu)點是可以使仿真器工作在最優(yōu)的TCK時鐘頻率下。如果仿真器支持可變的TCK頻率,但沒有使用自適應時鐘技術(shù),用戶就必須通過實驗來設置TCK的最高工作頻率和穩(wěn)定工作頻率。

自適應時鐘的第三個優(yōu)點是如果芯片內(nèi)核時鐘也是可變的,那么TCK_RET信號也會在工作時隨之變化,從而保證傳輸數(shù)據(jù)能夠隨時被仿真器正確同步并采樣。

1.2 研究背景

目前自適應時鐘技術(shù)主要用于嵌入式處理器芯片的在線仿真器(In-Circuit Emulator,ICE),簡稱仿真器。仿真器可以為開發(fā)人員提供嵌入式處理器的實時調(diào)試和性能微調(diào)功能,該系統(tǒng)通過符合IEEE1149.1標準的JTAG接口與芯片內(nèi)部邏輯進行數(shù)據(jù)交換。

ARM公司最先在其嵌入式處理器的仿真器EmbeddedICE-RT中采用了自適應時鐘技術(shù)。最近,TI公司也在其0MAP系列嵌入式處理器的仿真器Blackhawk JTAG Emulator中采用了自適應時鐘技術(shù)。它們的自適應時鐘都基于觸發(fā)器-反相器法,如圖2所示。在采樣TCK_RET信號時,使用一個雙邊沿D觸發(fā)器(D-type Flip-Flop,DFF),這樣可以避免最終產(chǎn)生的TCK時頻率被降低一半。

觸發(fā)器-反向器法自適應時鐘技術(shù)僅對TCK信號進行同步,并沒有對TCK_RET信號同步,因此TCK信號容易產(chǎn)生不定態(tài)輸出,從而導致整個系統(tǒng)失效。此外,TCK信號的產(chǎn)生模式?jīng)]法由仿真器控制,因而靈活性差,適用范圍窄,并且在沒有JTAG信號傳輸時TCK信號無法關(guān)斷,這不僅增加了系統(tǒng)功耗,而且也增加了板級JTAG信號間的干擾。

筆者參與了國內(nèi)一款高性能DSP芯片的研發(fā)工作,同時還負責該芯片的調(diào)試系統(tǒng)設計,基于自適應時鐘的基本原理,提出了雙向同步自適應時鐘技術(shù)。該時鐘技術(shù)具有如下優(yōu)點:

(1)對TCK和TCK_RET分別進行同步,確保JTAG信號雙向通信的可靠性和穩(wěn)定性;

(2)TCK信號由硬件算法產(chǎn)生,可以根據(jù)應用需要靈活調(diào)整信號特征,從而解決了芯片設計中軟/硬件協(xié)同驗證的時序匹配問題;

(3)在沒有JTAG通信的間隙能夠主動關(guān)閉TCK信號,降低系統(tǒng)功耗,減小板級的信號干擾;

(4)由于仿真器時鐘域和處理器時鐘域之間的異步關(guān)系,產(chǎn)生TCK時鐘信號時會引入抖動(Jitter)。該抖動對系統(tǒng)是有益的,它會對TCK信號引入擴頻調(diào)節(jié),從而降低電磁干擾(Electro Magnetic Interference,EMl),提高系統(tǒng)的電磁兼容性(Electro Magnetic Compatibmty,EMC)。

2 雙向同步自適應時鐘技術(shù)

隨著嵌入式處理器性能的增強,仿真器需要處理的在線調(diào)試功能也隨之增強,因此仿真器本身也需要工作在比較高的時鐘頻率下,從而能夠在有限的時間內(nèi)處理足夠多的調(diào)試信息。通常使用JTAG時鐘信號TCK的頻率相對比較低,在1~20 MHz之間,已經(jīng)遠遠無法滿足仿真器的工作需要。雙向同步自適應時鐘機制能夠保證仿真器和處理器都工作在各自的高頻時鐘下,同時還能夠?qū)崿F(xiàn)可靠的JTAG信號傳輸。

2.1 原理

雙向自適應時鐘技術(shù)的原理如圖3所示。

仿真器工作在JTAG clock時鐘域,其頻率為fJTAG;所有由仿真器發(fā)送給處理器內(nèi)核的JTAG信號都由該時鐘域的邏輯產(chǎn)生,并與TCK對齊,TCK的頻率為fTCK。處理器內(nèi)核工作在Core clock時鐘域,其頻率為fCore;JTAG clock,TCK和Core clock這三組時鐘信號之間通常滿足下述基本關(guān)系:

由于TCK和TCK_RET信號在兩個異步時鐘域之間傳輸,為了消除跨時鐘域信號傳輸可能帶來的不定態(tài)導致系統(tǒng)失效,處理器內(nèi)核和仿真器都需要分別對這兩個信號進行同步和采樣,即雙向同步。同步器采用2級D觸發(fā)器級聯(lián)構(gòu)成,這種結(jié)構(gòu)可以保證系統(tǒng)在108s(大約3年)內(nèi)失效的次數(shù)少于1次,從而解決絕大部分跨時鐘域信號的不定態(tài)問題。如果在特殊情況下需要進一步提高系統(tǒng)的穩(wěn)定性,可以繼續(xù)增加D觸發(fā)器的級聯(lián)數(shù)目,但是這樣做會增加系統(tǒng)的延遲,因此需要在性能和穩(wěn)定性之間進行權(quán)衡。

TCK信號經(jīng)過Core clock時鐘同步之后產(chǎn)生TCK_RET信號,反饋給仿真器,從而實現(xiàn)自適應時鐘技術(shù)。同時,由處理器內(nèi)核向仿真器發(fā)送的JTAG信號(例如TDO)與TCK_RET信號對齊。TCK_R和TCK_F可作為Core clock時鐘域的門控信號,分別在TCK的上升沿或者下降沿使能處理器內(nèi)核對JTAG信號進行采樣或處理。

TCK_RET信號被JTAG clock時鐘同步。TCK_RET_R表示采樣到TCK_RET的上升沿,TCK_RET_F表示采樣到TCK_RET的下降沿。這兩個信號送給TCK時鐘產(chǎn)生邏輯,用來根據(jù)當前TCKRET信號的接收情況產(chǎn)生下一個TCK信號及相關(guān)的JTAG控制和數(shù)據(jù)信號。

2.2 性能分析

雙向同步技術(shù)引入了兩個同步器,分別用來確保TCK和TCK_RET信號能夠被異步時鐘正確采樣,因此各自增加了一定的系統(tǒng)延遲。同步TCK信號引入的延遲為:

要保證圖3中Core clock時鐘域邏輯電路能夠在TCK_RET信號上升沿采樣到穩(wěn)定的數(shù)據(jù),JTAG信號必須滿足圖4中的關(guān)系。

在DSP設計中,fCore=500 MHz,fJTAG=100 MHz,并假設m=1,代入式(9)計算可得TCK信號的最高頻率大約為10.9 MHz。

2.3 多芯片級聯(lián)結(jié)構(gòu)

雙向同步自適應時鐘技術(shù)完全支持IEEEll49.1協(xié)議中定義的各種多芯片間JTAG信號板級互聯(lián)結(jié)構(gòu)。多芯片級聯(lián)情況下,通過式(9)或式(13),根據(jù)每一塊芯片的工作主頻都能計算得到一個對應的TCK頻率值。整個級聯(lián)系統(tǒng)最終使用的JTAG時鐘信號TCK的最高工作頻率不能超過所有TCK頻率值中最小的那個。如圖5所示。

采用并行互聯(lián)結(jié)構(gòu)的JTAG鏈路,多芯片自適應時鐘連接方式與單芯片連接方式一致,每塊芯片都提供一路被自身時鐘域所同步的自適應時鐘TCK_RET,如圖5(a)所示。

對于采用串行菊花鏈結(jié)構(gòu)的JTAG鏈路,自適應時鐘TCK_RET僅來自于鏈路上最接近TDO輸出端一側(cè)的那塊芯片,其他芯片不提供自適應時鐘,如圖5(b)所示。

對于串/并混合連接的多芯片JTAG鏈路,自適應時鐘的連接是上述兩種連接方式的混合,如圖5(c)所示。

多芯片系統(tǒng)的JTAG連接方式一般都采用串行菊花鏈結(jié)構(gòu),從而確保其JTAG鏈路與仿真器接口與單芯片情況下一致,并能夠簡化系統(tǒng)設計。

3 自適應時鐘技術(shù)在芯片驗證中的應用

隨著嵌入式處理器設計的規(guī)模越來越大,復雜度越來越高,功能驗證已經(jīng)成為設計過程中的首要瓶頸。為了提高驗證速度,通常采用專門的硬件加速器,筆者參與的高性能DSP設計項目采用了Cadence公司XtremeⅢ硬件加速器,以加速設計功能的驗證。XtremeⅢ是基于FPGA的硬件模擬器,它是專門為運行模擬(Simulation)而特別設計的計算機。硬件模擬器只能驗證邏輯功能,而不能驗證時序性質(zhì),因為來自FPGA網(wǎng)絡或者處理器的時延與系統(tǒng)設計過程中的時延無關(guān)。使用硬件模擬器時,主要瓶頸是硬件模擬器與主機之間的交互(又稱系統(tǒng)調(diào)用)。因此,在軟/硬件協(xié)同驗證中。真實的硬件系統(tǒng)在與基于硬件模擬器的系統(tǒng)發(fā)生信號交互時,時序匹配成為最大的難題。

圖6說明了硬件模擬器的時鐘與真實硬件系統(tǒng)時鐘間的差別。真實硬件系統(tǒng)產(chǎn)生的是絕對時鐘信號,它的周期是一個固定值T,如圖6(a)所示。硬件模擬器與軟件模擬器類似,只有相對時鐘概念。它在被模擬系統(tǒng)的時鐘上升沿和下降沿處分別計算系統(tǒng)中所有的事件,如圖6(b)所示。對于特定的設計,無系統(tǒng)調(diào)用時,虛擬時鐘信號周期Ts=TR+TF基本上是常值,其中,TR為上升沿計算所有事件所需的時間;TF為下降沿計算所有事件所需的時間會產(chǎn)生;當發(fā)生系統(tǒng)調(diào)用時(比如仿真時的系統(tǒng)函數(shù)調(diào)用等),額外的延時△t(△t=△t1+△t2),使得當前周期增大為Ts+△t。因此硬件模擬器中的時鐘信號周期是無規(guī)律變化的,而且受系統(tǒng)調(diào)用頻度以及系統(tǒng)調(diào)用復雜度(即△t的大小)的影響。

嵌入式處理器的調(diào)試系統(tǒng)需要采用系統(tǒng)級的軟/硬件協(xié)同驗證,包括軟件開發(fā)和調(diào)試環(huán)境、仿真器系統(tǒng)、處理器系統(tǒng)三部分。在該DSP設計項目中,軟件環(huán)境(運行在PC機上)和仿真器系統(tǒng)(基于FPGA開發(fā)板)都采用真實系統(tǒng),而DSP則在XtremeⅢ模擬器中實現(xiàn)。仿真器與DSP之間通過JTAG信號進行通信。仿真器采用圖3所示的雙向同步自適應時鐘技術(shù),仿真器發(fā)送給DSP的TCK信號特征與圖6(a)相同,而DSP反饋給仿真器的同步時鐘TCK_RET信號特征與圖6(b)相同。因此,在TCK Generator中設計圖7所示的算法,從而完全解決了真實硬件系統(tǒng)與硬件模擬器之間的JTAG信號傳輸時序匹配問題。實驗中,設定TCK的工作頻率為40 kHz。未采用雙向自適應同步時鐘技術(shù)時,仿真器與xtremeⅢ硬件模擬器之間的JTAG信號傳輸經(jīng)常發(fā)生TCK_RET時鐘沿丟失(等效時鐘頻率約為20 kHz),導致仿真器無法正確采樣TDO數(shù)據(jù),如圖8(a)所示。采用雙向自適應時鐘后,盡管整個驗證系統(tǒng)中TCK時鐘信號的實際工作頻率約為20 kHz,但持續(xù)不間斷工作72 h以上未發(fā)現(xiàn)JTAG信號傳輸錯誤,從而證明系統(tǒng)能夠正常工作,如圖8(b)所示。

4 結(jié)語

為解決高性能嵌入式處理器或DSP與仿真器之間JTAG信號傳輸穩(wěn)定性問題,提出了一種雙向同步自適應時鐘技術(shù)。該技術(shù)在同步電路中引入了異步電路的應答機制,巧妙解決了由于嵌入式處理器或DSP(尤其是針對低功耗設計的處理器,它的工作主頻會隨著負載變化而變化)本身主頻變化導致的JTAG信號傳輸失效。此外,該技術(shù)還為軟、硬件協(xié)同驗證中真實系統(tǒng)與硬件模擬器之間信號傳輸提供了可靠的解決方案。在隨后的工作中,將繼續(xù)研究自適應時鐘技術(shù)在各種系統(tǒng)跨時鐘域信號傳輸中的應用。從而進一步拓展該技術(shù)的適用范圍。

責任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19286

    瀏覽量

    229872
  • 半導體
    +關(guān)注

    關(guān)注

    334

    文章

    27367

    瀏覽量

    218823
  • 嵌入式
    +關(guān)注

    關(guān)注

    5082

    文章

    19126

    瀏覽量

    305302
收藏 人收藏

    評論

    相關(guān)推薦

    時鐘控制信號傳輸設計方案

    clk2的時鐘。當clk1比clk2的頻率高時,則稱模塊1(相對于模塊2)為快時鐘,而模塊2位為慢時鐘
    發(fā)表于 10-16 15:47 ?1154次閱讀
    <b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>控制<b class='flag-5'>信號</b><b class='flag-5'>傳輸</b>設計方案

    關(guān)于時鐘信號的處理方法

    我在知乎看到了多bit信號時鐘的問題,于是整理了一下自己對于時鐘
    的頭像 發(fā)表于 10-09 10:44 ?6215次閱讀

    雙向同步自適應時鐘技術(shù)

    不能滿足高性能嵌入式系統(tǒng)的要求。在此,提出一種雙向同步自適應時鐘技術(shù),在仿真器與目標處理器之間穩(wěn)定可靠地
    發(fā)表于 05-21 05:00

    時鐘信號同步的IP解決方案

    本文解釋了在時鐘和數(shù)據(jù)信號從一個時鐘跨越到另一個時鐘所發(fā)生的許多類型的
    發(fā)表于 04-06 17:39 ?51次下載
    <b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b><b class='flag-5'>信號</b><b class='flag-5'>同步</b>的IP解決方案

    時鐘信號的幾種同步方法研究

    時鐘信號同步方法應根據(jù)源時鐘與目標時鐘的相位關(guān)
    發(fā)表于 05-09 15:21 ?63次下載
    <b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b><b class='flag-5'>信號</b>的幾種<b class='flag-5'>同步</b>方法研究

    如何利用FPGA設計一個時鐘同步策略?

    基于FPGA的數(shù)字系統(tǒng)設計中大都推薦采用同步時序的設計,也就是單時鐘系統(tǒng)。但是實際的工程中,純粹單時鐘
    的頭像 發(fā)表于 09-01 08:29 ?5560次閱讀
    如何利用FPGA設計一個<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>的<b class='flag-5'>同步</b>策略?

    總線半握手時鐘處理

    總線半握手時鐘處理 簡要概述: 在上一篇講了單bit脈沖同步時鐘處理,本文講述控制
    的頭像 發(fā)表于 04-04 12:32 ?2869次閱讀
    總線半握手<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>處理

    AD9558:帶幀同步數(shù)據(jù)表的四輸入多業(yè)務線卡自適應時鐘轉(zhuǎn)換器

    AD9558:帶幀同步數(shù)據(jù)表的四輸入多業(yè)務線卡自適應時鐘轉(zhuǎn)換器
    發(fā)表于 04-30 12:16 ?7次下載
    AD9558:帶幀<b class='flag-5'>同步</b>數(shù)據(jù)表的四輸入多業(yè)務線卡<b class='flag-5'>自適應時鐘</b>轉(zhuǎn)換器

    AD9542:四輸入、五輸出、雙DPLL同步器和自適應時鐘轉(zhuǎn)換器產(chǎn)品手冊

    AD9542:四輸入、五輸出、雙DPLL同步器和自適應時鐘轉(zhuǎn)換器產(chǎn)品手冊
    發(fā)表于 05-08 12:48 ?6次下載
    AD9542:四輸入、五輸出、雙DPLL<b class='flag-5'>同步</b>器和<b class='flag-5'>自適應時鐘</b>轉(zhuǎn)換器產(chǎn)品手冊

    單bit信號時鐘傳輸可以使用兩級同步但后果呢?

    看的東西多了,發(fā)現(xiàn)有些并未領(lǐng)會到位。單bit信號時鐘傳輸,可以使用兩級同步,但后果呢?
    的頭像 發(fā)表于 05-10 10:08 ?838次閱讀
    單bit<b class='flag-5'>信號</b>的<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b><b class='flag-5'>傳輸</b>可以使用兩級<b class='flag-5'>同步</b>但后果呢?

    時鐘電路設計總結(jié)

    時鐘操作包括同步時鐘操作和異步
    的頭像 發(fā)表于 05-18 09:18 ?748次閱讀
    <b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>電路設計總結(jié)

    從處理單bit時鐘信號同步問題來入手

    在數(shù)字電路中,時鐘處理是個很龐大的問題,因此將會作為一個專題來陸續(xù)分享。今天先來從處理單bit時鐘
    發(fā)表于 06-27 11:25 ?1721次閱讀
    從處理單bit<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b><b class='flag-5'>信號</b><b class='flag-5'>同步</b>問題來入手

    時鐘電路設計—單比特信號傳輸

    時鐘(CDC)的應從對亞穩(wěn)定性和同步性的基本了解開始。
    的頭像 發(fā)表于 06-27 14:25 ?1071次閱讀
    <b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>電路設計—單比特<b class='flag-5'>信號</b><b class='flag-5'>傳輸</b>

    fpga時鐘通信時,慢時鐘如何讀取快時鐘發(fā)送過來的數(shù)據(jù)?

    時,由于時鐘頻率不同,所以可能會產(chǎn)生元件的不穩(wěn)定情況,導致傳輸數(shù)據(jù)的錯誤。此時我們需要采取一些特殊的措施,來保證時鐘
    的頭像 發(fā)表于 10-18 15:23 ?1076次閱讀

    一文解析時鐘傳輸

    一、單比特CDC傳輸1.1 慢到快 快時鐘相比慢時鐘采樣速度更快,也就是說從慢時鐘
    的頭像 發(fā)表于 11-16 11:55 ?535次閱讀
    一文解析<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b><b class='flag-5'>傳輸</b>