專利名稱:跨時(shí)鐘域的事件無損傳遞的制作方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及用于設(shè)計(jì)數(shù)字電子電路的方法和設(shè)備,尤其是用于設(shè)計(jì)這類包括多個(gè)時(shí)鐘域的電路的方法和設(shè)備。更確切地說,本發(fā)明涉及一個(gè)用于在時(shí)鐘域之間傳遞事件的電路,以便在一個(gè)時(shí)鐘域中監(jiān)控發(fā)生在不同的時(shí)鐘域中的事件。
背景技術(shù):
現(xiàn)代社會(huì)和技術(shù)通常越來越基于電子學(xué),而尤其基于集成電路(IC)。其中的許多裝置通常都基于IC或通常至少包括一個(gè)IC,這些裝置包括計(jì)算機(jī)、移動(dòng)電話、個(gè)人數(shù)字助理(PDA)、微波爐、洗衣機(jī)和汽車。
當(dāng)今,集成電路的容量已經(jīng)發(fā)展到在一個(gè)芯片上可以很平常地安置整個(gè)電子系統(tǒng)(SoC)的地步。這類SoC通常是被獨(dú)立設(shè)計(jì)的功能塊或模塊的集合體。對于這類模塊所常見的是,當(dāng)該模塊最初被設(shè)計(jì)時(shí),其占用整個(gè)IC或需要幾個(gè)IC來實(shí)現(xiàn)。
許多IC是基于同步或時(shí)鐘邏輯,其中,一個(gè)時(shí)鐘域內(nèi)的所有邏輯元件都使用相同的時(shí)鐘。時(shí)鐘是一個(gè)電子信號,其以恒定速率不斷地從相對較低的電壓變化到相對較高的電壓。例如,時(shí)鐘信號的電壓可能在10納秒(ns,或一秒的十億分之一)中是0.3伏特,接著在大約3ns內(nèi)達(dá)到大約3.0伏特,然后在大約10ns中保持穩(wěn)定,并且然后在大約3ns內(nèi)回到大約0.3伏特。
實(shí)際上,時(shí)鐘電路比非時(shí)鐘電路更容易設(shè)計(jì)。然而,時(shí)鐘電路強(qiáng)加一個(gè)約束,即約束電路內(nèi)的非時(shí)鐘信號何時(shí)可以合理地改變值。通常,進(jìn)入時(shí)鐘邏輯元件的信號必須滿足建立時(shí)間約束和保持時(shí)間約束,每個(gè)約束都與時(shí)鐘升至3.0伏特的時(shí)間有關(guān)。例如,在時(shí)鐘上升前的6ns以及其后的1ns中,進(jìn)入的信號可能必須穩(wěn)定在0.3伏特左右或3.0伏特左右。
片上系統(tǒng)中出現(xiàn)的一個(gè)問題是它們通常包含多個(gè)時(shí)鐘域。即,SoC內(nèi)的模塊可能有以不同速度運(yùn)行的時(shí)鐘,以相同速度運(yùn)行而其相位關(guān)系未知的時(shí)鐘,或同時(shí)存在這兩種時(shí)鐘。隨著所使用的設(shè)計(jì)和處理技術(shù)不斷進(jìn)步和開展,有利于具有多個(gè)時(shí)鐘的系統(tǒng)的因素正變得日益重要。
在SoC內(nèi)可能需要不同的時(shí)鐘,因?yàn)樵赟oC外的不同電路中所使用的時(shí)鐘可能具有不同的速度。在SoC內(nèi)可能有與這類電路緊密結(jié)合來操作的電路,并且這些內(nèi)部電路應(yīng)該匹配外部時(shí)鐘速度??赡苄枰煌臅r(shí)鐘,因?yàn)榫艿仡A(yù)測和控制兩個(gè)時(shí)鐘的速度和相位關(guān)系非常困難;因?yàn)闀r(shí)鐘怎樣在速度和相位上趨向不同取決于電噪聲級別、工作電壓、工作溫度或制造過程;因?yàn)镾oC內(nèi)的模塊最初怎樣被設(shè)計(jì);因?yàn)槟K的復(fù)雜性或功能性;因?yàn)樘岣呖傮w系統(tǒng)性能的需要;或因?yàn)榫哂卸鄠€(gè)工作模式的需要。例如,SoC可能具有一個(gè)使用特殊的電源電壓和時(shí)鐘速度的大功率、高性能模式,以及一個(gè)使用較低的電壓和時(shí)鐘速度的低功率、低性能模式。
當(dāng)信號跨過時(shí)鐘域之間的邊界時(shí),即當(dāng)信號被運(yùn)行在一個(gè)時(shí)鐘上的電路產(chǎn)生并由運(yùn)行在一個(gè)不同的時(shí)鐘上的電路接收時(shí),整個(gè)同步邏輯元件滿足建立和保持時(shí)間約束是不可能的。如果沒有特殊的電路,域間信號違反建立和保持約束是很普通的。這類違反是一個(gè)嚴(yán)重的問題,因?yàn)橐粋€(gè)在建立和保持期間改變電壓的信號可能導(dǎo)致不知道邏輯元件的輸出應(yīng)該基于信號的舊值還是基于新值。
此外,這類違反是一個(gè)嚴(yán)重的問題,因?yàn)槟承┏S玫倪壿嬙赡墚?dāng)輸入信號在建立和保持周期中改變值時(shí)進(jìn)入亞穩(wěn)定狀態(tài)。在亞穩(wěn)定狀態(tài)中,在邏輯元件的輸出端產(chǎn)生的電壓可能隨機(jī)地改變,直到邏輯元件自身穩(wěn)定下來為止。
此外,這類違反是一個(gè)嚴(yán)重的問題,因?yàn)樗鼈兒茈y在一個(gè)設(shè)計(jì)中被檢測到。許多設(shè)計(jì)IC的工程師都習(xí)慣于單個(gè)時(shí)鐘域內(nèi)的時(shí)鐘和同步電路設(shè)計(jì),而某些工程師可能不熟悉在時(shí)鐘域之間發(fā)生的亞穩(wěn)定性問題。
此外,這類違反是一個(gè)嚴(yán)重的問題,因?yàn)橹灰哂羞@類違反的IC被制造出來,它們就很難被調(diào)試。這類IC在大多數(shù)時(shí)間里可以正常工作,并且可能只是偶爾失靈。可能出現(xiàn)IC失靈的環(huán)境是隨機(jī)的。這可能使得識(shí)別問題的任務(wù)變得極其困難。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一個(gè)改進(jìn)的電路,用于把事件從一個(gè)時(shí)鐘域傳遞到另一個(gè)時(shí)鐘域。本發(fā)明的某些實(shí)施例有利地幾乎不對兩個(gè)時(shí)鐘強(qiáng)加約束,從而可以容納模式多樣化、特征不確定的時(shí)鐘系統(tǒng)。有利地,其它實(shí)施例也很簡單、IC面積很小、延遲很低、并能高速運(yùn)行。
本發(fā)明的一個(gè)實(shí)施例在目標(biāo)時(shí)鐘域中包括用于檢測目標(biāo)事件的發(fā)生并作為響應(yīng)用于斷言一個(gè)目標(biāo)域事件信號的裝置;以及用于響應(yīng)于該目標(biāo)域事件信號來改變請求信號的值的裝置。該實(shí)施例還在監(jiān)控時(shí)鐘域中包括用以響應(yīng)于請求信號值的變化來斷言一個(gè)監(jiān)控域事件信號的裝置。
本發(fā)明的另一個(gè)實(shí)施例在目標(biāo)時(shí)鐘域中包括計(jì)數(shù)器;發(fā)送寄存器;和請求發(fā)送電路。計(jì)數(shù)器產(chǎn)生在一個(gè)時(shí)間周期內(nèi)發(fā)生的目標(biāo)事件數(shù)量的一個(gè)遞增計(jì)數(shù)。響應(yīng)于傳遞信號,計(jì)數(shù)器傳遞并清除該遞增計(jì)數(shù),發(fā)送寄存器載入該遞增計(jì)數(shù)并保存該遞增計(jì)數(shù),并且請求發(fā)送電路改變一個(gè)請求信號的值。
這個(gè)實(shí)施例還在監(jiān)控時(shí)鐘域內(nèi)包括請求接收電路;接收寄存器;和確認(rèn)發(fā)送電路。請求接收電路檢測請求信號中的變化,并且響應(yīng)地產(chǎn)生一個(gè)接收信號。響應(yīng)于該接收信號,接收寄存器從發(fā)送寄存器載入該遞增計(jì)數(shù),并且確認(rèn)發(fā)送電路改變一個(gè)確認(rèn)信號的值。
這個(gè)實(shí)施例在目標(biāo)時(shí)鐘域中還包括一個(gè)確認(rèn)接收電路和一個(gè)控制電路。確認(rèn)接收電路檢測確認(rèn)信號中的變化,并且響應(yīng)地產(chǎn)生一個(gè)目標(biāo)域確認(rèn)信號。控制電路基于計(jì)數(shù)器中的遞增計(jì)數(shù)和目標(biāo)域確認(rèn)信號來產(chǎn)生傳遞信號。
本發(fā)明的又一個(gè)實(shí)施例在目標(biāo)時(shí)鐘域內(nèi)包括一個(gè)檢測器,每當(dāng)發(fā)生目標(biāo)事件時(shí),其斷言一個(gè)目標(biāo)域事件信號;和一個(gè)發(fā)送電路,每當(dāng)斷言目標(biāo)域事件信號時(shí),其改變一個(gè)請求信號的值。這個(gè)實(shí)施例在監(jiān)控時(shí)鐘域中還包括一個(gè)接收電路,其檢測請求信號中的變化,并且只要變化被檢測到,它就斷言一個(gè)監(jiān)控域事件信號。
本發(fā)明的目的、特色和優(yōu)點(diǎn)將通過此處結(jié)合附圖做出的說明和討論變得明顯。與本發(fā)明相關(guān)的技術(shù)、本發(fā)明的實(shí)施例和本發(fā)明的使用例在附圖中被說明,其中圖1根據(jù)本發(fā)明的一個(gè)實(shí)施例示出了集成電路(IC)中的功能元件及其互連,該集成電路(IC)包括監(jiān)控與調(diào)試模塊、第一處理器以及第二處理器,每個(gè)都運(yùn)行在獨(dú)立時(shí)鐘上。
圖2示出了在用于在時(shí)鐘域之間傳遞事件的第一示例電路中的功能元件及其互連。
圖3示出了在根據(jù)本發(fā)明的一個(gè)實(shí)施例的請求發(fā)送電路和請求接收電路中的邏輯元件及其互連。
圖4示出了用于在時(shí)鐘域之間傳遞事件的第二示例電路中的功能元件及其互連。
圖5示出了用于在時(shí)鐘域之間傳遞事件的第三示例電路中的功能元件及其互連。
圖6說明了本發(fā)明的實(shí)施例可能在其中運(yùn)行的兩個(gè)工作狀態(tài)并且示出了這個(gè)實(shí)施例怎樣在這些狀態(tài)之間切換。
具體實(shí)施例方式
此處的說明、討論和
了與本發(fā)明相關(guān)的技術(shù),示出了本發(fā)明的例子并給出了使用本發(fā)明的例子。已知的方法、程序、系統(tǒng)、電路或元件可能沒有被詳細(xì)地說明和描述,以免模糊本發(fā)明的原理。另一方面,本發(fā)明的具體實(shí)施例的細(xì)節(jié)被給出,然而這類細(xì)節(jié)可能不適用于本發(fā)明的其它實(shí)施例。
此處的某些說明和討論使用抽象或常規(guī)術(shù)語,它們非限制性地包括發(fā)送、接收、傳遞、等于、小于、保持、相位、時(shí)鐘、變化、遞增、斷言、真或假。本領(lǐng)域技術(shù)人員使用這類術(shù)語來為計(jì)算機(jī)內(nèi)、數(shù)字或機(jī)電系統(tǒng)內(nèi)的元件、數(shù)據(jù)或操作、適當(dāng)?shù)孛?。這類元件、數(shù)據(jù)和操作由實(shí)際目標(biāo)的物理性能來表示,非限制性地包括電子電壓、磁場或光反射率。例如,″斷言″或″真″可能指一個(gè)大約為3伏特的電子信號,而″沒有斷言″或″假″則可能指一個(gè)大約為0.3伏特的信號,反之亦然。類似地,非限制性地包括檢測、確定和控制的感知或精神的術(shù)語也可能指這類元件、數(shù)據(jù)、操作或物理性能處理。
圖1是一個(gè)根據(jù)本發(fā)明實(shí)施例的IC的功能框圖,其具有三個(gè)時(shí)鐘域。本發(fā)明可被用于不同設(shè)計(jì)的IC并可被用于包括多個(gè)IC的系統(tǒng)。從而,圖1的系統(tǒng)配置只是眾多例子中的一個(gè)。
集成電路100包括監(jiān)控與調(diào)試模塊140、第一處理器110、共享存儲(chǔ)器120和第二處理器130。第一處理器和共享存儲(chǔ)器在一個(gè)時(shí)鐘上運(yùn)行并且構(gòu)成第一目標(biāo)時(shí)鐘域170A。事件A發(fā)生在第一處理器內(nèi)并導(dǎo)致請求信號150A的值發(fā)生變化,比如從低到高的上升變化或轉(zhuǎn)換,或者從高到低的下降轉(zhuǎn)換。請求信號150A在監(jiān)控與調(diào)試模塊140內(nèi)被接收。事件B發(fā)生在共享存儲(chǔ)器內(nèi)并導(dǎo)致請求信號150B的值發(fā)生變化,該信號也在監(jiān)控與調(diào)試模塊140內(nèi)被接收。
第二處理器130在另一個(gè)時(shí)鐘上運(yùn)行并構(gòu)成第二目標(biāo)時(shí)鐘域170B。事件C和D發(fā)生在第二處理器內(nèi)并導(dǎo)致請求信號150C并150D的值發(fā)生變化,這兩個(gè)信號也在監(jiān)控與調(diào)試模塊140內(nèi)被接收。監(jiān)控與調(diào)試模塊140在監(jiān)控時(shí)鐘上運(yùn)行并構(gòu)成監(jiān)控時(shí)鐘域180。
使用本發(fā)明的一個(gè)實(shí)施例,監(jiān)控與調(diào)試模塊180能夠精確地確定在目標(biāo)域事件信號被斷言的任一目標(biāo)時(shí)鐘域中的周期數(shù)量。事件不會(huì)在時(shí)鐘域之間的傳遞過程中丟失,也不會(huì)被插入任何無關(guān)的事件。不需要暫停、停頓、停止或改變目標(biāo)事件的產(chǎn)生速率。
然而,本發(fā)明沒有穿過時(shí)鐘域邊界來傳達(dá)確定的信息。其中沒有斷言目標(biāo)域事件信號的周期的正確數(shù)目在監(jiān)控域中是未知的。具有斷言事件信號和那些不具有斷言事件信號的目標(biāo)域時(shí)鐘周期的確切交錯(cuò)順序是未知的。目標(biāo)域事件發(fā)生和其在監(jiān)控時(shí)鐘域中的再現(xiàn)或檢測之間的延遲不具有頂級優(yōu)先級。一個(gè)任意值可以通過首先把值串插到事件序列中而在時(shí)鐘域之間被傳遞,其中,該序列中的事件數(shù)量指示所述值。這些冗長(omissions)是深思熟慮的,目的在于有利地使本發(fā)明的某些實(shí)施例更簡單、更迅速、并小于提供這類能力的電路。
圖2是一個(gè)根據(jù)本發(fā)明的實(shí)施例的用于在時(shí)鐘域之間傳遞事件的電路功能框圖。傳遞電路200很簡單、所要求的IC面積很小、延遲很低、并且能夠以高速運(yùn)行。然而,它對監(jiān)控與目標(biāo)域中的時(shí)鐘強(qiáng)加了約束。
傳遞電路200包括事件檢測器210和發(fā)送電路220,它們都由目標(biāo)時(shí)鐘信號來計(jì)時(shí)。目標(biāo)時(shí)鐘域170包括事件檢測器和發(fā)送電路,以及任何在這個(gè)時(shí)鐘上運(yùn)行的其它電路。
傳遞電路200還包括接收電路230和事件監(jiān)控器240,它們都由監(jiān)控時(shí)鐘信號來計(jì)時(shí)。監(jiān)控時(shí)鐘域180包括接收電路和事件檢測器,以及任何基于監(jiān)控器時(shí)鐘運(yùn)行的其它電路。
分別在目標(biāo)和監(jiān)控時(shí)鐘域170或180中的電路優(yōu)選地、但不是必要地以用于同步、上升沿觸發(fā)數(shù)字電路的設(shè)計(jì)技術(shù)為基礎(chǔ)。在這類電路中,認(rèn)為輸入信號在每個(gè)時(shí)鐘周期中都被斷言,其中,信號值在時(shí)鐘上升沿處為高。
特別地考慮一個(gè)例子,其中,一個(gè)事件信號進(jìn)入一個(gè)具有建立時(shí)間和保持時(shí)間的時(shí)鐘邏輯元件,例如D型觸發(fā)器。事件信號在每個(gè)時(shí)鐘周期中被斷言一次,其中,信號從時(shí)鐘上升沿之前的至少一個(gè)建立時(shí)間直到上升沿之后的至少一個(gè)保持時(shí)間中為高。
如果事件信號在違反建立時(shí)間或保持時(shí)間約束的時(shí)刻改變值,則由D型觸發(fā)器輸出的值不可預(yù)知或亞穩(wěn)定。這類亞穩(wěn)定的輸出信號可能具有轉(zhuǎn)換之前的事件信號值,轉(zhuǎn)換之后的事件信號值,或者輸出信號可能不穩(wěn)定并且值有變化。通常,D型觸發(fā)器的亞穩(wěn)定性在下一個(gè)事件信號不違反約束的時(shí)鐘周期中結(jié)束,但是這取決于D型觸發(fā)器的設(shè)計(jì)細(xì)節(jié)。盡管取決于設(shè)計(jì)、處理和工作參數(shù),然而亞穩(wěn)定狀態(tài)持續(xù)一個(gè)時(shí)鐘周期以上是有可能的,這個(gè)可能性不太可能產(chǎn)生。
許多標(biāo)準(zhǔn)的時(shí)鐘信號和邏輯元件是上升沿觸發(fā)的;即,當(dāng)它由時(shí)鐘上升沿觸發(fā)時(shí),時(shí)鐘元件的輸出取決于元件的輸入。許多標(biāo)準(zhǔn)的邏輯元件只響應(yīng)時(shí)鐘上升沿的信號值。
相比之下,請求信號150根據(jù)請求信號的當(dāng)前值把一個(gè)請求編碼為上升沿或下降沿。接收電路230以相同模式響應(yīng)請求信號150的上升沿或下降沿;即,請求信號值中的任何變化產(chǎn)生相同的響應(yīng)。
傳遞電路200有利地是簡單的、高性能的、并且其所要求的IC面積很小。然而,不同于傳遞電路400和500(關(guān)于圖4、5描述)、傳遞電路200電路在目標(biāo)域和監(jiān)控域時(shí)鐘之間的關(guān)系上強(qiáng)加了一個(gè)重要的約束。監(jiān)控時(shí)鐘域必須比目標(biāo)時(shí)鐘域運(yùn)行得更快。
在一個(gè)目標(biāo)時(shí)鐘域比監(jiān)控時(shí)鐘域運(yùn)行更快而傳遞電路200不能正確運(yùn)行的系統(tǒng)中,與監(jiān)控域可以接受、檢測、計(jì)數(shù)或監(jiān)控的數(shù)目相比,目標(biāo)時(shí)鐘域可以產(chǎn)生更多的目標(biāo)事件。
傳遞電路200正確運(yùn)行的主要情況是,當(dāng)目標(biāo)時(shí)鐘周期至少是監(jiān)控器時(shí)鐘周期與接收電路所要求的設(shè)置時(shí)間之和時(shí)。甚至在這個(gè)約束之下,接收電路內(nèi)的第一邏輯元件(即D觸發(fā)器320B)也有可能進(jìn)入亞穩(wěn)定狀態(tài)。雖然如此,因?yàn)檎埱蟊痪幋a為轉(zhuǎn)換而不是被編碼為值,所以觸發(fā)器320B中的臨時(shí)亞穩(wěn)定狀態(tài)不會(huì)導(dǎo)致故障的信息傳遞。從而,即使當(dāng)請求信號值的變化最初引起亞穩(wěn)定性,請求信號值的變化也在下一個(gè)監(jiān)控域時(shí)鐘周期中被正確地解釋。
在一些SoC設(shè)計(jì)中,要求目標(biāo)時(shí)鐘的周期至少是監(jiān)控器時(shí)鐘周期與接收電路所要求的設(shè)置時(shí)間之和也許不太現(xiàn)實(shí)。這類設(shè)計(jì)應(yīng)該利用傳遞電路400或500,它們關(guān)于圖4和5被描述。
傳遞電路200正確運(yùn)行的次要情況是當(dāng)目標(biāo)時(shí)鐘和監(jiān)控器時(shí)鐘具有相等的周期并具有一個(gè)適當(dāng)?shù)南辔魂P(guān)系時(shí)。雖然傳遞電路200在一個(gè)總是在這個(gè)條件下運(yùn)行的系統(tǒng)中是多余的,但是如果這類系統(tǒng)中的時(shí)鐘發(fā)生變化,或者由于系統(tǒng)工作模式的故意變化或由于時(shí)鐘中的非故意變化,則也可能需要傳遞電路200。
在本發(fā)明不同的實(shí)施例中,不同的檢測輸入205由事件檢測器210接收。在一些實(shí)施例中,一個(gè)或多個(gè)檢測輸入信號是目標(biāo)電路或模塊的固有部分。在其它情況下,監(jiān)控或調(diào)試邏輯被添加到一個(gè)電路中以便產(chǎn)生檢測輸入205。
通常,檢測輸入205和事件檢測器210的設(shè)計(jì)取決于由監(jiān)控與調(diào)試模塊140監(jiān)控的電路或模塊的具體情況??赡鼙粰z測到的事件非限制性地包括以下一個(gè)或多個(gè)●一個(gè)指令地址斷點(diǎn),其中,處理器的程序計(jì)數(shù)器匹配一個(gè)目標(biāo)值,在一個(gè)范圍之內(nèi)或具有匹配目標(biāo)值的指定比特位;●一個(gè)指令操作斷點(diǎn),其中,處理器執(zhí)行的操作碼匹配一個(gè)目標(biāo)值,在一個(gè)范圍之內(nèi)或具有指定匹配目標(biāo)值的指定比特位;●一個(gè)數(shù)據(jù)地址斷點(diǎn),其中,負(fù)載事務(wù)處理或存儲(chǔ)事務(wù)處理、或載入或存儲(chǔ)使用了一個(gè)與目標(biāo)值匹配的數(shù)據(jù)地址,在一個(gè)范圍之內(nèi)或具有匹配目標(biāo)值的比特位;●一個(gè)數(shù)據(jù)值斷點(diǎn),其中,負(fù)載事務(wù)處理或存儲(chǔ)事務(wù)處理、或載入或存儲(chǔ)使用一個(gè)與目標(biāo)值匹配的數(shù)據(jù)值,在一個(gè)范圍之內(nèi)或具有匹配目標(biāo)值的比特位;●一個(gè)中斷或異常發(fā)生;●一個(gè)電路或模塊轉(zhuǎn)換到目標(biāo)運(yùn)行模式中,比如用戶模式、核心模式、管理模式、調(diào)試模式等等;●一個(gè)性能監(jiān)控事件,比如緩存缺失、管道停頓、支路誤預(yù)測等等;●一個(gè)總線或存儲(chǔ)控制器選擇了一個(gè)目標(biāo)裝置或信道;●一個(gè)芯片內(nèi)的鎖相環(huán)路(PLL)獲得了對輸入信號的鎖定從而產(chǎn)生一個(gè)可靠的時(shí)鐘信號;●一個(gè)緩存器,或一個(gè)先進(jìn)先出(FIFO)寄存器溢出或變成空;●一個(gè)電路或模塊進(jìn)入或離開一個(gè)目標(biāo)狀態(tài);或●以上兩個(gè)或更多的邏輯組合,例如,目標(biāo)FIFO寄存器在目標(biāo)模塊沒有在空閑狀態(tài)中的時(shí)候變成空。
響應(yīng)于一個(gè)或多個(gè)檢測輸入信號205的值,事件檢測器210產(chǎn)生一個(gè)或多個(gè)目標(biāo)域事件信號215,每個(gè)信號都被耦合到發(fā)送電路220的對應(yīng)情況。發(fā)送電路220的每個(gè)情況都具有接收電路230的一個(gè)對應(yīng)情況和請求信號150的一個(gè)對應(yīng)情況。
響應(yīng)于目標(biāo)域事件信號215的每次斷言,發(fā)送電路220都改變請求信號150的值,例如,發(fā)送電路220把當(dāng)前為″1″的請求信號變?yōu)椤?″,反之亦然。使用一個(gè)如請求信號150的信號把相同的信息編碼為上升或者下降轉(zhuǎn)換是有利的,因?yàn)檎埱笮盘枙?huì)傳輸穿過時(shí)鐘域。因?yàn)檎埱笮盘柊颜埱缶幋a為任一轉(zhuǎn)換,所以由請求信號傳達(dá)的信息和請求信號的結(jié)果與基于時(shí)鐘的定時(shí)無關(guān)。請求信號轉(zhuǎn)換發(fā)生時(shí)的目標(biāo)時(shí)鐘周期的相位和監(jiān)控器時(shí)鐘周期的相位都不對接收電路230或事件監(jiān)控器240怎樣響應(yīng)請求信號產(chǎn)生任何影響。
響應(yīng)于請求信號150的一個(gè)情況的每次的變化,對應(yīng)的接收電路230做出一個(gè)監(jiān)控域事件信號235的斷言。一個(gè)或多個(gè)監(jiān)控域事件信號被提供到事件監(jiān)控器240。響應(yīng)于監(jiān)控域事件信號,事件監(jiān)控器240產(chǎn)生一個(gè)或多個(gè)調(diào)試信號245。
事件監(jiān)控器240的設(shè)計(jì)細(xì)節(jié)、一個(gè)或多個(gè)所產(chǎn)生的調(diào)試信號245的特性和該調(diào)試信號的使用通常取決于被監(jiān)控與調(diào)試模塊140監(jiān)控的電路或模塊的設(shè)計(jì)細(xì)節(jié)。事件監(jiān)控器240可能非限制性地包括用來執(zhí)行以下一個(gè)或多個(gè)的電路●保存標(biāo)志,其示出什么類型的目標(biāo)事件已經(jīng)發(fā)生或已經(jīng)在一個(gè)目標(biāo)事件之后發(fā)生;●計(jì)數(shù)每一種目標(biāo)事件的發(fā)生;●執(zhí)行對目標(biāo)事件計(jì)數(shù)的算術(shù)操作,例如,確定類型A事件發(fā)生了三次;●執(zhí)行對事件標(biāo)志的邏輯操作,例如,確定已經(jīng)發(fā)生了A、B類型的目標(biāo)事件;或
●執(zhí)行其兩個(gè)或更多的組合的操作,例如,類型A事件至少發(fā)生了兩次,而類型B事件發(fā)生小于1000次。
調(diào)試信號245的斷言可以導(dǎo)致一個(gè)或多個(gè)以下動(dòng)作●通過暫停或停止用于那些電路的一個(gè)或多個(gè)時(shí)鐘來暫?;蛲V挂粋€(gè)或多個(gè)電路或模塊的操作;●向一個(gè)或多個(gè)電路或模塊發(fā)送一個(gè)停止、暫停或關(guān)閉信號;●把被監(jiān)控事件的當(dāng)前狀況、值和狀態(tài)編碼到一個(gè)信息中,并經(jīng)由一個(gè)輸出管腳把該信息發(fā)送到集成電路100之外的調(diào)試或監(jiān)控電路;●把一個(gè)值強(qiáng)加到一個(gè)被監(jiān)控的電路或模塊內(nèi)的寄存器中;●把一個(gè)值強(qiáng)加到一個(gè)總線上;和●強(qiáng)制被監(jiān)控的電路或模塊改變狀態(tài)。
在某些情況下,所使用的調(diào)試信號固有地是目標(biāo)電路或模塊的一部分。在其它情況下,監(jiān)控或調(diào)試邏輯被添加到一個(gè)電路以便響應(yīng)于調(diào)試信號來執(zhí)行適當(dāng)?shù)膭?dòng)作。
圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例的請求發(fā)送電路和請求接收電路的邏輯圖。
請求發(fā)送電路220接收進(jìn)入請求信號330并產(chǎn)生請求信號150。發(fā)送電路220響應(yīng)于輸入請求信號的每次斷言而改變請求信號150的值。如在傳遞電路200(關(guān)于圖2描述)中所使用的,目標(biāo)域事件信號215作為輸入請求信號330被提供給請求發(fā)送電路。如在傳遞電路500(關(guān)于圖5描述)中所使用的,傳遞信號522作為輸入請求信號330被提供給請求發(fā)送電路。
請求接收電路230接收請求信號150并產(chǎn)生監(jiān)控域請求信號340。響應(yīng)于請求信號150值的每次變化,接收電路230做出一個(gè)呼出請求信號340的斷言。
如在傳遞電路200中所使用的,呼出請求信號340變成監(jiān)控域事件信號235。如在傳遞電路500中所使用的,傳遞呼出請求信號340變成接收信號535。
發(fā)送電路220包括″異或″門310A和D觸發(fā)器320A。請求信號150是由目標(biāo)域時(shí)鐘370來計(jì)時(shí)的D觸發(fā)器320A的輸出。觸發(fā)器420A的D輸入端是具有兩個(gè)輸入端的異或(XOR)門310A的輸出端。門310A的第一輸入是請求信號150。第二輸入是輸入請求信號320。
接收電路230包括三個(gè)D觸發(fā)器320B、320C和320D,它們由監(jiān)控域時(shí)鐘380來計(jì)時(shí)。這三個(gè)觸發(fā)器被串聯(lián)連接,即除了第一D觸發(fā)器外所有的D輸入是前面D觸發(fā)器的輸出。這個(gè)序列中的第一D觸發(fā)器320B的一個(gè)輸入是請求信號150。呼出請求信號330、信號235是”異或”門310B的輸出,”異或”門310B的兩個(gè)輸入是D觸發(fā)器320C和320D的輸出。
圖4是一個(gè)根據(jù)本發(fā)明實(shí)施例用于在時(shí)鐘域之間傳遞事件的另一個(gè)電路的功能框圖。傳遞電路200和傳遞電路400跨越時(shí)鐘域邊界來傳遞事件。兩個(gè)傳遞電路在監(jiān)控時(shí)鐘域比目標(biāo)時(shí)鐘域運(yùn)行得快得多的時(shí)候都正確地運(yùn)行。
與傳遞電路400相比,傳遞電路200有利地更簡單、IC面積更小、并且在目標(biāo)事件發(fā)生的時(shí)間和它被傳遞到監(jiān)控域的時(shí)間之間的延遲更低。
與傳遞電路200相比,傳遞電路400有利地對監(jiān)控和目標(biāo)域中的時(shí)鐘強(qiáng)加更少的約束。傳遞電路400在目標(biāo)域和監(jiān)控域具有相等的時(shí)鐘周期的情況中正確地運(yùn)行,而不管時(shí)鐘之間有什么相位關(guān)系。此外,傳遞電路400在監(jiān)控時(shí)鐘域比目標(biāo)時(shí)鐘域快但快的程度不足以滿足目標(biāo)時(shí)鐘周期等于監(jiān)控器時(shí)鐘周期加上接收電路所要求設(shè)置時(shí)間這一約束條件的情況中也工作。
在目標(biāo)時(shí)鐘域比監(jiān)控時(shí)鐘域運(yùn)行更快的情況中,傳遞電路400并不總是正確地運(yùn)行;即,較慢的監(jiān)控時(shí)鐘域可能跟不上在較快的目標(biāo)時(shí)鐘域中產(chǎn)生的事件。然而本領(lǐng)域技術(shù)人員應(yīng)當(dāng)明白可能存在特殊的系統(tǒng),其中,時(shí)鐘速率差別、事件發(fā)生速率、事件發(fā)生之間的最小延遲以及計(jì)數(shù)器410的大小可以讓傳遞電路400正確運(yùn)行。
傳遞電路400在目標(biāo)時(shí)鐘域170中包括事件檢測器210;計(jì)數(shù)器410;發(fā)送寄存器420;請求發(fā)送電路220;以及確認(rèn)接收電路480。傳遞電路400在監(jiān)控時(shí)鐘域180中還包括請求接收電路230;接收寄存器430;確認(rèn)發(fā)送電路470;以及事件監(jiān)控器240。事件監(jiān)控器240包括目標(biāo)值寄存器450、累加器440以及比較電路460。
事件檢測器210、請求發(fā)送電路220和請求接收電路230與參考圖2和3說明的設(shè)計(jì)和操作相同,不同之處在于請求信號150在目標(biāo)域事件信號215每次發(fā)生的時(shí)候不改變它的值。相反地,請求信號150每當(dāng)存在一個(gè)遞增事件計(jì)數(shù)值的時(shí)候發(fā)生改變,該遞增事件計(jì)數(shù)值準(zhǔn)備從發(fā)送寄存器420傳遞到接收寄存器430。
當(dāng)?shù)谝贿f增計(jì)數(shù)值的傳遞正在進(jìn)行和當(dāng)正在返回對應(yīng)的確認(rèn)的時(shí)候,如果必要,即如果目標(biāo)事件在這個(gè)期間發(fā)生,則計(jì)數(shù)器410累加另一個(gè)遞增計(jì)數(shù)值。這樣的一個(gè)遞增計(jì)數(shù)值將在當(dāng)前運(yùn)行的傳遞完成之后被傳遞。
因?yàn)閭鬟f是一個(gè)相對較快的過程,所以遞增計(jì)數(shù)的最大值很??;在執(zhí)行同步開銷所需的時(shí)間期間,它只需要足夠大來緩存事件。例如,當(dāng)傳遞電路500(關(guān)于圖5描述)在具有相同時(shí)鐘周期的域之間傳遞事件時(shí),傳遞完成之前在目標(biāo)時(shí)鐘域中最多只能存在七個(gè)時(shí)鐘周期。
計(jì)數(shù)器410產(chǎn)生一個(gè)目標(biāo)域時(shí)鐘周期數(shù)量的遞增計(jì)數(shù),所述目標(biāo)域時(shí)鐘周期內(nèi)目標(biāo)域事件信號215被斷言。這個(gè)計(jì)數(shù)只在有限的時(shí)間周期內(nèi)被累加。響應(yīng)于一個(gè)傳遞信號,計(jì)數(shù)器410把遞增計(jì)數(shù)傳遞到發(fā)送寄存器420并清除保持的遞增計(jì)數(shù)的值。響應(yīng)于相同的傳遞信號,發(fā)送寄存器420從計(jì)數(shù)器410載入該遞增計(jì)數(shù)。然后發(fā)送寄存器保持該遞增計(jì)數(shù)值直到傳遞信號下一次發(fā)生為止。同樣,響應(yīng)于該傳遞信號,請求發(fā)送電路220改變請求信號150的值。
請求接收電路230檢測請求信號150中的變化,并且響應(yīng)地產(chǎn)生一個(gè)接收信號。響應(yīng)于該接收信號,接收寄存器430從發(fā)送寄存器420中載入域間遞增計(jì)數(shù)425。
同樣響應(yīng)于該接收信號,確認(rèn)發(fā)送電路470改變確認(rèn)信號475的值。發(fā)送電路470與發(fā)送電路220的設(shè)計(jì)相同。盡管域間傳遞的方向相反,然而電路470和220在功能上也是相同的。
確認(rèn)接收電路480檢測確認(rèn)信號475中的變化,并且響應(yīng)地產(chǎn)生一個(gè)目標(biāo)域確認(rèn)信號。接收電路480與接收電路230相比在設(shè)計(jì)上是相同的。盡管域間傳遞的方向相反,電路480和230在功能上也是相同的。
目標(biāo)時(shí)鐘域170內(nèi)的一個(gè)控制電路基于計(jì)數(shù)器410中的遞增計(jì)數(shù)和目標(biāo)域確認(rèn)信號來產(chǎn)生傳遞信號。
在事件監(jiān)控器240內(nèi),累加器440通常但不是必要地在監(jiān)控器時(shí)鐘周期期間從接收寄存器430接收遞增計(jì)數(shù),這緊在接收寄存器430接收遞增計(jì)數(shù)之后。累加器440保持事件計(jì)數(shù)445,其計(jì)數(shù)目標(biāo)事件的發(fā)生。累加器通過將每次接收到的遞增計(jì)數(shù)值加入其中來更新計(jì)數(shù)445。
此外在事件監(jiān)控器240內(nèi),目標(biāo)值寄存器450保持目標(biāo)值455。在所使用的其它目標(biāo)選擇當(dāng)中,目標(biāo)值455可能是一個(gè)預(yù)定值,或者可以被用戶編程,或者可以在事件監(jiān)控器240內(nèi)動(dòng)態(tài)地產(chǎn)生。比較電路460比較目標(biāo)值455與事件計(jì)數(shù)445,并基于這個(gè)比較來斷言調(diào)試信號245。任何邏輯或算術(shù)比較都可以被使用,非限制性地包括等于、大于、小于、小于或等于等等。
圖5是一個(gè)根據(jù)本發(fā)明實(shí)施例的用于在時(shí)鐘域之間傳遞事件的一個(gè)電路的功能框圖。傳遞電路500在被用作傳遞電路400的時(shí)鐘上強(qiáng)加約束,因而不同于傳遞電路200。不同于產(chǎn)生事件計(jì)數(shù)的傳遞電路400,傳遞電路500使用降值計(jì)數(shù)器530在對應(yīng)于目標(biāo)事件的監(jiān)控域中產(chǎn)生事件。傳遞電路400和500之間的選擇可以基于系統(tǒng)是否要求計(jì)數(shù)或再產(chǎn)生目標(biāo)事件而做出。
請求發(fā)送電路220、計(jì)數(shù)器410、發(fā)送寄存器420、域間遞增計(jì)數(shù)425、請求信號150、確認(rèn)信號475和確認(rèn)接收電路480和參考圖4描述的操作和設(shè)計(jì)相同。
降值計(jì)數(shù)器530響應(yīng)于接收信號535從發(fā)送寄存器420接收域間遞增計(jì)數(shù)425。在隨后的時(shí)鐘周期內(nèi),降值計(jì)數(shù)器530遞減計(jì)數(shù)器530中保持的遞增計(jì)數(shù)值并斷言監(jiān)控域事件信號235。斷言和遞減一直持續(xù)到降值計(jì)數(shù)器中保持的遞增計(jì)數(shù)值為零為止。降值計(jì)數(shù)器530產(chǎn)生的忽略延遲、監(jiān)控域事件的數(shù)量正好等于被檢測到的目標(biāo)域事件的數(shù)量。
請求接收和確認(rèn)發(fā)送電路510產(chǎn)生接收信號535,并且在這點(diǎn)上它與請求接收電路230的操作和設(shè)計(jì)是等效的。電路510還產(chǎn)生確認(rèn)信號475,是中間的D觸發(fā)器540E的輸出。電路510與請求接收電路230和確認(rèn)發(fā)送電路430的組合在功能方面是等效的,而電路510更簡單、所要求的IC面積更小,并且在傳遞事件中具有更低的延遲。
狀態(tài)機(jī)520產(chǎn)生傳遞信號522,對傳遞信號522的斷言使計(jì)數(shù)器410清除它的值,使發(fā)送寄存器420加載目標(biāo)域遞增計(jì)數(shù)415并使請求發(fā)送電路改變請求信號150的值。
狀態(tài)機(jī)520基于目標(biāo)域確認(rèn)信號524的歷史和當(dāng)前值以及計(jì)數(shù)為零信號526的當(dāng)前值來產(chǎn)生傳遞信號522。特別地,除了狀態(tài)機(jī)520等候從監(jiān)控時(shí)鐘域接收一個(gè)確認(rèn)信號的時(shí)段之外,非零計(jì)數(shù)器410中保持的計(jì)數(shù)觸發(fā)傳遞信號522的斷言,該確認(rèn)信號指出遞增計(jì)數(shù)值的當(dāng)前主動(dòng)傳遞已完成。
圖6是被用于本發(fā)明的實(shí)施例的一個(gè)有限狀態(tài)機(jī)的狀態(tài)圖。狀態(tài)機(jī)520包括兩種狀態(tài)空閑狀態(tài)610和等待確認(rèn)狀態(tài)620。
每當(dāng)狀態(tài)機(jī)520處于空閑狀態(tài)610并且計(jì)數(shù)器410大于零的時(shí)候,即計(jì)數(shù)為零的信號526沒有被斷言的時(shí)候,轉(zhuǎn)換640發(fā)生。轉(zhuǎn)換640使?fàn)顟B(tài)機(jī)進(jìn)入等待確認(rèn)狀態(tài)620。另外,轉(zhuǎn)換640觸發(fā)事件630A,其中,狀態(tài)機(jī)520在下一個(gè)時(shí)鐘周期中斷言傳遞信號522。作為斷言傳遞信號522的結(jié)果,目標(biāo)域遞增計(jì)數(shù)415從計(jì)數(shù)器410被傳遞到發(fā)送寄存器420,計(jì)數(shù)器410中的值被重置為零,并且請求信號150的值被改變。
每當(dāng)狀態(tài)機(jī)520處于等待狀態(tài)620,計(jì)數(shù)器410是零并且目標(biāo)域確認(rèn)信號524被斷言的時(shí)候,轉(zhuǎn)換650發(fā)生。轉(zhuǎn)換650使?fàn)顟B(tài)機(jī)520進(jìn)入空閑狀態(tài)610。轉(zhuǎn)換650不使?fàn)顟B(tài)機(jī)斷言任何信號,其在圖6中被示為事件635。
當(dāng)狀態(tài)機(jī)520在等待狀態(tài)620中、計(jì)數(shù)器410不是零并且確認(rèn)信號被接收時(shí),轉(zhuǎn)換660發(fā)生。轉(zhuǎn)換660把狀態(tài)機(jī)520保留在等待狀態(tài)620中。另外,轉(zhuǎn)換660使?fàn)顟B(tài)機(jī)520在下一個(gè)時(shí)鐘周期期間斷言傳遞信號522,其導(dǎo)致事件630B發(fā)生。事件630B的語義與事件603A的語義相同,即傳遞信號522被斷言。
本發(fā)明可以在工業(yè)上被采用,根據(jù)在此包含的本發(fā)明及其使用的說明,這對于本領(lǐng)域技術(shù)人員來說是顯而易見的。本發(fā)明可以用已知的或在此描述的元件和制造技術(shù)來實(shí)現(xiàn)。例如,包括觸發(fā)器和計(jì)數(shù)器的集成電路是眾所周知的。
本發(fā)明解決了目前的問題并滿足了在此描述的當(dāng)前需要。例如,片上系統(tǒng)(SoC)是IC的例子,兩者常常包括多個(gè)時(shí)鐘域并且常常要求跨時(shí)鐘域監(jiān)控事件。
本發(fā)明的范圍通過以下的權(quán)利要求及其合法的等效物來闡明。根據(jù)這里的講解,本發(fā)明可以進(jìn)行許多更改、變化、替換選擇、形式改變和改進(jìn),這些技術(shù)為本領(lǐng)域技術(shù)人員所熟知并且有待于在本領(lǐng)域中進(jìn)一步地發(fā)展。這里的附圖和說明用來通過給出具體細(xì)節(jié)來說明本發(fā)明;不打算用它們將本發(fā)明排他地限定于所公開的設(shè)計(jì)、形式和實(shí)施例。
權(quán)利要求
1.一個(gè)用于把發(fā)生在目標(biāo)時(shí)鐘域(170)中的目標(biāo)事件傳遞到監(jiān)控時(shí)鐘域(180)的電路(200),該傳遞電路包括一個(gè)檢測器(210),在目標(biāo)時(shí)鐘域中,其被配置用于每當(dāng)發(fā)生目標(biāo)事件的時(shí)候,就斷言一個(gè)目標(biāo)域事件信號(215);一個(gè)發(fā)送電路(220),在目標(biāo)時(shí)鐘域中,其被配置用于每當(dāng)目標(biāo)域事件信號被斷言的時(shí)候,就改變請求信號(150)的值;和一個(gè)接收電路(230),在監(jiān)控時(shí)鐘域中,其被配置用于檢測請求信號值的變化,并且對于每個(gè)被檢測到的值的變化,斷言一個(gè)監(jiān)控域事件信號(235)一次。
2.權(quán)利要求1的傳遞電路,其中該傳遞電路適宜在集成電路(100)內(nèi)的調(diào)試模塊(140)中使用;并且該傳遞電路還包括一個(gè)監(jiān)控電路(240),其被配置用于響應(yīng)于監(jiān)控域事件信號來斷言一個(gè)調(diào)試事件(245)信號。
3.權(quán)利要求1的傳遞電路,還包括第二檢測器(210),在第二目標(biāo)時(shí)鐘域(170)中,其被配置用于在發(fā)生第二目標(biāo)事件的時(shí)候斷言第二目標(biāo)域事件信號(215);第二發(fā)送電路(220),在第二目標(biāo)時(shí)鐘域中,其被配置用于每當(dāng)?shù)诙繕?biāo)域事件信號被斷言的時(shí)候,就改變第二請求信號(150)的值;和第二接收電路(230),在監(jiān)控時(shí)鐘域中,其被配置用于檢測第二請求信號值的變化,并且對于每個(gè)被檢測到的值的變化,斷言第二監(jiān)控域事件信號(235)一次。
4.權(quán)利要求3的傳遞電路,還包括一個(gè)監(jiān)控電路(240),在監(jiān)控時(shí)鐘域中,其被配置用于響應(yīng)于監(jiān)控域事件信號遞增第一計(jì)數(shù)(445),響應(yīng)于第二監(jiān)控域事件信號遞增第二計(jì)數(shù)(445),保持第一目標(biāo)值(455),通過比較第一計(jì)數(shù)與第一目標(biāo)值來產(chǎn)生第一觸發(fā)信號(465),保持第二目標(biāo)值(455),和通過比較第二計(jì)數(shù)與第二目標(biāo)值來產(chǎn)生第二觸發(fā)信號(465);其中,該傳遞電路適宜在集成電路(100)內(nèi)的調(diào)試模塊(140)中使用,并且監(jiān)控電路還被配置用于根據(jù)從第一觸發(fā)信號、第二觸發(fā)信號或其邏輯組合中選擇的一個(gè)信號來斷言一個(gè)調(diào)試信號(245)。
5.權(quán)利要求1的傳遞電路,其中,目標(biāo)時(shí)鐘的周期至少是監(jiān)控器時(shí)鐘周期與接收電路所要求的設(shè)置時(shí)間之和。
6.一個(gè)用于把發(fā)生在目標(biāo)時(shí)鐘域(170)中的目標(biāo)事件傳遞到一個(gè)監(jiān)控時(shí)鐘域(180)的電路(400、500),該傳遞電路包括一個(gè)計(jì)數(shù)器(410),在目標(biāo)時(shí)鐘域中,其被配置用于在目標(biāo)事件的時(shí)間周期內(nèi)產(chǎn)生一個(gè)發(fā)生次數(shù)的遞增計(jì)數(shù)415,并且響應(yīng)于傳遞信號(525)來傳遞該遞增計(jì)數(shù)和清除遞增計(jì)數(shù);一個(gè)發(fā)送寄存器(420),在目標(biāo)時(shí)鐘域中,其被配置用于響應(yīng)于該傳遞信號而加載遞增計(jì)數(shù),并且保持該遞增計(jì)數(shù),其中,計(jì)數(shù)器產(chǎn)生遞增計(jì)數(shù)的時(shí)間周期包括發(fā)送寄存器保持該遞增計(jì)數(shù)的時(shí)間周期;一個(gè)請求發(fā)送電路(220),在目標(biāo)時(shí)鐘域中,其被配置用于響應(yīng)于傳遞信號來改變請求信號(150)的值;一個(gè)請求接收電路(230),在監(jiān)控時(shí)鐘域中,其被配置用于檢測請求信號值的變化,并且對其響應(yīng),產(chǎn)生一個(gè)接收信號(535);一個(gè)接收寄存器(430、530),在監(jiān)控時(shí)鐘域中,其被配置用于響應(yīng)于接收信號從發(fā)送寄存器中載入遞增計(jì)數(shù);一個(gè)確認(rèn)發(fā)送電路(470),在監(jiān)控時(shí)鐘域中,其被配置用于響應(yīng)于接收信號來改變確認(rèn)信號(475)的值;一個(gè)確認(rèn)接收電路(480),在目標(biāo)時(shí)鐘域中,其被配置用于檢測確認(rèn)信號值的變化,并且響應(yīng)地?cái)嘌砸粋€(gè)目標(biāo)域確認(rèn)信號(524);和一個(gè)控制電路(520),在目標(biāo)時(shí)鐘域中,其被配置用于當(dāng)計(jì)數(shù)器中的遞增計(jì)數(shù)非零并且目標(biāo)域確認(rèn)信號對請求信號的每個(gè)值變化都已經(jīng)斷言時(shí),產(chǎn)生傳遞信號。
7.權(quán)利要求6的傳遞電路,其中,接收寄存器(530)還被配置用于當(dāng)接收寄存器中的遞增計(jì)數(shù)非零時(shí)斷言一個(gè)監(jiān)控域事件信號(235);并且每當(dāng)監(jiān)控域事件信號被斷言的時(shí)候就遞減該遞增計(jì)數(shù)。
8.權(quán)利要求6的傳遞電路,還包括一個(gè)監(jiān)控電路(240),在監(jiān)控時(shí)鐘域中,其被配置用于向一個(gè)事件計(jì)數(shù)(445)添加該遞增計(jì)數(shù)。
9.權(quán)利要求8的傳遞電路,其中該傳遞電路適宜在集成電路(100)內(nèi)的調(diào)試模塊(140)中使用;并且該監(jiān)控電路還被配置用于保持一個(gè)目標(biāo)值(455),比較事件計(jì)數(shù)與該目標(biāo)值,并且基于此來斷言一個(gè)調(diào)試信號(245)。
10.一個(gè)用于向監(jiān)控時(shí)鐘域傳遞發(fā)生在目標(biāo)時(shí)鐘域中的目標(biāo)事件的電路,該傳遞電路包括在目標(biāo)時(shí)鐘域中,用于檢測目標(biāo)事件的發(fā)生,并且響應(yīng)地?cái)嘌砸粋€(gè)目標(biāo)域事件信號的裝置;在目標(biāo)時(shí)鐘域中,用于響應(yīng)于該目標(biāo)域事件信號來改變請求信號的值的裝置;在監(jiān)控時(shí)鐘域中,用于接收請求信號并且響應(yīng)于該請求信號的值變化來斷言一個(gè)監(jiān)控域事件信號的裝置。
11.權(quán)利要求10的傳遞電路,其中該傳遞電路適宜在集成電路內(nèi)的調(diào)試模塊中使用;并且該傳遞電路還包括用于響應(yīng)于監(jiān)控域事件信號來觸發(fā)一個(gè)調(diào)試事件的裝置。
12.權(quán)利要求10的傳遞電路,其中每當(dāng)目標(biāo)域事件信號被斷言的時(shí)候,請求信號的值就發(fā)生變化;并且目標(biāo)時(shí)鐘周期至少是監(jiān)控器時(shí)鐘周期與接收裝置所要求的設(shè)置時(shí)間之和。
13.權(quán)利要求10的傳遞電路,還包括在目標(biāo)域中,用于計(jì)數(shù)在一個(gè)時(shí)間周期內(nèi)目標(biāo)事件的發(fā)生,從而產(chǎn)生一個(gè)遞增計(jì)數(shù),并且當(dāng)其被啟用時(shí)傳遞一個(gè)非零的遞增計(jì)數(shù)并重置該遞增計(jì)數(shù)的裝置;在目標(biāo)域中,用于保持從計(jì)數(shù)裝置接收的遞增計(jì)數(shù)的裝置,其中,計(jì)數(shù)裝置計(jì)數(shù)的時(shí)間周期包括保持裝置保持遞增計(jì)數(shù)的時(shí)間周期;和在監(jiān)控域中,用于通過從保持裝置接收遞增計(jì)數(shù)并改變一個(gè)確認(rèn)信號的值來響應(yīng)請求信號值的變化的裝置;和在目標(biāo)域中,用于禁止非零的遞增計(jì)數(shù)的傳遞,直到確認(rèn)信號改變值為止的裝置;其中,每當(dāng)非零的遞增計(jì)數(shù)被傳遞的時(shí)候,請求信號的值就改變。
全文摘要
公開了一種傳遞電路(200、400、500),用于在監(jiān)控時(shí)鐘域中監(jiān)控目標(biāo)時(shí)鐘域(170)中發(fā)生的目標(biāo)事件。一些實(shí)施例(200)對域時(shí)鐘強(qiáng)加重要的約束并且包括一個(gè)事件檢測器(210);一個(gè)發(fā)送電路(220),其針對每個(gè)事件來改變請求信號(150)的值;以及一個(gè)接收電路(230),其檢測請求信號中的變化。其它的實(shí)施例在范圍更廣的時(shí)鐘內(nèi)工作并且包括一個(gè)計(jì)算器(410),當(dāng)進(jìn)行傳遞時(shí),其產(chǎn)生一個(gè)事件發(fā)生的遞增計(jì)數(shù)(415);發(fā)送和接收寄存器(420、430、530),用于遞增計(jì)數(shù);請求發(fā)送和接收電路(220、230),其中,請求信號在每次傳遞遞增計(jì)數(shù)的時(shí)候就改變值;以及用于確認(rèn)信號的發(fā)送和接收電路(470、480)。
文檔編號G06F5/06GK1813437SQ200480017971
公開日2006年8月2日 申請日期2004年6月25日 優(yōu)先權(quán)日2003年6月25日
發(fā)明者O·斯泰恩布施, M·斯特里克, R·德格瑞爾 申請人:皇家飛利浦電子股份有限公司