新四季網

異步先入先出存儲器fifo的讀寫控制處理方法、電路及系統的製作方法

2023-07-21 07:44:56 1

專利名稱:異步先入先出存儲器fifo的讀寫控制處理方法、電路及系統的製作方法
技術領域:
本發明涉及專用集成電路設計中的數字電路設計領域,尤其涉及異步FIFO的讀寫控制處理方法、電路及系統。
背景技術:
格雷碼是一種無權碼,採用絕對編碼方式;它是一種數字排序系統,在任意兩個相鄰的數之間轉換時,只有一個數位發生變化。在異步FIFO (Firs t In First Out,先入先出存儲器)設計中常常採用格雷碼作為異步FIFO指針編碼,格雷碼計數器用於產生指針。基于格雷碼的異步FIFO設計如圖1所示,其中指針和FIFO地址產生電路實現如圖2所示,圖2中部分信號解釋如表1 :表1指針和FIFO地址產生電路信號解釋
信號解釋inc寫/讀使能fullFIFO 滿emptyFIFO 空ptr[n:0]FIFO寫/讀指針addrFIFO寫/讀地址由于格雷碼是一種在相鄰數值之間只有Ibit發生變化的編碼,因此採用此種編碼設計的異步FIFO,為了正確同步(保證用於同步的指針每次只有Ibit發生變化),格雷碼計數器每次只能加「1」,不能加「2」、「4」等值;從而要求每次對FIFO的讀寫數據寬度保持一致,所以採用格雷碼作為指針的異步FIFO不支持不同數據寬度的讀寫。目前支持複雜協議的SOC (System on Chip,系統級晶片)高速數字接口(如EMMC Embedded MultiMedia Card,嵌入式多媒體卡)IP core (IP核)設計中。通常SOC片內總線支持多種數據寬度(如byte、half word, word)讀寫,而大部分的總線協議楨格式是以byte為單位,為了更高效、高速的完成數據傳輸,要求作為數據buffer (緩存)的異步FIFO支持不同數據寬度的讀寫。現有技術提供一種採用格雷碼作為指針的異步FIFO加上FIFO wrapper (包裝)電路。該電路可以實現對不同數據寬度的讀寫的支持,如圖3所示(以AMBA APB BUS寫為例;AMBA =Advanced Microcontroller Bus Architecture,高級微控制器總線架構;APB Advanced Peripheral Bus,外圍總線),其中FIFO wrapper電路能夠將總線對異步FIFO不同數據寬度的讀寫,轉換成同一數據寬度的讀寫。例如當支持byte、half word和word讀寫時,FIFO wrapper電路能夠將half word或word讀寫轉成多個byte讀寫。其中AMBAAPB BUS進行word寫時序如圖4所示,從圖4中可以看到,FIFO WRAPPER電路將word寫轉成4次byte的寫;如果是half word寫,則FIFO WRAPPER電路將其轉換成2次byte的寫。發明人在實現本發明的過程中,發現上述現有技術存在如下不足從圖4可以看到,完成一次word寫,需要將word轉成4次byte的寫,這樣需要4個時鐘周期。當有大量數據通過異步FIFO傳輸時,這種轉換將佔用大量的AMBA總線時間,降低總線的利用率。

發明內容
本發明實施例提供一種異步FIFO的讀寫控制處理方法,用以支持不同數據寬度的讀寫,並在保證正確同步的同時大大提高總線的利用率,該方法包括採用至少兩個格雷碼計數器對異步FIFO的數據讀寫次數進行計數,其中,對不同的數據寬度,採用不同的格雷碼計數器對數據讀寫次數進行計數;將各格雷碼計數器計數所得格雷碼值作為編碼輸出,以產生指針供同步邏輯電路進行同步處理。本發明實施例還提供一種異步FIFO的讀寫控制處理方法,用以支持不同數據寬度的讀寫,並在保證正確同步的同時大大提高總線的利用率,該方法包括將每一數據寬度對應的上述同步處理後的指針進行寄存,將寄存後的指針與寄存前的指針轉換為二進位值;將每一數據寬度對應的所述寄存後的指針轉換的二進位值減去所述寄存前的指針轉換的二進位值,獲得該數據寬度對應增量的二進位值;將各數據寬度對應增量的二進位值分別乘以對應的增量係數,獲得各數據寬度對應的增加值;將各數據寬度對應的增加值相加,獲得總的增加值作為解碼值輸出,供標誌產生電路確定異步FIFO是否寫滿或讀空並產生相應的標誌。本發明實施例還提供一種異步FIFO的讀寫控制處理電路,用以支持不同數據寬度的讀寫,並在保證正確同步的同時大大提高總線的利用率,該電路包括至少兩個格雷碼計數器,用於對異步FIFO的數據讀寫次數進行計數,其中,對不同的數據寬度,由不同的格雷碼計數器對數據讀寫次數進行計數;各格雷碼計數器分別與同步邏輯電路相連,用於將計數所得格雷碼值作為編碼輸出,以產生指針供同步邏輯電路進行同步處理。本發明實施例還提供一種異步FIFO的讀寫控制處理電路,用以支持不同數據寬度的讀寫,並在保證正確同步的同時大大提高總線的利用率,該電路包括格雷碼轉二進位碼邏輯電路,用於將每一數據寬度對應的上述同步處理後的指針進行寄存,並將寄存後的指針與寄存前的指針轉換為二進位值;增量計算邏輯電路,用於將每一數據寬度對應的所述寄存後的指針轉換的二進位值減去所述寄存前的指針轉換的二進位值,獲得該數據寬度對應增量的二進位值;乘法器,用於將各數據寬度對應增量的二進位值分別乘以對應的增量係數,獲得各數據寬度對應的增加值;
加法器,用於將各數據寬度對應的增加值相加,獲得總的增加值作為解碼值輸出,供標誌產生電路確定異步FIFO是否寫滿或讀空並產生相應的標誌。本發明實施例還提供一種異步FIFO的讀寫控制處理系統,用以支持不同數據寬度的讀寫,並在保證正確同步的同時大大提高總線的利用率,該系統包括編碼電路,包括至少兩個格雷碼計數器,用於對異步FIFO的數據讀寫次數進行計數,其中,對不同的數據寬度,由不同的格雷碼計數器對數據讀寫次數進行計數;各格雷碼計數器分別與同步邏輯電路相連,用於將計數所得格雷碼值作為編碼輸出,以產生指針供同步邏輯電路進行同步處理;解碼電路,包括格雷碼轉二進位碼邏輯電路,用於將每一數據寬度對應的所述同步處理後的指針進行寄存,並將寄存後的指針與寄存前的指針轉換為二進位值;增量計算邏輯電路,用於將每一數據寬度對應的所述寄存後的指針轉換的二進位值減去所述寄存前的指針轉換的二進位值,獲得該數據寬度對應增量的二進位值;乘法器,用於將各數據寬度對應增量的二進位值分別乘以對應的增量係數,獲得各數據寬度對應的增加值;加法器,用於將各數據寬度對應的增加值相加,獲得總的增加值作為解碼值輸出,供標誌產生電路確定異步FIFO是否寫滿或讀空並產生相應的標誌。本發明實施例中,採用至少兩個格雷碼計數器對異步FIFO的數據讀寫次數進行計數,其中,對不同的數據寬度,採用不同的格雷碼計數器對數據讀寫次數進行計數;將各格雷碼計數器計數所得格雷碼值作為編碼輸出,以產生指針供同步邏輯電路進行同步處理;與現有技術相比,對不同的數據寬度讀寫無需進行數據寬度的轉換,可以實現單周期完成所有數據寬度的讀寫,在保證正確同步的同時大大提高總線的利用率。本發明實施例中,將每一數據寬度對應的所述同步處理後的指針進行寄存,並將寄存後的指針與所述寄存前的指針轉換為二進位值;將每一數據寬度對應的所述寄存後的指針轉換的二進位值減去所述寄存前的指針轉換的二進位值,獲得該數據寬度對應增量的二進位值;將各數據寬度對應增量的二進位值分別乘以對應的增量係數,獲得各數據寬度對應的增加值;將各數據寬度對應的增加值相加,獲得總的增加值作為解碼值輸出,供標誌產生電路確定異步FIFO是否寫滿或讀空並產生相應的標誌;與現有技術相比,對不同的數據寬度讀寫無需進行數據寬度的轉換,可以實現單周期完成所有數據寬度的讀寫,在保證正確同步的同時大大提高總線的利用率。


為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。在附圖中圖1為現有技術中基于格雷碼的異步FIFO設計示意圖;圖2為現有技術中指針和FIFO地址產生電路示意圖;圖3為現有技術中採用格雷碼作為指針的異步FIFO加上FIFO wrapper電路的示意圖;圖4為現有技術中AMBA APB BUS進行word寫時序示意圖;圖5為本發明實施例中異步先入先出FIFO的讀寫處理方法的處理流程圖;圖6為本發明實施例中另一異步先入先出FIFO的讀寫處理方法的處理流程圖;圖7為本發明實施例中異步先入先出存儲器FIFO的讀寫處理系統的具體實施示意圖;圖8為本發明實施例中寫指針增量格雷編碼電路的示意圖;圖9為本發明實施例中讀指針增量格雷編碼電路的示意圖;圖10為本發明實施例中FIFO寫地址產生電路的示意圖;圖11為本發明實施例中FIFO讀地址產生電路的示意圖;圖12為本發明實施例中寫指針同步邏輯電路的示意圖;圖13為本發明實施例中讀指針同步邏輯電路的示意圖;圖14為本發明實施例中寫指針增量格雷解碼電路的示意圖;圖15為本發明實施例中讀指針增量格雷解碼電路的示意圖;圖16為本發明實施例中AMBA APB BUS word寫異步FIFO的時序示意圖;圖17為本發明實施例中採用增量格雷碼異步FIFO實現的寫buffer電路示意圖;圖18為本發明實施例中寫指針生成電路的示意圖;圖19為本發明實施例中寫地址生成電路及滿標誌產生電路的示意圖;圖20為本發明實施例中寫指針同步邏輯電路的示意圖;圖21為本發明實施例中讀指針同步邏輯電路的示意圖;圖22為本發明實施例中FIFO memory電路的示意圖;圖23為本發明實施例中寫增量生成電路的示意圖;圖M為本發明實施例中讀地址生成電路及空標誌產生電路的示意圖。
具體實施例方式為使本發明實施例的目的、技術方案和優點更加清楚明白,下面結合附圖對本發明實施例做進一步詳細說明。在此,本發明的示意性實施例及其說明用於解釋本發明,但並不作為對本發明的限定。如圖5所示,本發明實施例中,異步先入先出存儲器FIFO的讀寫處理方法,其處理流程可以包括步驟501、採用至少兩個格雷碼計數器對異步FIFO的數據讀寫次數進行計數,其中,對不同的數據寬度,採用不同的格雷碼計數器對數據讀寫次數進行計數;步驟502、將各格雷碼計數器計數所得格雷碼值作為編碼輸出,以產生指針供同步邏輯電路進行同步處理。由圖5所示流程可以得知,本發明實施例中,採用至少兩個格雷碼計數器對異步FIFO的數據讀寫次數進行計數,其中,對不同的數據寬度,採用不同的格雷碼計數器對數據讀寫次數進行計數;將各格雷碼計數器計數所得格雷碼值作為編碼輸出,以產生指針供同步邏輯電路進行同步處理;與現有技術相比,對不同的數據寬度讀寫無需進行數據寬度的轉換,可以實現單周期完成所有數據寬度的讀寫,在保證正確同步的同時大大提高總線的利用率。具體實施時,每一數據寬度都對應一個格雷碼計數器編碼輸出的格雷碼值,則每次的讀寫計數都是加「1」,並且由於不同數據寬度的讀寫不可能同時來到,所以所有格雷碼計數據輸出的指針都能夠保證每次不同數據寬度的讀寫都僅有Ibit發生變化,從而可以保證正確的同步;為形象說明本發明實施例中格雷碼應用的特點,可以將格雷碼計數器計數所得格雷碼值稱為增量格雷碼編碼。具體實施時,在產生指針時,還可以包括產生地址的步驟,即產生讀寫FIFO的地址,例如可以包括採用一格雷碼計數器對異步FIFO的數據讀寫次數進行計數,其中,對不同寬度的數據,該格雷碼計數器的計數長度不同;採用地址產生邏輯電路將該格雷碼計數器計數所得格雷碼的最高比特(第ADDRSUE位)和次高比特(第ADDRSUE-1位)異或以產生地址的最高比特,用其餘比特(第ADDRSUE-2位到0位)產生地址的其餘比特。前述對不同寬度的數據,該格雷碼計數器的計數長度不同,例如可以是該格雷碼計數器採用如下的計數方法當byte寫(wine = 1同時HSIZE = 0)計數器加1 ;當halfword 寫(wine = 1 同時 HSIZE = 1)計數器加 2 ;當 word 寫(wine = 1 同時 HSIZE = 2)計數器加4。具體實施時,還可以根據前述同步處理後的指針或前述同步處理後指針的轉換值和前述產生地址時採用的計數器相應的計數值進行相應的判斷,以確定異步FIFO是否寫滿或讀空並產生相應的標誌,這樣可以發出讀寫的警報。前述同步邏輯電路進行同步處理時,可採用多種同步處理方式,例如可採用兩級寄存器對產生的指針進行異步時鐘域的指針同步處理。基於同一發明構思,本發明實施例還提供一種異步FIFO的讀寫處理方法,如圖6所示,其處理流程可以包括步驟601、將每一數據寬度對應的圖5所述同步處理後的指針進行寄存,並將寄存後的指針與寄存前的的指針轉換為二進位值;步驟602、將每一數據寬度對應的所述寄存後的指針轉換的二進位值減去所述寄存前的指針轉換的二進位值,獲得該數據寬度對應增量的二進位值;步驟603、將各數據寬度對應增量的二進位值分別乘以對應的增量係數,獲得各數據寬度對應的增加值;步驟604、將各數據寬度對應的增加值相加,獲得總的增加值作為解碼值輸出,供標誌產生電路確定異步FIFO是否寫滿或讀空並產生相應的標誌。由圖6所示流程可以得知,本發明實施例中,將每一數據寬度對應的所述同步處理後的指針進行寄存,並將寄存後的指針與寄存前的指針轉換為二進位值;將每一數據寬度對應的所述寄存後的指針轉換的二進位值減去所述寄存前的指針轉換的二進位值,獲得該數據寬度對應增量的二進位值;將各數據寬度對應增量的二進位值分別乘以對應的增量係數,獲得各數據寬度對應的增加值;將各數據寬度對應的增加值相加,獲得總的增加值作為解碼值輸出,供標誌產生電路確定異步FIFO是否寫滿或讀空並產生相應的標誌;與現有技術相比,對不同的數據寬度讀寫無需進行數據寬度的轉換,可以實現單周期完成所有數據寬度的讀寫,在保證正確同步的同時大大提高總線的利用率。具體實施時,前述增量係數可以根據數據寬度進行配置或計算得出,例如增量係數=數據寬度/最小的數據寬度。為形象說明本發明實施例中格雷碼應用的特點,可以將總的增加值稱為增量格雷碼解碼。具體實施時,在產生指針時,還可以包括產生地址的步驟,即產生讀寫FIFO地址,例如可以包括採用一格雷碼計數器對異步FIFO的數據讀寫次數進行計數,其中,對不同寬度的數據,該格雷碼計數器的計數長度不同;採用地址產生邏輯電路將該格雷碼計數器計數所得格雷碼的最高比特(第ADDRSUE位)和次高比特(第ADDRSUE-1位)異或以產生地址的最高比特,用其餘比特(第ADDRSUE-2位到0位)產生地址的其餘比特。前述對不同寬度的數據,該格雷碼計數器的計數長度不同,例如可以是該格雷碼計數器採用如下的計數方法當byte寫(wine = 1同時HSIZE = 0)計數器加1 ;當halfword 寫(wine = 1 同時 HSIZE = 1)計數器加 2 ;當 word 寫(wine = 1 同時 HSIZE = 2)計數器加4。具體實施時,前述標誌產生電路確定異步FIFO是否寫滿或讀空並產生相應的標誌例如可以是標誌產生電路根據產生地址時採用的計數器相應的計數值和解碼值或解碼值的轉換值進行相應的判斷,以確定異步FIFO是否寫滿或讀空並產生相應的標誌,這樣可以發出讀寫的警報。前述同步處理可採用多種同步處理方式,例如可採用兩級寄存器對產生的指針進行異步時鐘域的指針同步處理。基於同一發明構思,本發明實施還提供一種異步FIFO的讀寫控制處理電路,由於該電路解決問題的原理與異步FIFO的讀寫控制處理方法相似,因此該電路的實施可以參見方法的實施,重複之處不再贅述。實施時該電路可以包括至少兩個格雷碼計數器,用於對異步FIFO的數據讀寫次數進行計數,其中,對不同的數據寬度,由不同的格雷碼計數器對數據讀寫次數進行計數;各格雷碼計數器分別與同步邏輯電路相連,用於將計數所得格雷碼值作為編碼輸出,以產生指針供同步邏輯電路進行同步處理。上述電路也可稱之為增量格雷碼編碼電路,如圖7中所示。舉一例,本例中分別用格雷碼計數器對byte、half word, word寫使能計數產生各自增量格雷碼的編碼輸出指針(byte 寫wbptr_inc,half word 寫whptr_inc,word 寫:wwptr_inc)用於同步。圖 8 為寫指針增量格雷編碼電路的示意圖,圖8中寫指針增量格雷編碼電路中部分信號解釋如表2 表2寫指針增量格雷編碼電路信號解釋信號解釋wineFIFO寫使能wwptr_incword寫增量指針whptr_inchalf word寫增量指針wbptr_incbyte寫增量指針fullFIFO寫滿,FIFO的剩餘存儲空間為ObytehfullFIFO half word寫滿,FIFO的剩餘存儲空間小於2bytewfullFIFO word寫滿,FIFO的剩餘存儲空間小於4bytewclk寫時鐘reset復位HIZE[1:0]寫數據寬度00byte01half word10word11reserved圖9為讀指針增量格雷編碼電路的示意圖,圖9中讀指針增量格雷編碼電路中部分信號解釋如表3 表3讀指針增量格雷編碼電路信號解釋信號解釋rincFIFO讀使能rwptr_incWord讀增量指針rhptr_inchalf word讀增量指針rbptr_incbyte讀增量指針emptyFIFO讀空,FIFO的剩餘數據為ObytehemptyFIFO half word讀空,FIFO的剩餘數據小於2bytewemptyFIFO word讀空,FIFO的剩餘數據小於4byterclk讀時鐘reset復位HIZE[1:0]讀數據寬度00byte01half word10word11reserved具體實施時,上述增量格雷碼編碼電路還可以包括一格雷碼計數器,與地址產生邏輯電路相連,用於對異步FIFO的數據讀寫次數進行計數,其中,對不同寬度的數據,該格雷碼計數器的計數長度不同;地址產生邏輯電路,與該格雷碼計數器相連和異步FIFO相連,用於將該格雷碼計數器計數所得格雷碼的最高比特和次高比特異或以產生地址的最高比特,用其餘比特產生地址的其餘比特。該格雷碼計數器和地址產生邏輯電路也可稱之為FIFO地址產生電路。前述對不同寬度的數據,該格雷碼計數器的計數長度不同,例如可以是該格雷碼計數器採用如下的計數方法當byte寫(wine = 1同時HSUE = 0)計數器加1 ;當half word寫(wine = 1同時HSIZE = 1)計數器加2 ;當word寫(wine = 1同時HSIZE = 2)計數器加4。舉一例,圖10為FIFO寫地址產生電路的示意圖,圖10的FIFO寫地址產生電路中部分信號解釋如表4:表4FIF0寫地址產生電路信號解釋
權利要求
1.一種異步先入先出存儲器FIFO的讀寫控制處理方法,其特徵在於,該方法包括採用至少兩個格雷碼計數器對異步FIFO的數據讀寫次數進行計數,其中,對不同的數據寬度,採用不同的格雷碼計數器對數據讀寫次數進行計數;將各格雷碼計數器計數所得格雷碼值作為編碼輸出,以產生指針供同步邏輯電路進行同步處理。
2.如權利要求1所述的方法,其特徵在於,還包括採用一格雷碼計數器對異步FIFO的數據讀寫次數進行計數,其中,對不同寬度的數據,該格雷碼計數器的計數長度不同;採用地址產生邏輯電路將該格雷碼計數器計數所得格雷碼的最高比特和次高比特異或以產生地址的最高比特,用其餘比特產生地址的其餘比特。
3.如權利要求2所述的方法,其特徵在於,還包括根據權利要求2中格雷碼計數器的相應計數值和所述同步處理後的指針或所述同步處理後指針的轉換值,確定異步FIFO是否寫滿或讀空並產生相應的標誌。
4.如權利要求1所述的方法,其特徵在於,所述同步邏輯電路進行同步處理,包括所述同步邏輯電路採用兩級寄存器對產生的指針進行同步處理。
5.一種異步FIFO的讀寫控制處理方法,其特徵在於,該方法包括將每一數據寬度對應的權利要求1所述同步處理後的指針進行寄存,並將寄存後的指針與寄存前的指針轉換為二進位值;將每一數據寬度對應的所述寄存後的指針轉換的二進位值減去所述寄存前的指針轉換的二進位值,獲得該數據寬度對應增量的二進位值;將各數據寬度對應增量的二進位值分別乘以對應的增量係數,獲得各數據寬度對應的增加值;將各數據寬度對應的增加值相加,獲得總的增加值作為解碼值輸出,供標誌產生電路確定異步FIFO是否寫滿或讀空並產生相應的標誌。
6.如權利要求5所述的方法,其特徵在於,還包括採用一格雷碼計數器對異步FIFO的數據讀寫次數進行計數,其中,對不同寬度的數據,該格雷碼計數器的計數長度不同;採用地址產生邏輯電路將該格雷碼計數器計數所得格雷碼的最高比特和次高比特異或以產生地址的最高比特,用其餘比特產生地址的其餘比特。
7.如權利要求6所述的方法,其特徵在於,還包括所述標誌產生電路根據所述格雷碼計數器的相應計數值和所述解碼值或所述解碼值的轉換值,確定異步FIFO是否寫滿或讀空並產生相應的標誌。
8.如權利要求5所述的方法,其特徵在於,所述同步處理,包括由同步邏輯電路採用兩級寄存器進行同步處理。
9.一種異步FIFO的讀寫控制處理電路,其特徵在於,包括至少兩個格雷碼計數器,用於對異步FIFO的數據讀寫次數進行計數,其中,對不同的數據寬度,由不同的格雷碼計數器對數據讀寫次數進行計數;各格雷碼計數器分別與同步邏輯電路相連,用於將計數所得格雷碼值作為編碼輸出,以產生指針供同步邏輯電路進行同步處理。
10.如權利要求9所述的電路,其特徵在於,還包括一格雷碼計數器,與地址產生邏輯電路相連,用於對異步FIFO的數據讀寫次數進行計數,其中,對不同寬度的數據,該格雷碼計數器的計數長度不同;所述地址產生邏輯電路,與該格雷碼計數器和異步FIFO相連,用於將該格雷碼計數器計數所得格雷碼的最高比特和次高比特異或以產生地址的最高比特,用其餘比特產生地址的其餘比特。
11.如權利要求10所述的電路,其特徵在於,還包括標誌產生電路,分別與權利要求10中格雷碼計數器和所述同步邏輯電路相連,用於根據權利要求10中格雷碼計數器的相應計數值和所述同步處理後的指針或所述同步處理後指針的轉換值,確定異步FIFO是否寫滿或讀空並產生相應的標誌。
12.如權利要求9所述的電路,其特徵在於,還包括所述同步邏輯電路,與產生指針的格雷碼計數器相連,用於採用兩級寄存器對產生的指針進行同步處理。
13.一種異步FIFO的讀寫控制處理電路,其特徵在於,包括格雷碼轉二進位碼邏輯電路,用於將每一數據寬度對應的權利要求9所述同步處理後的指針進行寄存,並將寄存後的指針與寄存前的指針轉換為二進位值;增量計算邏輯電路,用於將每一數據寬度對應的所述寄存後的指針轉換的二進位值減去所述寄存前的指針轉換的二進位值,獲得該數據寬度對應增量的二進位值;乘法器,用於將各數據寬度對應增量的二進位值分別乘以對應的增量係數,獲得各數據寬度對應的增加值;加法器,用於將各數據寬度對應的增加值相加,獲得總的增加值作為解碼值輸出,供標誌產生電路確定異步FIFO是否寫滿或讀空並產生相應的標誌。
14.如權利要求13所述的電路,其特徵在於,還包括一格雷碼計數器,與地址產生邏輯電路相連,用於對異步FIFO的數據讀寫次數進行計數,其中,對不同寬度的數據,該格雷碼計數器的計數長度不同;所述地址產生邏輯電路,與該格雷碼計數器和異步FIFO相連,用於將該格雷碼計數器計數所得格雷碼的最高比特和次高比特異或以產生地址的最高比特,用其餘比特產生地址的其餘比特。
15.如權利要求14所述的電路,其特徵在於,還包括所述標誌產生電路,分別與所述格雷碼計數器和所述加法器相連,用於根據所述格雷碼計數器的相應計數值和所述解碼值或所述解碼值的轉換值,確定異步FIFO是否寫滿或讀空並產生相應的標誌。
16.如權利要求13所述的電路,其特徵在於,還包括同步邏輯電路,分別與編碼輸出產生指針的格雷碼計數器和所述格雷碼轉二進位碼邏輯電路相連,用於採用兩級寄存器對編碼輸出產生的指針進行同步處理,並將同步處理後的指針提供給所述格雷碼轉二進位碼邏輯電路。
17.一種異步FIFO的讀寫控制處理系統,其特徵在於,包括編碼電路,包括至少兩個格雷碼計數器,用於對異步FIFO的數據讀寫次數進行計數,其中,對不同的數據寬度,由不同的格雷碼計數器對數據讀寫次數進行計數;各格雷碼計數器分別與同步邏輯電路相連,用於將計數所得格雷碼值作為編碼輸出,以產生指針供同步邏輯電路進行同步處理;解碼電路,包括格雷碼轉二進位碼邏輯電路,用於將每一數據寬度對應的所述同步處理後的指針進行寄存,並將寄存後的指針與寄存前的指針轉換為二進位值;增量計算邏輯電路,用於將每一數據寬度對應的所述寄存後的指針轉換的二進位值減去所述寄存前的指針轉換的二進位值,獲得該數據寬度對應增量的二進位值;乘法器,用於將各數據寬度對應增量的二進位值分別乘以對應的增量係數,獲得各數據寬度對應的增加值;加法器,用於將各數據寬度對應的增加值相加,獲得總的增加值作為解碼值輸出,供標誌產生電路確定異步FIFO是否寫滿或讀空並產生相應的標誌。
18.如權利要求17所述的系統,其特徵在於,還包括地址產生電路,包括一格雷碼計數器,與地址產生邏輯電路相連,用於對異步FIFO的數據讀寫次數進行計數,其中,對不同寬度的數據,該格雷碼計數器的計數長度不同;所述地址產生邏輯電路,與該格雷碼計數器和異步FIFO相連,用於將該格雷碼計數器計數所得格雷碼的最高比特和次高比特異或以產生地址的最高比特,用其餘比特產生地址的其餘比特。
19.如權利要求18所述的系統,其特徵在於,還包括標誌產生電路,分別與權利要求18中格雷碼計數器和所述加法器相連,用於根據權利要求18中格雷碼計數器的相應計數值和所述解碼值或所述解碼值的轉換值,確定異步FIFO是否寫滿或讀空並產生相應的標誌。
20.如權利要求17所述的系統,其特徵在於,還包括同步邏輯電路,與產生指針的格雷碼計數器相連,用於採用兩級寄存器對產生的指針進行同步處理。
全文摘要
本發明公開了一種異步先入先出存儲器FIFO的讀寫控制處理方法、電路及系統,其中包括採用至少兩個格雷碼計數器對異步FIFO的數據讀寫次數進行計數,其中,對不同的數據寬度,採用不同的格雷碼計數器對數據讀寫次數進行計數;將各格雷碼計數器計數所得格雷碼值作為編碼輸出,以產生指針供同步邏輯電路進行同步處理。採用本發明可以支持不同數據寬度的讀寫,並在保證正確同步的同時大大提高總線的利用率。
文檔編號G06F5/06GK102375720SQ20101025962
公開日2012年3月14日 申請日期2010年8月20日 優先權日2010年8月20日
發明者呂育文, 榮海濤 申請人:瑞薩電子(中國)有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀