專利名稱:一種利用雙沿采樣處理控制信號(hào)的非同步先入先出控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于一種先入先出(FIFO)控制器,尤其涉及一種利用雙沿采樣處理控制信號(hào)的非同步先入先出(FIFO)控制器。
背景技術(shù):
現(xiàn)有的先入先出(FIFO)控制器由于鎖存寄存器(flip-flop)不是在上升沿采樣,就是在下降沿采樣,所以用時(shí)鐘雙沿采樣相當(dāng)于用兩個(gè)不同的時(shí)鐘采樣數(shù)據(jù)。由于不是用同一個(gè)時(shí)鐘信號(hào)采樣數(shù)據(jù),無(wú)法直接根據(jù)外來的信號(hào)將數(shù)據(jù)放入FIFO控制器,需要另外進(jìn)行一級(jí)緩存,再利用一至少是外界時(shí)鐘信號(hào)的時(shí)鐘采樣緩存中的數(shù)據(jù)。但這樣處理首先需要一個(gè)額外兩倍于外界時(shí)鐘的內(nèi)部時(shí)鐘信號(hào),其次由于該時(shí)鐘信號(hào)與輸入的雙倍數(shù)據(jù)率(DDR)時(shí)鐘毫無(wú)關(guān)系,要考慮過采樣以及建立時(shí)間(setup time)和保持時(shí)間(hold time)是否滿足,復(fù)雜且不易控制,而且對(duì)時(shí)鐘脈沖相位差和占空比要求較高。
發(fā)明內(nèi)容
為了解決通過內(nèi)部時(shí)鐘采樣外部數(shù)據(jù)有可能產(chǎn)生與建立時(shí)間或保持時(shí)間相關(guān)的問題,也使得電路內(nèi)部在工作頻率相對(duì)采樣數(shù)據(jù)較低時(shí)無(wú)需額外生成一時(shí)鐘采樣數(shù)據(jù),本發(fā)明的目的在于,直接利用界面時(shí)鐘與數(shù)據(jù)之間的關(guān)系安全穩(wěn)定地采樣數(shù)據(jù),而且整個(gè)裝置只需一個(gè)工作頻率,結(jié)構(gòu)更加簡(jiǎn)單。
為了實(shí)現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案,一種利用雙沿采樣處理控制信號(hào)的非同步先入先出控制器,其特征在于,包括上升沿處理模塊,直接用雙倍數(shù)據(jù)率(DDR)時(shí)鐘信號(hào)上升沿作為鎖存時(shí)間,對(duì)輸入的第一外部控制信號(hào)和數(shù)據(jù)進(jìn)行鎖存,然后與下降沿處理模塊輸出的第二外部控制信號(hào)和數(shù)據(jù)一起經(jīng)過邏輯運(yùn)算,輸出第三控制信號(hào)和數(shù)據(jù);下降沿處理模塊,直接以雙倍數(shù)據(jù)率(DDR)時(shí)鐘信號(hào)下降沿作為鎖存時(shí)間,鎖存所述第一外部控制信號(hào)和數(shù)據(jù),然后與上升沿處理模塊輸出的第四外部控制信號(hào)和數(shù)據(jù)一起經(jīng)過邏輯運(yùn)算,輸出第五控制信號(hào)和數(shù)據(jù);綜合處理模塊,選取雙倍數(shù)據(jù)率(DDR)時(shí)鐘信號(hào)的一個(gè)沿作為鎖存時(shí)間,同時(shí)對(duì)所述第三控制信號(hào)和數(shù)據(jù)以及所述第五控制信號(hào)和數(shù)據(jù)進(jìn)行采樣,根據(jù)存儲(chǔ)器的協(xié)議得到輸出第六控制信號(hào)和數(shù)據(jù);存儲(chǔ)器,用來存儲(chǔ)所述第六控制信號(hào)和數(shù)據(jù)。
下面結(jié)合附圖對(duì)本發(fā)明的結(jié)構(gòu)進(jìn)行詳細(xì)說明,熟悉本技術(shù)領(lǐng)域的一般技術(shù)人員可以從描述中了解本發(fā)明的特征和優(yōu)點(diǎn)。
圖1是本發(fā)明控制器的系統(tǒng)結(jié)構(gòu)框圖;圖2是存儲(chǔ)器控制信號(hào)協(xié)議圖;圖3表示上升沿處理模塊、下降沿處理模塊和綜合處理模塊的事例波形圖;圖4是存儲(chǔ)器中信號(hào)的事例波形圖。
具體實(shí)施例方式
請(qǐng)參見圖1,所示為一種利用雙沿采樣處理控制信號(hào)的非同步FIFO控制器的結(jié)構(gòu)框圖,由上升沿處理模塊1、下降沿處理模塊2、綜合處理模塊3和存儲(chǔ)器4部分組成。
其中,上升沿和下降沿處理模塊1和2分別直接以DDR時(shí)鐘信號(hào)上升、下降沿作為鎖存時(shí)間,對(duì)接收到的外部控制信號(hào)和數(shù)據(jù)A進(jìn)行鎖存,然后上升沿處理模塊1將該鎖存信號(hào)與下降沿處理模塊2鎖存的外部控制信號(hào)和數(shù)據(jù)及其處理后得到的地址進(jìn)行處理得到上升沿處理模塊1的輸出信號(hào)C,對(duì)下降沿處理模塊2整個(gè)過程也類似,下降沿處理模塊2將其鎖存的信號(hào)與上升沿處理模塊1鎖存的外部控制信號(hào)和數(shù)據(jù)及其處理后得到的地址進(jìn)行處理得到下降沿處理模塊1的輸出信號(hào)E。兩個(gè)模塊輸出的信號(hào)C、E輸入綜合處理模塊3中,該綜合處理模塊3根據(jù)存儲(chǔ)器4具體所采用的協(xié)議對(duì)模塊1和2進(jìn)行采樣并處理,將結(jié)果信號(hào)輸入到存儲(chǔ)器4中進(jìn)行存儲(chǔ)。
下面對(duì)圖2、3、4中用到的符號(hào)給予說明。其中輸入信號(hào)clock表示DDR時(shí)鐘,上升沿和下降沿均可采樣數(shù)據(jù);Valid表示當(dāng)前沿?cái)?shù)據(jù)是否有效;Data為8bit寬度的傳輸數(shù)據(jù)。
請(qǐng)參見圖2所示存儲(chǔ)器4的控制信號(hào)協(xié)議圖,在上升沿處理模塊1中,d0表示在時(shí)鐘上升沿采樣到的數(shù)據(jù);valid0表示在時(shí)鐘上升沿采樣到的有效信號(hào);wrt_addr0表示下一個(gè)d0寫入存儲(chǔ)器4的地址。在時(shí)鐘的上升沿,如果valid0信號(hào)有效,表明該沿?cái)?shù)據(jù)需寫入存儲(chǔ)器4,那么下一個(gè)數(shù)據(jù)存入的地址應(yīng)該是前一個(gè)數(shù)據(jù)存入地址的下一個(gè)單元。由于時(shí)鐘的上升沿和下降沿均可寫入數(shù)據(jù),所以前一個(gè)數(shù)據(jù)寫入的地址并非wrt_addr0現(xiàn)在所表示的地址,而是wrt_addr1所表示的地址。因此,此時(shí)置入wrt_addr0的值為wrt_addr1加1。如果valid0信號(hào)無(wú)效,表明該沿?zé)o數(shù)據(jù)寫入存儲(chǔ)器4,則直接將wrt_addr1的值置入wrt_addr0即可。
在下降沿處理模塊2中,d1表示在時(shí)鐘下降沿采樣到的數(shù)據(jù);valid1表示在時(shí)鐘下降沿采樣到的有效信號(hào);wrt_addr1表示下一個(gè)d1寫入存儲(chǔ)器4的地址,其原理與上述的wrt_addr0相同,在下降沿時(shí)若valid1有效,則置入wrt_addr1的值為wrt_addr0加1;反之,置入wrt_addr1的值。
綜合處理模塊3中,選取上升沿作為綜合處理模塊3的采樣沿,根據(jù)上升沿處理模塊輸出的信號(hào)valid0,wrt_addr0和下降沿處理模塊2輸出的信號(hào)valid1,wrt_addr1得出存儲(chǔ)器4所需的控制信號(hào)。并鎖存數(shù)據(jù)d0和d1得到存儲(chǔ)器4的輸入數(shù)據(jù)。
下面描述綜合處理模塊3是如何綜合上升沿處理模塊1和下降沿處理模塊2的信號(hào),產(chǎn)生上述靜態(tài)存儲(chǔ)器的控制信號(hào)和數(shù)據(jù)的。
在時(shí)鐘的上升沿,首先判斷信號(hào)valid0和valid1,判斷要寫入幾個(gè)數(shù)據(jù);其次判斷寫入的位置,決定寫入的數(shù)據(jù)。具體做法如下1.如果信號(hào)valid0和valid1都為1,那么兩塊靜態(tài)存儲(chǔ)器都要被寫入數(shù)據(jù),所以信號(hào)cen_odd,cen_even,wen_odd,wen_even都將置0,同時(shí)判斷wrt_addr0的第0位,如果是1,表示為奇地址,aa_odd取wrt_addr0的前三位,da_odd取d0的值,而aa_even則取wrt_addr1的前三位,da_even取d1的值;否則,若wrt_addr0的第0位是0,表示是偶地址,則aa_odd取wrt_addr1的前三位,da_odd取d1的值,而aa_even則取wrt_addr0的前三位,da_even取d0的值。如圖中S0所標(biāo)示的區(qū)域。
2.如果信號(hào)valid0為1,而valid1為0,那么判斷wrt_addr0的第0位,如果是1,表示為奇地址,cen_odd,wen_odd置0,aa_odd取wrt_addr0的前三位,da_odd取d0的置,而cen_even,wen_even置1,aa_even和da_even保持原值;如圖中S1,S2所標(biāo)示區(qū)域。
3.如果信號(hào)valid1為1,而valid0為0,判斷方法同上,只是要根據(jù)wrt_addr1的地址來判斷,而非wrt_addr0,同時(shí)有效數(shù)據(jù)為d1;如圖S3所標(biāo)示區(qū)域。
4.如果信號(hào)valid0和valid1都是0,那么表示沒有數(shù)據(jù)要寫入靜態(tài)存儲(chǔ)器。所以所有控制信號(hào)cen_odd,cen_even,wen_odd,wen_even都將置1,aa_odd,aa_even,da_odd,da_even保持原值。
存儲(chǔ)器4采用了兩片UMC的深度為16,寬度為8的高速雙端同步靜態(tài)存儲(chǔ)器,一塊存儲(chǔ)第奇數(shù)個(gè)數(shù)據(jù),命名為sram_odd;另一片存儲(chǔ)第偶數(shù)個(gè)數(shù)據(jù),命名為sram_even。數(shù)據(jù)d0或d1寫入哪一片靜態(tài)存儲(chǔ)器取決于地址,如果地址為奇數(shù),則存入sram_odd,否則存入sram_even。其信號(hào)波形圖見圖4所示,每片靜態(tài)存儲(chǔ)器有時(shí)鐘信號(hào)CLKA,CLKB,選信號(hào)CENA,CENB,寫允許信號(hào)WENA,WENB,輸入數(shù)據(jù)DA,DB,以及輸出QA,QB。在該例中,僅采用PORT A作為寫入口。所以綜合處理模塊3必須提供信號(hào)CLKA,CENA,WENA以及數(shù)據(jù)DA。其信號(hào)之間的關(guān)系為在時(shí)鐘信號(hào)CLKA、CLKB的上升沿,當(dāng)選信號(hào)CENA、WENA同時(shí)為低時(shí),將數(shù)據(jù)DA寫入地址AA。
前面提供了對(duì)較佳實(shí)施例的描述,以使本領(lǐng)域內(nèi)的任何技術(shù)人員可使用或利用本發(fā)明。對(duì)這些實(shí)施例的各種修改對(duì)本領(lǐng)域內(nèi)的技術(shù)人員是顯而易見的,可把這里所述的總的原理應(yīng)用到其他實(shí)施例而不使用創(chuàng)造性。因而,本發(fā)明將不限于這里所示的實(shí)施例,而應(yīng)依據(jù)符合這里所揭示的原理和新特征的最寬范圍。
權(quán)利要求
1.一種利用雙沿采樣處理控制信號(hào)的非同步先入先出控制器,其特征在于,包括上升沿處理模塊,直接用雙倍數(shù)據(jù)率時(shí)鐘信號(hào)上升沿作為鎖存時(shí)間,對(duì)輸入的第一外部控制信號(hào)和數(shù)據(jù)進(jìn)行鎖存,然后與下降沿處理模塊輸出的第二外部控制信號(hào)和數(shù)據(jù)一起經(jīng)過邏輯運(yùn)算,輸出第三控制信號(hào)和數(shù)據(jù);下降沿處理模塊,直接以雙倍數(shù)據(jù)率時(shí)鐘信號(hào)下降沿作為鎖存時(shí)間,鎖存所述第一外部控制信號(hào)和數(shù)據(jù),然后與上升沿處理模塊輸出的第四外部控制信號(hào)和數(shù)據(jù)一起經(jīng)過邏輯運(yùn)算,輸出第五控制信號(hào)和數(shù)據(jù);綜合處理模塊,選取雙倍數(shù)據(jù)率時(shí)鐘信號(hào)的一個(gè)沿作為鎖存時(shí)間,同時(shí)對(duì)所述第三控制信號(hào)和數(shù)據(jù)以及所述第五控制信號(hào)和數(shù)據(jù)進(jìn)行采樣,根據(jù)存儲(chǔ)器的協(xié)議得到輸出第六控制信號(hào)和數(shù)據(jù);存儲(chǔ)器,用來存儲(chǔ)所述第六控制信號(hào)和數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的,其特征在于,所述第六控制信號(hào)和數(shù)據(jù)包括地址,片選等控制信號(hào)和數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的,其特征在于,所述存儲(chǔ)器包括靜態(tài)存儲(chǔ)器,動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器或其他任何存儲(chǔ)器。
全文摘要
本發(fā)明公開了一種利用雙沿采樣處理控制信號(hào)的非同步先入先出控制器,包括上升沿處理模塊,直接用雙倍數(shù)據(jù)率時(shí)鐘信號(hào)上升沿作為鎖存時(shí)間,對(duì)輸入的第一外部控制信號(hào)和數(shù)據(jù)進(jìn)行鎖存,然后與下降沿處理模塊輸出的第二外部控制信號(hào)和數(shù)據(jù)一起經(jīng)過邏輯運(yùn)算,輸出第三控制信號(hào)和數(shù)據(jù);下降沿處理模塊,直接以雙倍數(shù)據(jù)率時(shí)鐘信號(hào)下降沿作為鎖存時(shí)間,鎖存所述第一外部控制信號(hào)和數(shù)據(jù),然后與上升沿處理模塊輸出的第四外部控制信號(hào)和數(shù)據(jù)一起經(jīng)過邏輯運(yùn)算,輸出第五控制信號(hào)和數(shù)據(jù);綜合處理模塊,選取雙倍數(shù)據(jù)率時(shí)鐘信號(hào)的一個(gè)沿作為鎖存時(shí)間,同時(shí)對(duì)所述第三控制信號(hào)和數(shù)據(jù)以及所述第五控制信號(hào)和數(shù)據(jù)進(jìn)行采樣,根據(jù)存儲(chǔ)器的協(xié)議得到輸出第六控制信號(hào)和數(shù)據(jù);存儲(chǔ)器,用來存儲(chǔ)所述第六控制信號(hào)和數(shù)據(jù)。
文檔編號(hào)G06F12/08GK1517883SQ03114849
公開日2004年8月4日 申請(qǐng)日期2003年1月13日 優(yōu)先權(quán)日2003年1月13日
發(fā)明者顧麗敏 申請(qǐng)人:揚(yáng)智電子(上海)有限公司