專利名稱:多級(jí)數(shù)的事件同步裝置及其系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于一種事件同步裝置及其系統(tǒng),特別是關(guān)于一種在工作頻率不等或工作頻率相等但相位不等的一來源地區(qū)域及目的地區(qū)域的數(shù)據(jù)傳輸過程中,以一多級(jí)數(shù)的事件同步裝置及系統(tǒng)緩沖該數(shù)據(jù)的傳輸。
在數(shù)字電路的設(shè)計(jì)過程中,經(jīng)常因?yàn)閿?shù)據(jù)傳輸?shù)膩碓吹貐^(qū)域(origination agent)和目的地區(qū)域的工作頻率不同或工作頻率相同但相位不等,導(dǎo)致一端以邊緣觸發(fā)的方式拾取另一端直接傳入的數(shù)據(jù)而形成錯(cuò)誤。
圖1為數(shù)據(jù)傳輸?shù)氖疽鈭D,其中在數(shù)據(jù)的來源地區(qū)域14和目的地區(qū)域15之間包含一中繼區(qū)域11,用于緩沖該來源地區(qū)域14和目的地區(qū)域15的傳輸數(shù)據(jù)。該中繼區(qū)域11包含一先進(jìn)先出模塊(FIFO)12及一控制模塊13,其中該先進(jìn)先出模塊12為一雙端口結(jié)構(gòu),分別以數(shù)據(jù)總線18及18’連接至該來源地區(qū)域14及目的地區(qū)域15;而該控制模塊13是以控制總線19及19’連接至該來源地區(qū)域14及目的地區(qū)域15。該先進(jìn)先出模塊12及控制模塊13之間以一儲(chǔ)存接口(producing interface)16及一讀取接口(consuming interface)17作為連系。圖1的結(jié)構(gòu)的運(yùn)行方式有兩種,第一種情況是該來源地區(qū)域14經(jīng)由該數(shù)據(jù)總線18傳入數(shù)據(jù)至該先進(jìn)先出模塊12,另一種情況是該目的地區(qū)域15經(jīng)由該數(shù)據(jù)總線18’讀取該先進(jìn)先出模塊12的儲(chǔ)存數(shù)據(jù),在第一種情況下,該來源地區(qū)域14經(jīng)由控制總線19通知該控制模塊13將有數(shù)據(jù)傳入,而該控制模塊13先經(jīng)由該儲(chǔ)存接口16檢查該先進(jìn)先出模塊12是否已滿溢。若已滿溢,則該控制模塊13經(jīng)由該控制總線19通知該來源地區(qū)域14暫時(shí)不要傳入數(shù)據(jù)至該先進(jìn)先出模塊12。若尚未滿溢,則該控制模塊13經(jīng)由該控制總線19通知該來源地區(qū)域14將數(shù)據(jù)傳入該先進(jìn)先出模塊12,并經(jīng)由該儲(chǔ)存接口16更新下一筆數(shù)據(jù)傳入時(shí)的位置。在第二種情況下,該目的地區(qū)域15經(jīng)由控制總線19’通知該控制模塊13,該控制模塊13先經(jīng)由該讀取接口17檢查該先進(jìn)先出模塊12是否已空乏。若已空乏,則該控制模塊13經(jīng)由該控制總線19’通知該目的地區(qū)域15暫時(shí)不要讀取該先進(jìn)先出模塊12。若尚未空乏,則該控制模塊13經(jīng)由該控制總線19’通知該目的地區(qū)域15讀取該先進(jìn)先出模塊12的數(shù)據(jù),并經(jīng)由該讀取接口17更新下一筆數(shù)據(jù)讀取時(shí)的位置。
圖2為熟知的先進(jìn)先出模塊的結(jié)構(gòu)圖,其中主要包含一儲(chǔ)存端28、一讀取端27及一先進(jìn)先出緩沖器29。該儲(chǔ)存端28包含一儲(chǔ)存模塊24及第一計(jì)數(shù)器22,且連接至該傍存接口16及該先進(jìn)先出緩沖器29。該儲(chǔ)存模塊24用于產(chǎn)生一后端指針以指向該先進(jìn)先出緩沖器29的目前數(shù)據(jù)儲(chǔ)存的位置,而該第一計(jì)數(shù)器22為一雙向計(jì)數(shù)器,用于累計(jì)該先進(jìn)先出緩沖器29的數(shù)據(jù)緩沖的數(shù)目,該讀取端27包含一讀取模塊21及第二計(jì)數(shù)器23,連接至該讀取接口17及該先進(jìn)先出緩沖器29,該讀取模塊21用于產(chǎn)生一前端指針以指向該先進(jìn)先出緩沖器29的目前數(shù)據(jù)讀取的位置,而該第二計(jì)數(shù)器23為一雙向計(jì)數(shù)器,用于累計(jì)該先進(jìn)先出緩沖器29的數(shù)據(jù)緩沖的數(shù)目。當(dāng)該儲(chǔ)存端28進(jìn)行一推入事件(push event)時(shí),即該來源地區(qū)域14欲存入一筆數(shù)據(jù)至該先進(jìn)先出緩沖器29時(shí),該儲(chǔ)存端28先檢查該第一計(jì)數(shù)器22的值。若其值已達(dá)該先進(jìn)先出緩沖器29的儲(chǔ)存上限時(shí),代表該先進(jìn)先出緩沖器29已滿溢,則發(fā)出一“滿溢狀態(tài)”,其結(jié)果為該來源地區(qū)域14被通知將暫時(shí)停止儲(chǔ)存數(shù)據(jù)至該先進(jìn)先出緩沖器29。若不相等,即未達(dá)儲(chǔ)存上限,則該儲(chǔ)存模塊24發(fā)出該后端指針至該先進(jìn)先出緩沖器29,且該來源地區(qū)域14的數(shù)據(jù)即儲(chǔ)存于該先進(jìn)先出緩沖器29之后端指針?biāo)O(shè)定的位置。此時(shí),該第一計(jì)數(shù)器22及該第二計(jì)數(shù)器23則加入該來源地區(qū)域14所儲(chǔ)存數(shù)據(jù)的數(shù)量。相同的原理,當(dāng)該讀取端27進(jìn)行一推出事件(pop event)時(shí),即該目的地區(qū)域15欲自該先進(jìn)先出緩沖器29讀取一筆數(shù)據(jù)時(shí),該讀取端27先檢查該第二計(jì)數(shù)器23的值。若其值已達(dá)該先進(jìn)先出緩沖器29的儲(chǔ)存下限時(shí),代表該先進(jìn)先出緩沖器29已空乏,則發(fā)出一“空乏狀態(tài)”,其結(jié)果為該目的地區(qū)域15被通知將暫時(shí)停止自該先進(jìn)先出緩沖器29讀取數(shù)據(jù),若不相等,即未達(dá)儲(chǔ)存下限,則該讀取模塊21發(fā)出該前端指針至該先進(jìn)先出緩沖器29,且該目的地區(qū)域15所要讀取的數(shù)據(jù)即位于該先進(jìn)先出緩沖器29的前端指針?biāo)O(shè)定的位置。此時(shí),該第一計(jì)數(shù)器22及該第二計(jì)數(shù)器23則減去該目的地區(qū)域15所讀取數(shù)據(jù)的數(shù)量。該第一計(jì)數(shù)器22及第二計(jì)數(shù)器23的功能類似,故可省略其中一個(gè)。但因?yàn)樵摰诙?jì)數(shù)器23是為了控制讀取端27,而該第一計(jì)數(shù)器22是為了控制儲(chǔ)存端28,為了模塊化設(shè)計(jì)的因素,仍然以兩者并存的方式較佳。
圖3是一熟知的先進(jìn)先出緩沖器結(jié)構(gòu),該先進(jìn)先出緩沖器29是用于儲(chǔ)存及轉(zhuǎn)發(fā)該來源地區(qū)域14傳向該目的地區(qū)域15的數(shù)據(jù),特別是當(dāng)該來源地區(qū)域14及該目的地區(qū)域15的工作頻率不相等或雖工作頻率相等但相位不等時(shí),該先進(jìn)先出緩沖器的一入口以“*”表示,代表該入口儲(chǔ)存一有用的數(shù)據(jù),且該后端指針32及前端指針31分別代表該多個(gè)有用數(shù)據(jù)的起點(diǎn)及終點(diǎn)位置。當(dāng)一推入事件發(fā)生時(shí),該后端指針先檢查其值若加一后是否等于該前端指針31的值。若答案是肯定的,代表該先進(jìn)先出緩沖器29已滿溢。否則代表未滿溢,且該后端指針32前進(jìn)一個(gè)位置,即加一。當(dāng)一推出事件發(fā)生時(shí),該前端指針31先檢查其值是否等于該后端指針32的值。若答案是肯定的,代表該先進(jìn)先出緩沖器29已空乏。否則代表未空乏,且該前端指針31前進(jìn)一個(gè)位置,即加一。該后端指針32及前端指針31的累進(jìn)值是以模數(shù)(modulo)的方式計(jì)算。以圖3共16個(gè)位置為例,當(dāng)該后端指針32及前端指針31的值累計(jì)至15后,下一個(gè)累計(jì)位將由0開始計(jì)算。
圖2所示結(jié)構(gòu)并不能適用于當(dāng)該來源地區(qū)域14及目的地區(qū)域15的工作頻率不相等或雖然相等但卻有不同相位的情形。在該情形下,將造成該第一計(jì)數(shù)器22誤判該讀取端27的推出事件的數(shù)目及造成該第三計(jì)數(shù)器23誤判該儲(chǔ)存端28的推入事件的數(shù)目。因此,相應(yīng)的同步電路應(yīng)被加入以保證該系統(tǒng)在運(yùn)行時(shí)的正確性。
圖4是熟和的一電路結(jié)構(gòu),包含一工作頻率較高的時(shí)鐘信號(hào)SCLK(源時(shí)鐘)的儲(chǔ)存電路47及一工作頻率較低的時(shí)鐘信號(hào)DCLK(目的時(shí)鐘域)的讀取電路48。該儲(chǔ)存電路47包含一第一暫存器41及一邏輯群42。該讀取電路48內(nèi)部有兩個(gè)數(shù)據(jù)路徑,其中第一數(shù)據(jù)路徑包含一第二暫存器43及第四暫存器45,其輸出為406;而第二數(shù)據(jù)路徑包含一第三暫存器44及第五暫存器46,其輸出為407。
圖5是圖4的時(shí)序圖,由于該電路可能出現(xiàn)時(shí)鐘偏移的現(xiàn)象,因此假設(shè)該讀取電路48的第一數(shù)據(jù)路徑的時(shí)鐘信號(hào)402和第二數(shù)據(jù)路徑的時(shí)鐘信號(hào)403在相位上有一個(gè)偏移值。如果該儲(chǔ)存電路47的輸出端401剛好在該讀取電路48的第一數(shù)據(jù)路徑的時(shí)鐘信號(hào)402的上升沿改變狀態(tài),由于不滿足該第二暫存器43對(duì)設(shè)置及保持時(shí)間的定義,因此在該第二暫存器的輸出端404將產(chǎn)生一失敗的拾取脈沖,這種現(xiàn)象稱為亞穩(wěn)定狀態(tài)。相對(duì)地,因該第二數(shù)據(jù)路徑的時(shí)鐘信號(hào)403因時(shí)鐘偏移而落后于該第一數(shù)據(jù)路徑的時(shí)鐘信號(hào)402,因此可滿足該第三暫存器44的被設(shè)置及保持時(shí)間的定義,而使該第三暫存器44可正確地拾取該儲(chǔ)存電路47的輸出端401的變化。經(jīng)由比較該第一數(shù)據(jù)路徑及第二數(shù)據(jù)路徑的時(shí)序的不同點(diǎn),可發(fā)現(xiàn)在1T的時(shí)間點(diǎn),該第四暫存器的輸出406及第五暫存器的輸出407并不一致。但從2T的時(shí)間點(diǎn)后開始兩者將保持一致,換句話說,在經(jīng)過兩個(gè)時(shí)鐘周期后,該讀取電路48的輸出端方可過濾掉亞穩(wěn)定狀態(tài)而出現(xiàn)正確值。但即使如此,圖4的電路僅可適用于以水平觸發(fā)拾取數(shù)據(jù)的型式,即輸入數(shù)據(jù)的脈沖寬度須大于時(shí)鐘信號(hào)SCLK及DCLK的脈沖寬度,而無法適用于以邊緣觸發(fā)拾取數(shù)據(jù)的型式。
圖6是用于解釋如圖4的結(jié)構(gòu)無法適用于邊緣觸發(fā)的原因。因該來源地區(qū)域14的時(shí)鐘信號(hào)SCLK的工作頻率高于該目的地區(qū)域15的時(shí)鐘信號(hào)DCLK的工作頻率,若該儲(chǔ)存端28及讀取端27皆于SCLK及DCLK的上升沿以邊緣觸發(fā)的方式拾取數(shù)據(jù),則對(duì)于該儲(chǔ)存端28的多個(gè)推入事件而言,該儲(chǔ)存端28以時(shí)鐘信號(hào)SCLK的上升沿作邊緣觸發(fā)而共拾取了3次。相對(duì)地,該讀取端27以時(shí)鐘信號(hào)DCLK的上升沿作邊緣觸發(fā)而僅拾取了一次。上述方式稱為簡(jiǎn)單同步,即直接以該讀取端27的時(shí)鐘信號(hào)DCLK拾取該儲(chǔ)存端的推入事件的增加個(gè)數(shù);或直接以該儲(chǔ)存端28的時(shí)鐘信號(hào)SCLK拾取該讀取端的推出事件的增加個(gè)數(shù),以一簡(jiǎn)單同步的方式拾取兩個(gè)工作頻率不等區(qū)域的數(shù)據(jù)勢(shì)必造成錯(cuò)誤。
另一種解決上述因來源地區(qū)域及目的地區(qū)域的工作頻率不等于造成拾取錯(cuò)誤的解決方法于美國(guó)專利號(hào)6,055,285,標(biāo)題為“SYNCHRONIZATION CIRCUIT FOR TRANSFERRING POINTERBETWEEN TWO ASYNCHRONOUS CIRCUITS”所公開。該方法是利用一第一同步電路的寫入地址總線連接一寫入控制器及一先進(jìn)先出緩沖器,而利用該第一同步電路的一同步寫入指針連接一讀取控制器;且利用一第二同步電路的一讀取地址總線連接該讀取控制器及該先進(jìn)先出緩沖器,而利用該第二同步電路的一同步讀取指針連接該寫入控制器。該方法雖可解決因來源地區(qū)域及目的地區(qū)域的工作頻率不等而造成拾取數(shù)據(jù)個(gè)數(shù)錯(cuò)誤的問題,但因同時(shí)使用一寫入地址總線、讀取地址總線、同步讀取指針及同步寫入指針,因此硬件花費(fèi)很大。
本發(fā)明的目的是為降低目前為平衡一來源地區(qū)域及目的地區(qū)域的工作頻率不等或雖相等但彼此的相位不同而使用的同步電路的硬件花費(fèi)過大的缺點(diǎn)。為了達(dá)到上述目的,本發(fā)明提供一種多級(jí)數(shù)的事件同步裝置。該裝置將工作頻率較慢的一方以多級(jí)數(shù)的簡(jiǎn)單同步電路及異或門組合而接收工作頻率較高的一方所傳送的事件數(shù)目。由此,該工作頻率較低的一方即不致漏失由該工作頻率較高的一方所傳送的信號(hào)。
本發(fā)明裝置的首要目的在于建立一個(gè)同步的接口,讓該儲(chǔ)存端28知道目前該讀取端27所執(zhí)行的推出事件的個(gè)數(shù),及讓該讀取端27知道目前該儲(chǔ)存端28所執(zhí)行的推入事件的個(gè)數(shù)。該讀取端27和讀取端28內(nèi)各有一計(jì)數(shù)器,可正確地計(jì)算該先進(jìn)先出緩沖器29內(nèi)的數(shù)據(jù)緩沖個(gè)數(shù)的變化。若發(fā)現(xiàn)該先進(jìn)先出緩沖器29的數(shù)據(jù)緩沖的個(gè)數(shù)已達(dá)上限,則發(fā)出一“滿溢”的信息,并暫停該儲(chǔ)存端28再傳入數(shù)據(jù)。若發(fā)現(xiàn)該先進(jìn)先出緩沖器29的數(shù)據(jù)緩沖的個(gè)數(shù)已達(dá)下限,則發(fā)出一“空乏”的信息,并暫停該讀取端27再讀取數(shù)據(jù)。
本發(fā)明的另一目的在于避免因相位偏移而在該儲(chǔ)存端及讀取端以邊緣觸發(fā)方式拾取推入事件或推出事件時(shí)導(dǎo)致亞穩(wěn)定的狀態(tài)。
本發(fā)明的多級(jí)數(shù)的事件同步裝置,包含一第一事件同步器、一第二事件同步器、一第二計(jì)數(shù)器及一第一計(jì)數(shù)器。該第一事件同步器用于將該目的地區(qū)域所讀取數(shù)據(jù)的數(shù)目轉(zhuǎn)換為該來源地區(qū)域的一時(shí)鐘信號(hào)可拾取的事件數(shù)目,該第二事件同步器用于將該來源地區(qū)域所儲(chǔ)存數(shù)據(jù)的數(shù)目轉(zhuǎn)換為該目的地區(qū)域的一時(shí)鐘信號(hào)可拾取的事件數(shù)目,當(dāng)該目的地區(qū)域每讀取一筆數(shù)據(jù)時(shí),該第二計(jì)數(shù)器的值減一。當(dāng)該第二事件同步器每送入一筆事件時(shí),該第二計(jì)數(shù)器的位加一。當(dāng)該第二計(jì)數(shù)器的值等于該中繼區(qū)域所能提供的數(shù)據(jù)緩沖數(shù)目的下限時(shí),則發(fā)出一空乏信號(hào)。當(dāng)該來源地區(qū)域儲(chǔ)存一筆數(shù)據(jù)時(shí),該第一計(jì)數(shù)器的值加一。當(dāng)該第一事件同步器每送入一筆事件時(shí),該第一計(jì)數(shù)器的值減一。當(dāng)該第一計(jì)數(shù)器的值等于該中繼區(qū)域所能提洪的數(shù)據(jù)的緩沖數(shù)目的上限時(shí),則發(fā)出一滿溢信號(hào)。
該第二事件同步器包含一級(jí)數(shù)產(chǎn)生單元、一事件配置單元及一同步單元,該級(jí)數(shù)產(chǎn)生單元用于產(chǎn)生一級(jí)數(shù)值N的編碼,其中N為大于該目的地區(qū)域的時(shí)鐘信號(hào)的脈沖長(zhǎng)度除以該來源地區(qū)域的時(shí)鐘信號(hào)的脈沖長(zhǎng)度的值的一整數(shù)。該事件配置單元連接至該級(jí)數(shù)產(chǎn)生單元,用于將該來源地區(qū)域所儲(chǔ)存數(shù)據(jù)的數(shù)目平均分配于N級(jí)的數(shù)據(jù)路徑。該同步單元連接至該事件配置單元,若該N級(jí)數(shù)據(jù)路徑中任何一條路徑具有該來源地區(qū)域所儲(chǔ)存數(shù)據(jù)的數(shù)目,則轉(zhuǎn)換為該目的地區(qū)域的時(shí)鐘信號(hào)可拾取的事件數(shù)目。
該第一事件同步器包含一級(jí)數(shù)產(chǎn)生單元、一事件配置單元及一同步單元。該級(jí)數(shù)產(chǎn)生單元用于產(chǎn)生一級(jí)數(shù)值M的編碼,其中M為大于該來源地區(qū)域的時(shí)鐘信號(hào)的脈沖長(zhǎng)度除以該目的地區(qū)域的時(shí)鐘信號(hào)的脈沖長(zhǎng)度的值的一整數(shù),該事件配置單元連接至該級(jí)數(shù)產(chǎn)生單元,用于將該目的地區(qū)域所讀取數(shù)據(jù)的數(shù)目平均分配于M級(jí)的數(shù)據(jù)路徑,該同步單元連接至該事件配置單元,若該M級(jí)數(shù)據(jù)路徑中任何一個(gè)均具有該目的地區(qū)域所讀取數(shù)據(jù)的數(shù)目,則轉(zhuǎn)換為該來源地區(qū)域的時(shí)鐘信號(hào)可拾取的事件數(shù)目。
本發(fā)明的多級(jí)數(shù)的事件同步系統(tǒng),用于緩沖一來源地區(qū)域及目的地區(qū)域的數(shù)據(jù)傳輸,其中該來源地區(qū)域及目的地區(qū)域具有不相等的工作頻率或具有相等的工作頻率但有不等的相位。該多級(jí)數(shù)的事件同步系統(tǒng)包含一先進(jìn)先出緩沖器29一多級(jí)數(shù)的事件同步裝置、一讀取模塊、一儲(chǔ)存模塊及一控制模塊。該先進(jìn)先出緩沖器具有一輸入端及一輸出端,該輸入端連接至該來源地區(qū)域的一數(shù)據(jù)總線,且該輸出端連接至該目的地區(qū)域的一數(shù)據(jù)總線。該多級(jí)數(shù)的事件同步裝置用于累計(jì)該先進(jìn)先出緩沖器的數(shù)據(jù)緩沖數(shù)目,該裝置是將該目的地區(qū)域所讀取數(shù)據(jù)的數(shù)目轉(zhuǎn)換為該來源地區(qū)域的一時(shí)鐘信號(hào)可拾取的事件數(shù)目,且將該來源地區(qū)域所儲(chǔ)存數(shù)據(jù)的數(shù)目轉(zhuǎn)換為該目的地區(qū)域的一時(shí)鐘信號(hào)可拾取的事件數(shù)目,若該來源地區(qū)域所儲(chǔ)存數(shù)據(jù)的數(shù)目減去該目的地區(qū)域所儲(chǔ)存數(shù)據(jù)的數(shù)目轉(zhuǎn)換為該來源地區(qū)域的一時(shí)鐘信號(hào)可拾取的事件數(shù)目后已達(dá)上限,則該裝置發(fā)出一滿溢信號(hào),若該來源地區(qū)域所儲(chǔ)存數(shù)據(jù)的數(shù)目轉(zhuǎn)換為該目的地區(qū)域的一時(shí)鐘信號(hào)可拾取的事件數(shù)目減去該目的地區(qū)域所讀取數(shù)據(jù)的數(shù)目后已達(dá)下限,則該裝置發(fā)出一空乏信號(hào),該讀取模塊用于產(chǎn)生一前端指針以指向該先進(jìn)先出緩沖器的所被讀取數(shù)據(jù)的位置,該儲(chǔ)存模塊用于產(chǎn)生一后端指針以指向該先進(jìn)先出緩沖器的所被儲(chǔ)存數(shù)據(jù)的位置,該控制模塊用于控制該先進(jìn)先出緩沖器、來源地區(qū)域及目的地區(qū)域的數(shù)據(jù)傳輸。當(dāng)該滿溢信號(hào)發(fā)生時(shí),則停止該來源地區(qū)域的數(shù)據(jù)儲(chǔ)存,當(dāng)該空乏信號(hào)發(fā)生時(shí),則停止該目的地區(qū)域的數(shù)據(jù)讀取。
圖1是熟知的事件同步裝置的示意圖;圖2是熟知的先進(jìn)先出模塊的示意圖;圖3是熟知的先進(jìn)先出緩沖器的示意圖4是熟知的一簡(jiǎn)單同步電路結(jié)構(gòu);圖5是圖4的時(shí)序圖;圖6是用于解釋圖4的結(jié)構(gòu)無法適用于邊緣觸發(fā)的原因;圖7是本發(fā)明的多級(jí)數(shù)事件同步裝置的示意圖;圖8是本發(fā)明的一實(shí)施例;圖9是圖8的時(shí)序圖;圖10是本發(fā)明的另一實(shí)施例;及圖11是圖10的時(shí)序圖。
圖7是本發(fā)明的多級(jí)數(shù)事件同步裝置的示意圖。和圖2的熟知技術(shù)不同的是,本發(fā)明另增加了一第一事件同步器71及第二事件同步器72。該第一事件同步器71用于將該讀取端27所增加的推出事件的個(gè)數(shù)轉(zhuǎn)換為儲(chǔ)存端28的時(shí)鐘信號(hào)SCLK(亦相等于來源地區(qū)域14的時(shí)鐘信號(hào))可以邊緣觸發(fā)拾取的相等數(shù)量。而該第一計(jì)數(shù)器22減去該第一事件同步器71的輸出以得到該第一計(jì)數(shù)器22的更新值,可用于顯示目前該先進(jìn)先出緩沖器27所儲(chǔ)存數(shù)據(jù)緩沖的個(gè)數(shù)。該第一計(jì)數(shù)器22在每次推入事件發(fā)生時(shí)先檢查是否有滿溢的狀況發(fā)生,若無滿溢的情形則依據(jù)推入事件的個(gè)數(shù)而遞增。該第二事件同步器72用于將該儲(chǔ)存端28所增加的推入事件個(gè)數(shù)轉(zhuǎn)換為讀取端27的時(shí)鐘信號(hào)DCLK(亦相等于目的地區(qū)域15的時(shí)鐘信號(hào))可以邊緣觸發(fā)拾取的相對(duì)數(shù)量。而該第二計(jì)數(shù)器23加上該第二事件同步器23的輸出以得到該第二計(jì)數(shù)器23的更新值,可用于顯示目前該先進(jìn)先出緩沖器27所儲(chǔ)存數(shù)據(jù)緩沖的個(gè)數(shù)。該第二計(jì)數(shù)器23在每次推出事件發(fā)生時(shí)檢查是否有空乏的狀況發(fā)生,若無空乏的情形則依據(jù)推出事件的個(gè)數(shù)而遞增。本發(fā)明的多級(jí)數(shù)事件同步裝置70是包含該第一事件同步器71、第二事件同步器72、第一計(jì)數(shù)器22及第二計(jì)數(shù)器23。不同于美國(guó)專利號(hào)6,055,285的熟知技術(shù),該第一事件同步器71及第二事件同步器72僅傳遞事件推入事件及推出事件的個(gè)數(shù),而非如該熟知技術(shù)般須使用一寫入地址總線、讀取地址總線、同步讀取指針及同步寫入指針,因此硬件花費(fèi)較該熟知技術(shù)節(jié)省許多。
假設(shè)儲(chǔ)存端的時(shí)鐘信號(hào)SCLK的工作頻率大于讀取端的時(shí)鐘信號(hào)DCLK的工作頻率,即儲(chǔ)存端28的數(shù)據(jù)產(chǎn)生速度大于讀取端28所能消耗的速度。在這種情形下,必須在該第二事件同步器72內(nèi)增加多條數(shù)據(jù)路徑。分散且緩沖來自該儲(chǔ)存端28的推入事件的增加數(shù)量。
圖8是本發(fā)明的一實(shí)施例,其中假設(shè)該儲(chǔ)存端28的時(shí)鐘信號(hào)SCLK的工作頻率并不超過該讀取端27的時(shí)鐘信號(hào)DCLK的工作頻率的3倍,因此可利用位于該第二事件同步72內(nèi)的一級(jí)數(shù)(stage)產(chǎn)生單元81以產(chǎn)生一除3編碼。該級(jí)數(shù)產(chǎn)生單元81包含JK觸發(fā)器(flip-flop)82及83,分別用于產(chǎn)生CNT0和其補(bǔ)數(shù)CNNTONN,及CNT1和其一補(bǔ)數(shù)CNT1NN。
圖9是圖8的時(shí)序圖。若將CNT0及CNT1的值編碼后可得到由0至2的不斷循環(huán)的值。換句話說,圖8的電路是為產(chǎn)生一除3的計(jì)數(shù)器。
圖10是本發(fā)明的另一實(shí)施例,其中包含一位于該第二事件同步器72內(nèi)的事件配置單元91及同步單元92,該事件配置單元91用于組合一輸入信號(hào)(即圖7的第二事件同步器72的輸入端,亦即該儲(chǔ)存端28所增加的推入事件的個(gè)數(shù))及圖8的級(jí)數(shù)產(chǎn)生單元81的CNT1、CNTONN和CNT1NN信號(hào)線的值,且將由該輸入信號(hào)依序分散于三個(gè)數(shù)據(jù)路徑的輸入端901、902及903,其時(shí)序圖如圖11所示,換句話說,該級(jí)數(shù)產(chǎn)生單元81的輸出是作為該事件配置單元91的時(shí)鐘數(shù)據(jù)。由于該儲(chǔ)存端28的時(shí)鐘信號(hào)SCLK的工作頻率并不超過該讀取端27的時(shí)鐘信號(hào)KCLK的工作頻率的3倍,因此三個(gè)數(shù)據(jù)路徑應(yīng)足以接收該儲(chǔ)存端28所輸入的推入事件增加個(gè)數(shù),而不致產(chǎn)生漏失。換句話說,由該讀取端27的時(shí)鐘信號(hào)DCLK以邊緣觸發(fā)的方式拾取輸入信號(hào),只要儲(chǔ)存端28的工作頻率保證在該讀取端27的工作頻率的三倍以下,便相當(dāng)于在該讀取端28以三條流量較小的線路而接收該儲(chǔ)存端27的一條流量較大線路的數(shù)據(jù),而使得該讀取端27在接收時(shí)不會(huì)產(chǎn)生漏失的情形,該同步單元92包含三個(gè)數(shù)據(jù)路徑,用于產(chǎn)生位于901、902和903的信號(hào)的單擊觸發(fā)(one shot)信號(hào)907、908和909,該同步單元92的三個(gè)數(shù)據(jù)路徑是為配合該事件配置單元91為一除3的編碼器,該數(shù)據(jù)路徑的個(gè)數(shù)可隨DCLK和SCLK的脈沖長(zhǎng)度的比例而變更,本發(fā)明對(duì)此并未作任何限制。任一數(shù)據(jù)路徑均包含一第一D型觸發(fā)器911、第二D型觸發(fā)器912、第三D型觸發(fā)器913及一異或門914,其中該第一至第三D型觸發(fā)器911~913的時(shí)鐘輸入均連接至目的地區(qū)域15的時(shí)鐘信號(hào)DCLK,而該異或門914是為產(chǎn)生單擊信號(hào)。該同步單元92的輸出907~909為圖7的第二事件同步器72的輸出,并連接至該讀取模塊21及第二計(jì)數(shù)器23。該第二計(jì)數(shù)器23每收到該第二事件同步器72的輸出907~909的任一單擊信號(hào)后均執(zhí)行加一的動(dòng)作。
圖11是圖10的時(shí)序圖。其中顯示利用該同步單元92的輸出907、90S及909的單擊信號(hào)的總和可完整地代表該輸入信號(hào)在該儲(chǔ)存端28被時(shí)鐘信號(hào)SCLK的上升沿以邊緣觸發(fā)方式所拾取的次數(shù),并成功地轉(zhuǎn)換為該讀取端27所能辨識(shí)的次數(shù)而沒有數(shù)據(jù)的漏失。
假設(shè)該儲(chǔ)存端28的時(shí)鐘信號(hào)SCLK的脈沖長(zhǎng)度為Tsclk,而該讀取端27的時(shí)鐘信號(hào)DCLK的脈沖長(zhǎng)度為Tdclk,則本發(fā)明的級(jí)數(shù)N,即該同步單元92的數(shù)據(jù)路徑的個(gè)數(shù)的產(chǎn)生方式如方程式(1)所示N>Tdclk/Tsclk(1)例如Tdclk除以Tsclk的值為2.3,則該第二事件同步器72的級(jí)數(shù)N選擇3級(jí)即可。值得注意的是,若Tdclk等Tsclk的值,為了避免兩者間有相位不等的情形,該第二事件同步器72的級(jí)數(shù)仍以選擇兩級(jí)為宜。另外對(duì)于電路中常出現(xiàn)的因設(shè)置及保持時(shí)間不足、時(shí)鐘偏移或是信號(hào)抖動(dòng)所造成的讀取端27及儲(chǔ)存端28的同步問題,利用該同步單元92的第一至第三D型觸發(fā)器911~913的簡(jiǎn)單同步電路即可予以解決。
該第一事件同步器71亦可以上述的方式設(shè)計(jì),其中級(jí)數(shù)M的產(chǎn)生方式如方程式(2)所示M>Tsclk/Tdclk(2)
例如Tsclk除以Tdclk的值為0.7,則該第一事件同步器71的級(jí)數(shù)M選擇1級(jí)即可。值得注意的是,若Tdclk等于Tsclk的值,為了避免兩者間有相位不等的情形,該第一事件同步器71的級(jí)數(shù)仍以選擇兩級(jí)為宜。
此外,上述的實(shí)施例均假設(shè)該儲(chǔ)存端28的工作頻率大于該讀取端27的工作頻率。但對(duì)于相反的狀況,即該讀取端27的工作頻率大于該儲(chǔ)存端28的工作頻率的情形,依據(jù)本發(fā)明所指示的原理亦可適用,本發(fā)明對(duì)此并未有任何的限制。
本發(fā)明的技術(shù)內(nèi)容及技術(shù)特點(diǎn)已公開如上,然而熟悉本項(xiàng)技術(shù)的入士仍可能基于本發(fā)明的內(nèi)容及公開而作種種不背離本發(fā)明精神的替換及修飾,因此,本發(fā)明的保護(hù)范圍應(yīng)不限于實(shí)施例所公開的,而應(yīng)包括各種不背離本發(fā)明的替換及修飾,并為以下的權(quán)利要求范圍所涵蓋。
權(quán)利要求
1.一種多級(jí)數(shù)的事件同步裝置,用于在緩沖一來源地區(qū)域及目的地區(qū)域的數(shù)據(jù)傳輸?shù)闹欣^區(qū)域中累計(jì)數(shù)據(jù)緩沖的數(shù)目,該來源地區(qū)域及目的地區(qū)域具有不等的工作頻率或具有相等的工作頻率但有不等的相位,包含一第一事件同步器,用于將該目的地區(qū)域所執(zhí)行的推出事件的數(shù)目轉(zhuǎn)換為該來源地區(qū)域的一時(shí)鐘信號(hào)可拾取的事件數(shù)目;一第二事件同步器,用于將該來源地區(qū)域所執(zhí)行的推入事件的數(shù)目轉(zhuǎn)換為該目的地區(qū)域的一時(shí)鐘信號(hào)可拾取的事件數(shù)目;一第二計(jì)數(shù)器,當(dāng)該目的地區(qū)域每執(zhí)行一推出事件時(shí)其值減一,當(dāng)該第二事件同步器每送入一筆事件時(shí)其值加一,當(dāng)其值等于該中繼區(qū)域所能提供的數(shù)據(jù)緩沖數(shù)目的下限時(shí)則發(fā)出一空乏信號(hào);及一第一計(jì)數(shù)器,當(dāng)該來源地區(qū)域每執(zhí)行一推入事件時(shí)其值加一,當(dāng)該第一事件同步器每送入一筆事件時(shí)其值減一,當(dāng)其值等于該中繼區(qū)域所能提供的數(shù)據(jù)緩沖數(shù)目的上限時(shí)則發(fā)出一滿溢信號(hào)。
2.如權(quán)利要求1所述的裝置,其中該第二事件同步器包含一級(jí)數(shù)產(chǎn)生單元,用于產(chǎn)生一級(jí)數(shù)值N的編碼,其中N為大于該目的地區(qū)域的時(shí)鐘信號(hào)的脈沖長(zhǎng)度除以該來源地區(qū)域的時(shí)鐘信號(hào)的脈沖長(zhǎng)度的一整數(shù);一事件配置單元,連接至該級(jí)數(shù)產(chǎn)生單元,用于將該來源地區(qū)域所執(zhí)行推入事件的數(shù)目平均分配于N級(jí)數(shù)據(jù)路徑;及一同步單元,連接至該事件配置單元,轉(zhuǎn)換該N級(jí)數(shù)據(jù)路徑上的推入事件的數(shù)目為該目的區(qū)域的時(shí)鐘信號(hào)可拾取的事件數(shù)目。
3.如權(quán)利要求2所述的裝置,其中該N級(jí)數(shù)據(jù)路徑中任何一條路徑包含一第一D型觸發(fā)器,連接至該事件配置單元的輸出;一第二D型觸發(fā)器,連接至該第一D型觸發(fā)器的輸出;一第三D型觸發(fā)器,連接至該第二D型觸發(fā)器的輸出;及一異或門,連接至該第二D型觸發(fā)器及該第三D型觸發(fā)器的輸出,用于產(chǎn)生該事件。
4.如權(quán)利要求1所述的裝置,其中該第一事件同步器包含一級(jí)數(shù)產(chǎn)生單元,用于產(chǎn)生一級(jí)數(shù)值M的編碼,其中M為大于該來源地區(qū)域的時(shí)鐘信號(hào)的脈沖長(zhǎng)度除以該目的地區(qū)域的時(shí)鐘信號(hào)的脈沖長(zhǎng)度的一整數(shù);一事件配置單元,連接至該級(jí)數(shù)產(chǎn)生單元,用于將該目的區(qū)域所執(zhí)行的推出事件的數(shù)目平均分配于M級(jí)數(shù)據(jù)路徑;及一同步單元,連接至該事件配置單元,轉(zhuǎn)換該M級(jí)數(shù)據(jù)路徑的推出事件的數(shù)目為該來源地區(qū)域的時(shí)鐘信號(hào)可拾取的事件數(shù)目。
5.如權(quán)利要求4所述的裝置,其中該M級(jí)數(shù)據(jù)路徑中任何一個(gè)均包含一第一D型觸發(fā)器,連接至該事件配置單元的輸出;一第二D型觸發(fā)器,連接至該第一D型觸發(fā)器的輸出;一第三D型觸發(fā)器,連接至該第二D型觸發(fā)器的輸出;及一異或門,連接至該第二D型觸發(fā)器及該第三D型觸發(fā)器的輸出,用于產(chǎn)生該事件。
6.一種多級(jí)數(shù)的事件同步系統(tǒng),用于緩沖一來源地區(qū)域及目的地區(qū)域的數(shù)據(jù)傳輸,該來源地區(qū)域及目的地區(qū)域具有不等的工作頻率或具有相等的工作頻率但有不等的相位,包含一先進(jìn)先出緩沖器,具有一輸入端及一輸出端,該輸入端以一數(shù)據(jù)總線連接至該來源地區(qū)域,該輸出端以一數(shù)據(jù)總線連接至該目的地區(qū)域;一多級(jí)數(shù)的事件同步裝置,用于累計(jì)該先進(jìn)先出緩沖器的數(shù)據(jù)緩沖數(shù)目,該裝置是將該目的地區(qū)域所執(zhí)行推出事件的數(shù)目轉(zhuǎn)換為該來源地區(qū)域的一時(shí)鐘信號(hào)可拾取的事件數(shù)目,且將該來源地區(qū)域所執(zhí)行推入事件的數(shù)目轉(zhuǎn)換為該目的地區(qū)域的一時(shí)鐘信號(hào)可拾取的事件數(shù)目;若該來源地區(qū)域所執(zhí)行推入事件的數(shù)目減去該目的地區(qū)域所執(zhí)行推出事件的數(shù)目轉(zhuǎn)換為該來源地區(qū)域的一時(shí)鐘信號(hào)可拾取的事件數(shù)目后已達(dá)該先進(jìn)先出緩沖器所能提供的數(shù)據(jù)緩沖數(shù)目的上限,則該裝置發(fā)出一滿溢信號(hào),若該來源地區(qū)域所執(zhí)行推入事件的數(shù)目轉(zhuǎn)換為該目的地區(qū)域的一時(shí)鐘信號(hào)可拾取的事件數(shù)目減去該目的地區(qū)域所執(zhí)行推出事件的數(shù)目后已達(dá)該先進(jìn)先出緩沖器所能提供的數(shù)據(jù)緩沖數(shù)目的下限,則該裝置發(fā)出一空乏信號(hào);一讀取模塊,用于產(chǎn)生一前端指針以指向該先進(jìn)先出緩沖器的目前被讀取數(shù)據(jù)的位置;一儲(chǔ)存模塊,用于產(chǎn)生一后端指針以指向該先進(jìn)先出緩沖器的目前被儲(chǔ)存數(shù)據(jù)的位置;及一控制模塊,用于控制該先進(jìn)先出緩沖器、來源地區(qū)域及目的地區(qū)域的數(shù)據(jù)傳輸,當(dāng)該滿溢信號(hào)發(fā)生時(shí)刻停止該來源地區(qū)域的數(shù)據(jù)儲(chǔ)存,當(dāng)該空乏信號(hào)發(fā)生時(shí)則停止該目的地區(qū)域的數(shù)據(jù)讀取。
7.如權(quán)利要求6所述的系統(tǒng),其中該多級(jí)數(shù)的事件同步裝置包含一第一事件同步器,用于將該目的地區(qū)域所執(zhí)行推出事件的數(shù)目轉(zhuǎn)換為該來源地區(qū)域的一時(shí)鐘信號(hào)可拾取的事件數(shù)目;一第二事件同步器,用于將該來源地區(qū)域所執(zhí)行推入事件的數(shù)目轉(zhuǎn)換為該目的地區(qū)域的一時(shí)鐘信號(hào)可拾取的事件數(shù)目;一第二計(jì)數(shù)器,當(dāng)該目的地區(qū)域每執(zhí)行一推出事件時(shí)其值減一,當(dāng)該第二事件同步器每送入一筆事件時(shí)其值加一,當(dāng)其值等于該中繼區(qū)域所能提供的數(shù)據(jù)緩沖數(shù)目的下限時(shí)則發(fā)出一空乏信號(hào);及一第一計(jì)數(shù)器,當(dāng)該來源地區(qū)域每執(zhí)行一推入事件時(shí)其值加一,當(dāng)該第一事件同步器每送入一筆事件時(shí)其值減一,當(dāng)其值等于該中繼區(qū)域所能提供的數(shù)據(jù)緩沖數(shù)目的上限時(shí)則發(fā)出一滿溢信號(hào)。
8.如權(quán)利要求7所述的系統(tǒng),其中該第二事件同步器包含一級(jí)數(shù)產(chǎn)生單元,用于產(chǎn)生一級(jí)數(shù)值N的編碼,其中N為大于該目的地區(qū)域的時(shí)鐘信號(hào)的脈沖長(zhǎng)度除以該來源地區(qū)域的時(shí)鐘信號(hào)的脈沖長(zhǎng)度的一整數(shù);一事件配置單元,連接至該級(jí)數(shù)產(chǎn)生單元,用于將該來源地區(qū)域所執(zhí)行的推入事件的數(shù)目平均分配于N級(jí)的數(shù)據(jù)路徑;及一同步單元,連接至該事件配置單元,若該N級(jí)數(shù)據(jù)路徑中任何一條路徑具有該來源地區(qū)域所執(zhí)行推入事件的數(shù)目,則轉(zhuǎn)換為該目的地區(qū)域的時(shí)鐘信號(hào)可拾取的事件數(shù)目。
9.如權(quán)利要求7所述的系統(tǒng),其中該第一事件同步器包含一級(jí)數(shù)產(chǎn)生單元,用于產(chǎn)生一級(jí)數(shù)值M的編碼,其中M為大于該來源地區(qū)域的時(shí)鐘信號(hào)的脈沖長(zhǎng)度除以該目的地區(qū)域的時(shí)鐘信號(hào)的脈沖長(zhǎng)度的一整數(shù);一事件配置單元,連接至該級(jí)數(shù)產(chǎn)生單元,用于將該目的地區(qū)域所執(zhí)行推出事件的數(shù)目平均分配于M級(jí)的數(shù)據(jù)路徑;及一同步單元,連接至該事件配置單元,若該M級(jí)數(shù)據(jù)路徑中任何一個(gè)均具有該目的地區(qū)域所執(zhí)行推出事件的數(shù)目,則轉(zhuǎn)換為該來源地區(qū)域的時(shí)鐘信號(hào)可拾取的事件數(shù)目。
全文摘要
本發(fā)明公開一種多級(jí)數(shù)的事件同步裝置及其系統(tǒng),其主要目的是為降低目前為平衡一來源地區(qū)域及目的地區(qū)域的工作頻率不等而使用的同步電路的硬件花費(fèi)。該裝置將工作頻率較慢的一方以多級(jí)數(shù)的簡(jiǎn)單同步電路及異或門組合而接收工作頻率較高的一方所傳送的輸入信號(hào),并產(chǎn)生相對(duì)應(yīng)的事件數(shù)目。藉此,該工作頻率較低的一方即不致漏失由該工作頻率較高的一方所傳送的信號(hào)。
文檔編號(hào)H04L7/00GK1369985SQ0110381
公開日2002年9月18日 申請(qǐng)日期2001年2月15日 優(yōu)先權(quán)日2001年2月15日
發(fā)明者蘇仁斌, 陳燦輝, 林文相, 吳俊杰, 林昌輔 申請(qǐng)人:矽統(tǒng)科技股份有限公司