Ram輸出寄存處理方法
【專利摘要】本發(fā)明提供了一種RAM輸出寄存處理方法,包括:判斷是否有與RAM輸出相連接的寄存器;如果有與RAM輸出相連接的寄存器,則判斷該寄存器是否需要壓縮;如果該寄存器需要壓縮,則判斷該寄存器是否有異步置位控制端;如果該寄存器沒有異步置位控制端,則根據(jù)該寄存器是否具有異步、同步清零控制端、時鐘使能端,進行相應處理。本發(fā)明通過對RAM輸出連接的各種寄存結(jié)構進行分類處理,解決了RAM在FPGA芯片中,采用FPGA專有宏單元RAMB實現(xiàn)的問題,處理效果達到和Synplify相當?shù)乃健?br>
【專利說明】以時輸出寄存處理方法
【技術領域】
[0001]本發(fā)明涉及集成電路設計領域,尤其涉及一種對??以綜合中輸出寄存的處理方法。
【背景技術】
[0002](^161(1 — ?1~0狀咖111^316 6^1:6八!'1^7),即現(xiàn)場可編程門陣列,它是在?八1、以匕⑶⑶等可編程器件的基礎上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(八310領域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。當前]?1~0^811111181316 6社6紅!'奶^)的20八發(fā)展技術主要掌控在幾大??6八和20八廠商,如乂1111^,八11:61^,871101)818等,國內(nèi)的技術發(fā)展還處在緊隨其后和模仿的階段。其中綜合是??以20八工具中的重要一環(huán)。
[0003]由于存儲器在各大電子產(chǎn)品中廣泛應用,因此綜合對存儲器的處理是非常重要的一部分,直接決定著產(chǎn)生的電子產(chǎn)品的性能優(yōu)劣。存儲器輸出寄存的結(jié)構存在于多種電子產(chǎn)品應用中,如果不處理,狀1在??以芯片上是通過分散的⑶
))+^(^11^101))實現(xiàn)的,這樣一方面浪費沖以的邏輯資源,另一方面分散結(jié)構組合成的狀1性能較差;而處理后的狀1在??以芯片上是通過??以專有的塊式狀1宏單元結(jié)構實現(xiàn),不僅可以節(jié)省邏輯資源,而且性能也很好。但是已公開的技術中并沒有專門針對存儲器
輸出寄存的解決方法。
[0004]因此,希望提出一種針對存儲器狀1輸出寄存的解決方法,來提升狀1性能。
【發(fā)明內(nèi)容】
[0005]本發(fā)明旨在提出專門針對存儲器輸出寄存的解決方法,來提升性能。
[0006]本發(fā)明提供了一種狀1輸出寄存處理方法,包括:
[0007]幻判斷是否有與狀1輸出相連接的寄存器;
[0008]幻如果有與狀1輸出相連接的寄存器,則判斷該寄存器是否需要壓縮;
[0009]0)如果該寄存器需要壓縮,則判斷該寄存器是否有異步置位控制端;
[0010](1)如果該寄存器沒有異步置位控制端,則根據(jù)該寄存器是否具有異步、同步清零控制端、時鐘使能端,進行相應處理。
[0011]與現(xiàn)有技術相比,采用本發(fā)明提供的技術方案具有如下優(yōu)點:通過對狀1輸出連接的各種寄存結(jié)構進行分類處理,解決了狀1在??以芯片中,采用??以專有宏單元狀18實現(xiàn)的問題,處理效果達到和37即11?7相當?shù)乃健?br>
【專利附圖】
【附圖說明】
[0012]通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本發(fā)明的其它特征、目的和優(yōu)點將會變得更明顯。
[0013]圖1為根據(jù)本發(fā)明實施例提供的狀1輸出寄存的處理方法實現(xiàn)流程示意圖;
[0014]圖2為根據(jù)本發(fā)明實施例的當寄存器具有異步清零控制端、且沒有使能控制端時寄存結(jié)構處理轉(zhuǎn)化圖;
[0015]圖3為根據(jù)本發(fā)明實施例的當寄存器含有同步清零控制端時的寄存結(jié)構處理轉(zhuǎn)化圖;
[0016]圖4為根據(jù)本發(fā)明實施例的當寄存器具有異步清零控制端、且使能控制端不同于狀1使能端的寄存結(jié)構處理轉(zhuǎn)化圖;
[0017]圖5為根據(jù)本發(fā)明實施例的當寄存器含有同步清零控制端且使能控制端不同于狀1使能端的寄存結(jié)構處理轉(zhuǎn)化圖;
[0018]圖6為根據(jù)本發(fā)明實施例的當寄存器具有異步清零控制端、且使能控制端同于狀1使能端的寄存結(jié)構處理轉(zhuǎn)化圖;
[0019]圖7為根據(jù)本發(fā)明實施例的當寄存器具有異步清零控制端、且使能控制端同于狀1使能端的寄存結(jié)構處理轉(zhuǎn)化圖。
【具體實施方式】
[0020]下面詳細描述本發(fā)明的實施例。
[0021]所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對本發(fā)明的限制。下文的公開提供了許多不同的實施例或例子用來實現(xiàn)本發(fā)明的不同結(jié)構。為了簡化本發(fā)明的公開,下文中對特定例子的部件和設置進行描述。當然,它們僅僅為示例,并且目的不在于限制本發(fā)明。此外,本發(fā)明可以在不同例子中重復參考數(shù)字和/或字母。這種重復是為了簡化和清楚的目的,其本身不指示所討論各種實施例和/或設置之間的關系。此外,本發(fā)明提供了的各種特定的器件和結(jié)構的例子,但是本領域普通技術人員可以意識到其他器件的可應用于性和/或其他結(jié)構的使用。
[0022]本發(fā)明提供了一種針對??以綜合中狀1輸出寄存的處理方法。下面,將通過本發(fā)明的一個實施例對圖1所示的針對??(仏綜合中狀1輸出寄存的處理方法進行具體描述。如圖1所示,本發(fā)明所提供的針對??以綜合中狀1輸出寄存的處理方法包括:
[0023]一個對狀1輸出寄存器完整的處理首先要從對狀1輸出結(jié)構的分析開始,第一步要確定的就是狀1是否還有寄存器,如步驟3,如沒有寄存器則處理結(jié)束,如步驟V ;在確定寄存器存在后,第二步判斷寄存器是否需要壓縮,如步驟匕如果不需要那也可直接結(jié)束處理,如步驟V ;如果需要則接著進行第三步,根據(jù)是否含有異步置位控制端的寄存結(jié)構將
輸出寄存結(jié)構分類:即輸出寄存結(jié)構含有異步置位控制端和輸出寄存結(jié)構不含有異步置位控制端兩類,如果所述狀1輸出寄存結(jié)構含有異步置位控制端,則不進行任何操作,處理結(jié)束。如果所述狀1輸出寄存結(jié)構不含有異步置位控制端,則需要對狀1輸出寄存結(jié)構根據(jù)是否含有部和⑶進行進一步分類,并根據(jù)不同的結(jié)構進行不同的操作,具體如下:
[0024]所述不含有異步置位控制端的狀1輸出寄存結(jié)構包括以下八種結(jié)構,分別是:
[0025]不含有控制端的寄存器、含有異步清零控制端寄存結(jié)構、含有同步清零控制端寄存結(jié)構、含有異步清零控制端且使能控制端不同于使能端的寄存結(jié)構處、含有同步清零控制端且使能控制端不同于狀1使能端的寄存結(jié)構、含有異步清零控制端且使能控制端同于使能端的寄存結(jié)構、含有同步清零控制端且使能控制端同于使能端的寄存結(jié)構、含有同步置位控制端的寄存結(jié)構。
[0026]對上述八種結(jié)構的識別順序和所執(zhí)行的操作如圖1所示,具體的,首先判斷所述不含有異步置位控制端的輸出寄存結(jié)構是否有異步清零控制端,如步驟0。如果該寄存器沒有異步置位控制端,則處理結(jié)束,如步驟1。如果該寄存器沒有異步置位控制端,則根據(jù)該寄存器是否具有異步、同步清零控制端、時鐘使能端,進行相應處理,如步驟1
[0027]步驟(1包括:
[0028](11)判斷該寄存器是否具有異步清零控制端,且如果該寄存器具有異步清零控制端,則執(zhí)行第一處理。
[0029]第一處理包括:
[0030]繼續(xù)判定是否包含使能控制端,如果沒有,則判定結(jié)構為含有異步清零控制端寄存結(jié)構需進行如圖2所示處理:
[0031]原來的的0引腳改為接似’即信號為全“1”,的輸出引腳0改為接到與如61:相連;
[0032]增加與邏輯門,所述與邏輯門的兩個輸入分別來源于麵的引腳輸出和如的引線,與邏輯門的輸出連接到原的0引腳;
[0033]的工作模式改為同步讀,先讀。
[0034]此步處理完成后,所有針對??以綜合中狀1輸出寄存的處理結(jié)束。
[0035]如果所述不含有異步置位控制端含有異步清零控制端的狀1輸出寄存結(jié)構含有使能控制端,則根據(jù)使能控制端與使能端是否相同分為:含有異步清零控制端且使能控制端不同于使能端的寄存結(jié)構和含有異步清零控制端且使能控制端同于使能端的寄存結(jié)構兩種寄存結(jié)構,分別對兩種結(jié)構進行如下處理:
[0036]對含有異步清零控制端且時鐘使能控制端不同于狀1使能端的寄存結(jié)構,進行如圖4所示處理:
[0037]把原單端口結(jié)構改為雙端口結(jié)構,原來的單端口的端口作為第一端口?01'認,并且修改為只有寫數(shù)據(jù)、沒有讀的結(jié)構,新增的端口定義為第二端口?01^8,第二端口為只讀數(shù)據(jù)、沒有寫的結(jié)構,將引腳接到到新端口上,工作模式改為同步寫并且先寫模式;增加新的控制端2他,新控制端來源于時鐘使能控制端,工作模式為同步讀并且先讀模式;
[0038]將原來的寄存器的0引腳接似,0引腳如的相連接;
[0039]增加與邏輯門,兩個輸入分別來源于狀1的引腳和如的引腳,與邏輯門的輸出連接到原?IX:的0引腳。
[0040]此步處理完成后,所有針對??以綜合中狀1輸出寄存的處理結(jié)束。
[0041]對含有異步清零控制端且時鐘使能控制端同于麵使能端的寄存結(jié)構,進行如圖6所示處理:
[0042]將原來的寄存器的0引腳接乂⑶,0引腳連接如6引線七;
[0043]增加與邏輯門,兩個輸入分別接狀1的引腳和如的引線,與邏輯門的輸出連接到原的0引腳;
[0044]狀1增加冊引腳,并且連接到寄存器的時鐘使能控制端;
[0045]狀1的工作模式改為同步讀并且先讀。
[0046]此步處理完成后,所有針對??以綜合中狀1輸出寄存的處理結(jié)束。
[0047](12)如果該寄存器不具有異步清零控制端,則判斷該寄存器是否同時具有同步清零控制端和時鐘使能端,且如果該寄存器同時具有同步清零控制端和時鐘使能端,則執(zhí)行第二處理。
[0048]第二處理包括:
[0049]如果所述不含有異步置位控制端含有同步清零控制端的狀1輸出寄存結(jié)構含有使能控制端,則根據(jù)使能控制端與使能端是否相同分為:含有同步清零控制端且使能控制端不同于使能端的寄存結(jié)構和含有同步清零控制端且使能控制端同于使能端的寄存結(jié)構兩種寄存結(jié)構,分別對兩種結(jié)構進行如下處理:
[0050]對含有同步清零控制端且時鐘使能控制端不同于狀1使能端的寄存結(jié)構,進行如圖5處理:
[0051]將原來的寄存器改為不含有同步清零控制端且時鐘使能控制端不同于狀1使能端的寄存結(jié)構輸出連接到如6七2引線上,時鐘使能控制端連接到如6七1引線;
[0052]增加或邏輯門,輸入為原寄存器的時鐘使能控制端和清零控制端連接的信號,輸出連接到01:1引腳上;
[0053]增加新的寄存器,新寄存器的0引腳連接到引腳上,0引腳連接到如的1引線;
[0054]增加多路選擇器,數(shù)據(jù)輸入分別來源于狀1的00引腳和新的0引腳和如6七2引線,輸出連接到原寄存器的0引腳;
[0055]狀1的直接模式改為同步讀并且先讀模式,增加3部引腳,并且接地。
[0056]此步處理完成后,所有針對??以綜合中狀1輸出寄存的處理結(jié)束。
[0057]對含有同步清零控制端且時鐘使能控制端同于麵使能端的寄存結(jié)構,進行如圖7所示處理:
[0058]將原來的寄存器變?yōu)榈?引腳連接到如6七2引線上,時鐘使能控制端連接到¢161:1引線;
[0059]增加或邏輯門,兩個輸入分別為原寄存器的時鐘使能控制端和清零控制端連接的信號,輸出連接到新的引腳上;
[0060]增加新的寄存器,新寄存器的0連接到巧1引腳上,0引腳與如的1引線相連;
[0061]增加多路選擇器,數(shù)據(jù)輸入分別來源于狀1的00引腳和新的0引腳,輸出連接到原寄存器的0引腳;
[0062]狀1的直接模式改為同步讀并且先讀模式,增加3部引腳,并且連接到寄存器的清零控制端。
[0063]此步處理完成后,所有針對??以綜合中狀1輸出寄存的處理結(jié)束。
[0064](13)如果該寄存器不同時具有同步清零控制端和時鐘使能端,則判斷該寄存器是否具有同步清零控制端,且如果該寄存器具有同步清零控制端,則執(zhí)行第三處理。
[0065]第三處理包括:
[0066]繼續(xù)判定所述不含有異步置位控制端的狀1輸出寄存結(jié)構是否含有同步清零控制端,如果有,則繼續(xù)判定是否包含使能控制端,如果沒有,則判斷結(jié)構為含有同步清零控制端寄存結(jié)構需進行如圖3所示處理:
[0067]刪除尺;
[0068]為狀1增加3部引腳;
[0069]狀1的模式改為同步讀,先讀。
[0070]處理完成后,所述含有同步清零控制端寄存結(jié)構[0(:變?yōu)椴缓锌刂贫说募拇嫫鳎瑒t相應進行如下處理:
[0071]刪除?0;
[0072]狀1的模式改為同步讀,先讀此步處理完成后,所有針對仙II綜合中狀1輸出寄存的處理結(jié)束。
[0073](14)如果該寄存器不具有同步清零控制端,則判斷該寄存器是否具有時鐘使能端,且如果該寄存器具有時鐘使能端,則進行第四處理,如果該寄存器不具有時鐘使能端,則進行該寄存器不含控制端的處理。
[0074]第四處理包括:
[0075]刪除具有時鐘使能端的寄存器;
[0076]為狀1增加3部引腳,設置狀1的3尺乂八1值為狀七£1,1(1讓{1};
[0077]將的模式改為同步讀,先讀;
[0078]處理完成后,所述含有同步清零控制端寄存結(jié)構[0(:變?yōu)椴缓锌刂贫说募拇嫫?,則相應進行如下處理:
[0079]刪除;
[0080]狀1的模式改為同步讀,先讀。
[0081]此步處理完成后,所有針對??以綜合中狀1輸出寄存的處理結(jié)束。
[0082]與現(xiàn)有技術相比,本發(fā)明具有以下優(yōu)點:通過對狀1輸出連接的各種寄存結(jié)構進行分類處理,解決了狀1在??以芯片中,采用??以專有宏單元狀18實現(xiàn)的問題,處理效果達到和37即11?7相當?shù)乃健?br>
[0083]雖然關于示例實施例及其優(yōu)點已經(jīng)詳細說明,應當理解在不脫離本發(fā)明的精神和所附權利要求限定的保護范圍的情況下,可以對這些實施例進行各種變化、替換和修改。對于其他例子,本領域的普通技術人員應當容易理解在保持本發(fā)明保護范圍內(nèi)的同時,工藝步驟的次序可以變化。
[0084]此外,本發(fā)明的應用范圍不局限于說明書中描述的特定實施例的工藝、機構、制造、物質(zhì)組成、手段、方法及步驟。從本發(fā)明的公開內(nèi)容,作為本領域的普通技術人員將容易地理解,對于目前已存在或者以后即將開發(fā)出的工藝、機構、制造、物質(zhì)組成、手段、方法或步驟,其中它們執(zhí)行與本發(fā)明描述的對應實施例大體相同的功能或者獲得大體相同的結(jié)果,依照本發(fā)明可以對它們進行應用。因此,本發(fā)明所附權利要求旨在將這些工藝、機構、制造、物質(zhì)組成、手段、方法或步驟包含在其保護范圍內(nèi)。
【權利要求】
1.一種RAM輸出寄存處理方法,包括: a)判斷是否有與RAM輸出相連接的寄存器; b)如果有與RAM輸出相連接的寄存器,則判斷該寄存器是否需要壓縮; c)如果該寄存器需要壓縮,則判斷該寄存器是否有異步置位控制端; d)如果該寄存器沒有異步置位控制端,則根據(jù)該寄存器是否具有異步、同步清零控制端、時鐘使能端,進行相應處理。
2.根據(jù)權利要求1的RAM輸出寄存處理方法,還包括:b’)如果沒有與RAM輸出相連接的寄存器,則處理結(jié)束。
3.根據(jù)權利要求1的RAM輸出寄存處理方法,還包括:c’)如果該寄存器不需要壓縮,則處理結(jié)束。
4.根據(jù)權利要求1的RAM輸出寄存處理方法,還包括:d’)如果該寄存器沒有異步置位控制端,則處理結(jié)束。
5.根據(jù)權利要求1的RAM輸出寄存處理方法,其中步驟d)包括: dl)判斷該寄存器是否具有異步清零控制端,且如果該寄存器具有異步清零控制端,則執(zhí)行第一處理; d2)如果該寄存器不具有異步清零控制端,則判斷該寄存器是否同時具有同步清零控制端和時鐘使能端,且如果該寄存器同時具有同步清零控制端和時鐘使能端,則執(zhí)行第二處理; d3)如果該寄存器不同時具有同步清零控制端和時鐘使能端,則判斷該寄存器是否具有同步清零控制端,且如果該寄存器具有同步清零控制端,則執(zhí)行第三處理; d4)如果該寄存器不具有同步清零控制端,則判斷該寄存器是否具有時鐘使能端,且如果該寄存器具有時鐘使能端,則進行第四處理,如果該寄存器不具有時鐘使能端,則進行該寄存器不含控制端的處理。
6.根據(jù)權利要求5的RAM輸出寄存處理方法,其中第一處理包括: dll)判斷該寄存器是否包含使能控制端,如果不包含,則: 將該寄存器的D引腳改為接電源電壓,即信號“ 1”,該寄存器的輸出引腳Q改為Qnet引線.-^4 , 增加與邏輯門,所述與邏輯門的兩個輸入分別來源于RAM的引腳輸出和該寄存器的Qnet引線; RAM的工作模式改為同步讀、先讀; D12)如果該寄存器包含使能控制端,則判斷該使能控制端與RAM的使能端是否相同; D13)如果該使能控制端與RAM的使能端不同,則 把RAM的單端口作為第一端口,并且修改為只寫、不能讀,給RAM新增第二端口,第二端口為只讀、不能寫,將RAM的引腳接到第二端口上,工作模式改為同步寫并且先寫模式,增加新控制端,該新控制端來源于時鐘使能控制端,工作模式為同步讀并且先讀模式; 將該寄存器的D引腳接電源電壓,Q引腳作為Qnet引線; 增加與邏輯門,兩個輸入分別來源于RAM的引腳和該寄存器的Qnet引線; D14)如果該使能控制端與RAM的使能端相同,則 將該寄存器的D引腳接電源電壓,Q引腳作為Qnet引線; 增加與邏輯門,兩個輸入分別來源于RAM的引腳和該寄存器的Qnet引線; 給RAM增加EN引腳,其連接到該寄存器的使能控制端; RAM的工作模式改為同步讀并且先讀。
7.根據(jù)權利要求5的RAM輸出寄存處理方法,其中第二處理包括: D21)判斷該使能控制端與RAM的使能端是否相同; D22)如果該使能控制端不同于RAM的使能端,則 將該寄存器改為不含有同步清零控制端且使能控制端不同于RAM的使能端的寄存器,其輸出作為Qnet2引線; 增加第二寄存器,第二寄存器的Q引腳作為Qnetl引線,連接到寄存器的使能控制端;增加或邏輯門,具有使能控制端和清零控制端,其輸出作為ctl引腳連接到第二寄存器的D引腳; 增加多路選擇器,輸入分別來源于RAM的DO引腳和寄存器的Q引腳; 將RAM的模式改為同步讀并且先讀模式,為其增加SSR引腳,并且接地; D23)如果該使能控制端同于RAM的使能端,貝Ij 將該寄存器變?yōu)椴缓型角辶憧刂贫饲沂鼓芸刂贫送赗AM的使能端的寄存器,該寄存器的Q引腳作為Qnet2引線; 增加第二寄存器,其Q引腳作為Qnetl引線連接到寄存器的使能控制端; 增加或邏輯門,具有使能控制端和清零控制端作為輸入,ctl引腳連接到第二寄存器, 增加多路選擇器,輸入分別來源于RAM的DO引腳和新該寄存器的Q引腳; RAM的模式改為同步讀并且先讀模式,為其增加SSR引腳,并且連接到寄存器的清零控制端。
8.根據(jù)權利要求5的RAM輸出寄存處理方法,其中第三處理包括: 刪除含有同步清零控制端的寄存器; 為RAM增加SSR引腳; 將RAM的模式改為同步讀,先讀; 進行該寄存器不含控制端的處理。
9.根據(jù)權利要求5的RAM輸出寄存處理方法,其中第四處理包括: 刪除具有時鐘使能端的寄存器; 為 RAM 增加 SSR 引腳,設置 RAM 的 SRVAL 值為 RAM_data_width {1}; 將RAM的模式改為同步讀,先讀; 進行該寄存器不含控制端的處理。
10.根據(jù)權利要求1、8或9的RAM輸出寄存處理方法,其中進行該寄存器不含控制端的處理: 刪除不含控制端的寄存器; 將RAM的模式改為同步讀。
【文檔編號】G11C8/12GK104347105SQ201410643751
【公開日】2015年2月11日 申請日期:2014年11月7日 優(yōu)先權日:2014年11月7日
【發(fā)明者】李艷, 張東曉, 于芳 申請人:中國科學院微電子研究所