两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

查找表電路的制作方法

文檔序號(hào):7545404閱讀:429來(lái)源:國(guó)知局
查找表電路的制作方法
【專利摘要】本發(fā)明涉及查找表電路。有利于在現(xiàn)場(chǎng)可編程門陣列(FPGA)的查找表(LUT)中將存儲(chǔ)器單元用作用戶可存取的分布式RAM的電路。例如,與LUT相關(guān)而且在用戶RAM模式的讀數(shù)據(jù)路徑中不需要的寄存器可被用于寄存用戶RAM模式中用于寫的數(shù)據(jù)。另一示例是,與LUT相關(guān)的以其他方式不需要的寄存器可被用于為用戶RAM模式提供同步讀地址信號(hào)。示出的若干其他功能也同樣有利于在FPGA中要求最?。ㄈ绻械脑挘└郊与娐返挠脩鬜AM模式。
【專利說明】查找表電路
[0001]本申請(qǐng)是分案申請(qǐng),原申請(qǐng)的申請(qǐng)日為2006年12月05日,申請(qǐng)?zhí)枮?00610164526.9,發(fā)明名稱為“現(xiàn)場(chǎng)可編程門陣列集成電路器件的分布式存儲(chǔ)器”。
【技術(shù)領(lǐng)域】
[0002]本發(fā)明涉及可編程邏輯器件(PLD),例如通常稱為現(xiàn)場(chǎng)可編程門陣列(FPGA)的器件。特別地,本發(fā)明涉及在FPGA中提供存儲(chǔ)器電路,F(xiàn)PGA用戶可在該器件正常邏輯操作期間將所述存儲(chǔ)器電路用作隨機(jī)存取存儲(chǔ)器(RAM)。更特別地,本發(fā)明涉及選擇性地使用該器件上的、不需要正常的基于查找表的邏輯的查找表(LUT)電路來(lái)提供上述用戶可存取RAM。這樣的RAM可被稱為分布式RAM,因?yàn)槠浞植荚谠撈骷娜舾蓚€(gè)LUT的電路上,而不是在專用用戶RAM電路的塊中。
【背景技術(shù)】
[0003]Lewis等人于2004年7月22日提交的美國(guó)專利申請(qǐng)10/897,743示出了在FPGA中提供分布式RAM的改進(jìn)電路。(在此將Lewis等人這一參考文獻(xiàn)以引用方式并入本文。)例如,Lewis等人的參考文獻(xiàn)中示出了 FPGA上若干個(gè)均包括LUT的邏輯元件(LE)共享單個(gè)寫入解碼器以減少提供FPGA分布式用戶RAM模式能力所必須增加的寫地址電路的數(shù)量。
[0004]對(duì)Lewis等人的參考文獻(xiàn)中所示的一般類型電路進(jìn)行各種擴(kuò)展和附加在許多情況下是有益的。例如,用戶經(jīng)常需要同步寫入,這樣用戶不需要為寫選通提供精確的定時(shí)信號(hào)。這使得有必要提供寫地址和寫數(shù)據(jù)寄存器,但如果能避免為此功能提供專用硬件(電路)則更為理想。
[0005]可能對(duì)Lewis等人參考文獻(xiàn)所示內(nèi)容進(jìn)行的有益擴(kuò)展和附加的另一示例是將那些原理應(yīng)用到可分裂的LE,以實(shí)現(xiàn)一個(gè)邏輯功能尺寸范圍(例如六輸入基于LUT邏輯功能和兩個(gè)五輸入基于LUT邏輯功能)。
[0006]對(duì)Lewis等人參考文獻(xiàn)所示內(nèi)容進(jìn)行的有益擴(kuò)展和附加的另一示例涉及支持同步讀功能。此外,用戶常常更喜歡同步讀,但如果能避免構(gòu)造專用硬件來(lái)支持讀地址寄存器則更為理想。

【發(fā)明內(nèi)容】

[0007]為便于利用FPGA上要求的很少的附加電路在FPGA上提供用戶可存取的分布式RAM,可使用邏輯模塊的讀數(shù)據(jù)路徑中不需要的邏輯模塊中的寄存器來(lái)寄存將被寫入用戶RAM模式的分布式RAM的數(shù)據(jù)信號(hào)。
[0008]有助于用戶RAM模式的另一示例是,可使用讀數(shù)據(jù)路徑中不需要的邏輯模塊中的寄存器為從用戶RAM模式的分布式RAM中讀取提供已被寄存的讀地址信號(hào)。
[0009]根據(jù)本發(fā)明的另一示例是使用邏輯模塊的一個(gè)輸入端(該邏輯模塊不需要的那個(gè)輸入端),作為在用戶寫模式中控制寫入分布式RAM的寫地址解碼器電路所用的附加寫地址信號(hào)的源。[0010]少量的附加多路復(fù)用可被添加于邏輯模塊,以便于將邏輯模塊中的RAM單元用作不同深度和/或?qū)挾鹊腞AM。其他方式也可有利于提供不同深度和/或?qū)挾鹊姆植际絉AM,如通過包括寫地址解碼器的深度模式配置位,在取決于該位的發(fā)信號(hào)模式的分布式RAM中生成寫信號(hào)。
[0011]可為寫地址解碼器添加一個(gè)或多個(gè)寄存器以便于為該解碼器服務(wù)的分布式RAM提供同步寫入。寫地址解碼器也可配有定時(shí)電路,為分布式RAM的寫入排序。
[0012]參照附圖與以下詳細(xì)說明本發(fā)明的其他功能、其性質(zhì)及各種優(yōu)點(diǎn)將更明顯。
【專利附圖】

【附圖說明】
[0013]圖1是根據(jù)本發(fā)明的說明性電路的簡(jiǎn)化示意框圖。
[0014]圖2是根據(jù)本發(fā)明的另一說明性實(shí)施例的簡(jiǎn)化示意框圖。
[0015]圖3是根據(jù)本發(fā)明的附加說明性電路的簡(jiǎn)化示意框圖。
[0016]圖4是根據(jù)本發(fā)明的、圖3所示內(nèi)容一部分的說明性實(shí)施例的更詳細(xì)的簡(jiǎn)化示意框圖。
[0017]圖5是根據(jù)本發(fā)明的、使用圖4電路所產(chǎn)生的信號(hào)的說明性電路的簡(jiǎn)化示意框圖。
[0018]圖6是根據(jù)本發(fā)明的、圖3或圖4所示內(nèi)容一部分的替代性實(shí)施例的簡(jiǎn)化示意框圖。
[0019]圖7是能夠根據(jù)本發(fā)明被使用的電路的說明性實(shí)施例的簡(jiǎn)化示意框圖。
[0020]圖8是與圖1或圖2大致相似的簡(jiǎn)化示意框圖,示出了本發(fā)明其他可能功能的說明性實(shí)施例。
[0021]圖9是根據(jù)圖8所示的本發(fā)明一方面的另一電路的說明性實(shí)施例的簡(jiǎn)化示意框圖。
【具體實(shí)施方式】
[0022]圖1示出了基本眾所周知但根據(jù)本發(fā)明加以某些增強(qiáng)的FPGA LE(或自適應(yīng)邏輯模塊(ALM)或自適應(yīng)邏輯元件(ALE))10的示例。圖1中的已知元件由兩位參照數(shù)字表示。新的或大幅改變的元件由三位參照數(shù)字表示。已知元件包括多路復(fù)用器30a-d、40-l至40-4、50-1至50-4、60-l、60-2、70a和70b。已知元件也包括三輸入查找表(3-LUT) 20-1至20-8以及寄存器80a、80b。圖1所示互聯(lián)電路中多數(shù)為已知。但反饋連接IlOaUlOb是為本發(fā)明目的添加的。此外,圖1中,為了便于追蹤可根據(jù)本發(fā)明使用的說明性信號(hào)路徑,該信號(hào)路徑用粗線強(qiáng)調(diào),盡管實(shí)際僅有該路徑的IlOb部分是為本發(fā)明目的新添的。
[0023]可以理解圖1中3-LUT20各自可以上述Lewis等人參考文獻(xiàn)中所示任何方式構(gòu)造。3-LUT20各自包括八個(gè)可選擇作為分布式用戶RAM使用的配置RAM (CRAM)單元或位。(本文中為方便起見,元件20將通稱為3-LUT,盡管可以理解,他們可用作LUT或分布式用戶RAM)。各3-LUT20的讀選擇控制信號(hào)在施加到(并經(jīng)過)3-LUT的三條垂直引線上。因此,例如,ALM輸入A和B是讀選擇控制信號(hào)的其中兩個(gè),這兩個(gè)信號(hào)被施加到所有八個(gè)3-LUT20。施加到3-LUT20-1至20-4的第三個(gè)讀選擇控制信號(hào)是ALM輸入信號(hào)DC0。施加到3-LUT20-5至20-8的第三個(gè)讀選擇控制信號(hào)是ALM輸入信號(hào)DCl。如果需要一起使用3-LUT20-1至20-8所有RAM單元(如,提供一個(gè)六輸入邏輯功能或一個(gè)64*1的用戶RAM),那么DCO和DCl將具有同一邏輯值。另一方面,如果需要分裂ALMlO以提供兩個(gè)較小邏輯功能(即兩個(gè)五輸入邏輯功能或兩個(gè)四輸入邏輯功能)或提供兩個(gè)“較淺”用戶RAM片(如32*2RAM)那么DCO和DCl可為不同值的輸入。
[0024]各3-LUT20的其他所示輸入是寫數(shù)據(jù)(WD)信號(hào)和寫使能(WE)信號(hào)。這些信號(hào)的性質(zhì)及其在3-LUT20中的使用通過上述Lewis等人的參考文獻(xiàn)將很明顯。提供了兩個(gè)寫使能信號(hào)線120a和120b以便于將ALMlO中的RAM作為64*1或32*2RAM使用。寫使能信號(hào)線120a服務(wù)于3-LUT20-5至20-8 ;使能信號(hào)線120b服務(wù)于3-LUT20-1至20-4。
[0025]圖1中未示出,但在ALMlO電路中存在的是優(yōu)選為以類似Lewis等人的參考文獻(xiàn)所示任一方式施加到各個(gè)3-LUT20-1至20-8的寫解碼器輸出信號(hào)。如Lewis等人參考文獻(xiàn)所示使用之外,這些寫解碼器輸出信號(hào)優(yōu)選以該參考文獻(xiàn)中所示任一方式生成。本說明書后文中示出并描述了根據(jù)本發(fā)明的各種可能寫解碼器的修改。
[0026]回到讀,RAM單元輸出選擇的前三級(jí)是在3-LUT20中在以及已經(jīng)描述的ALM輸入信號(hào)(即,A、B、DCO和DCl)的控制下執(zhí)行的。其他級(jí)的讀選擇是由可由ALM輸入DCO、DCl、E0,EUFO和Fl以各種方式控制的多路復(fù)用器40、50和60執(zhí)行。兩個(gè)寄存器80或其一的輸出信號(hào)也可用于提供一些多路復(fù)用器的選擇控制。多路復(fù)用器30用于選擇如何將一些可能的選擇控制信號(hào)實(shí)際路由至多路復(fù)用器40、50并供其使用。(多路復(fù)用器30 —般由圖1未示出的配置RAM (CRAM)單元可編程控制。一般,所有讀選擇的最終結(jié)果為兩個(gè)多路復(fù)用器60或其一輸出端的64選I選擇或兩個(gè)獨(dú)立的32選I選擇,分別在各多路復(fù)用器60的輸出端。)
[0027]如果需要,多路復(fù)用器60-1的輸出信號(hào)可被施加到并寄存于寄存器80a。多路復(fù)用器60-2的輸出信號(hào)可被施加到并寄存于寄存器80b。多路復(fù)用器70a允許某些其他信號(hào)施加到并寄存于寄存器80a。類似,多路復(fù)用器70b允許某些其他信號(hào)施加到并寄存于寄存器80b。多路復(fù)用器70 —般由圖1中未示出的CRAM單元可編程控制。多路復(fù)用器60的輸出可為ALMlO的未寄存輸出。多路復(fù)用器80的輸出可為ALMlO的已寄存輸出。該寄存器輸出也可反饋給ALM,如圖所示。根據(jù)本發(fā)明(并如以上所提),寄存器80的反饋通過連接110至3-LUT20的寫數(shù)據(jù)輸入增強(qiáng)。
[0028]從前述可看出圖1示出了本發(fā)明的以下第一方面。在可分裂LUT中,LUT的CRAM單元被分為至少兩分區(qū)(如,一方面,3-LUT20-1至20-4內(nèi)的CRAM單元,另一方面,3-LUT20-5至20-8內(nèi)的CRAM單元)。這些互斥的分區(qū)各自具有自己的寫入驅(qū)動(dòng)器和寫數(shù)據(jù)輸入(由引線IlOa和IlOb指示)。各分區(qū)也有一寫使能線120a或120b。在一種分布式用戶RAM運(yùn)行模式中,僅有單個(gè)寫使能線被斷言(依賴于某地址位的值),一個(gè)數(shù)據(jù)位被寫入由斷言寫使能信號(hào)所啟用的分區(qū)中的一個(gè)CRAM單元中。這對(duì)應(yīng)于LUT RAM的最深模式(如,64*1模式)。在另一用戶RAM運(yùn)行模式中,一個(gè)以上寫使能線120被斷言,且多數(shù)據(jù)位被寫入LUTRAM的一個(gè)以上分區(qū)中。這對(duì)應(yīng)于存儲(chǔ)器的較淺模式(如,32*2模式)。
[0029]圖1也示出了本發(fā)明的另一方面。ALMlO的已知電路允許其在有時(shí)被稱為壓縮寄存器模式的模式中運(yùn)行。該模式中一個(gè)寄存器80可被用于寄存ALM的輸入信號(hào)E或F(或兩個(gè)寄存器80均可這樣使用)。例如,ALM輸入信號(hào)EO或Fl可經(jīng)多路復(fù)用器70a被施加到寄存器80a。同樣,ALM輸入信號(hào)El或H)可經(jīng)多路復(fù)用器70b被施加到寄存器80b。該功能(附加寄存器反饋路徑110)有助于ALMlO在分布式RAM模式中提供低成本的同步寫入,如以下詳細(xì)所述。
[0030]在圖1中,粗線表示由底部寄存器或觸發(fā)器(FF)SOb鎖存的、用于壓縮寄存器模式寫數(shù)據(jù)的輸入信號(hào)H)。通過將FF的輸出用作3-LUT20-5至20_8的寫驅(qū)動(dòng)器的輸入,可以較少或零附加硬件成本提供寫數(shù)據(jù)寄存器。圖1示出了如何配置ALMlO使用一壓縮寄存器(80b)來(lái)鎖存寫數(shù)據(jù)并為該寫數(shù)據(jù)提供同步運(yùn)行。可以看出,在32*2模式中,兩個(gè)FFSOa和80b可被用于提供輸入數(shù)據(jù)的兩個(gè)不同位。
[0031]在圖1中,當(dāng)LUT RAM配置為最深(64*1)模式時(shí)寫數(shù)據(jù)被路由至所有必要ALMlO輸入引腳(H)和F1),因?yàn)榭梢允褂?路徑IlOa和IlOb的)幾個(gè)不同寫驅(qū)動(dòng)器中任何一個(gè)來(lái)寫入某分區(qū)(即20-1至20-4或20-5至20_8)。但是,沒有充足的讀路徑可用,因?yàn)镠)和Fl之一用于控制LUT中的最終多路復(fù)用器級(jí)60。在本發(fā)明實(shí)施例的另一方面,為至少一寫驅(qū)動(dòng)器輸入提供了多路復(fù)用器(130,圖2),使得寫驅(qū)動(dòng)器可配置在(I)為至少一其他寫驅(qū)動(dòng)器提供的同一寫數(shù)據(jù)或(2)不同輸入中選擇。這樣,R)/F1ALM10’(圖2)輸入之一可被用作完整讀地址的一部分。
[0032]參照?qǐng)D2更具體地扼要重述以上所述,與圖1 一樣,ALM10’包括(3-LUT20中的)64CRAM位并被分為兩個(gè)分區(qū)(20-1至20_4以及20_5至20_8),使得ALM可作為64*1或32*2RAM運(yùn)行。這包括提供兩個(gè)寫使能線120a和120b和兩個(gè)寫數(shù)據(jù)線IlOa和110c。寫數(shù)據(jù)多路復(fù)用器130可為兩個(gè)分區(qū)提供同一數(shù)據(jù)(64*1模式)。換句話說,在此模式中,多路復(fù)用器連接引線IlOa至引線110c??蛇x擇地,多路復(fù)用器可連接引線IlOb至引線110c,以使得可為L(zhǎng)UT RAM兩個(gè)分區(qū)提供不同數(shù)據(jù)(32*2模式)。(多路復(fù)用器130 —般由圖2中未示出的CRAM位可編程控制。)在圖2所示說明性實(shí)施例中,在最深模式中,F(xiàn)l被用作寫數(shù)據(jù),F(xiàn)O被用作讀地址。但是可以理解,這只是設(shè)計(jì)選擇的問題,如果需要,可以顛倒。
[0033]繼續(xù)圖2所示的另一方面,如果ALM10’被用于64*1模式,可以看出一個(gè)附加FF(80b)可用。這可用于寄存讀地址的一個(gè)位。一組ALM (被稱為邏輯陣列塊或LAB (見上述Lewis等人的參考文獻(xiàn)))中的所有ALM可經(jīng)服務(wù)LAB中所有ALM但一般不超出該LAB的本地互聯(lián)資源存取該讀地址位。(圖3中本地導(dǎo)線14是該本地互聯(lián)資源的示例。)寄存的讀地址位可從本地線連至LAB中一個(gè)或多個(gè)LUTRAM的讀地址引腳A/B/等之一。例如,圖2示出了壓縮寄存器模式中ALM10’輸入El被施加到寄存器80b。然后寄存器80b的輸出(作為同步讀地址位)對(duì)于LAB中包括ALM10’的所有ALM可用。該可用性經(jīng)過服務(wù)LAB中所有ALM的本地線路(14,圖3)之一提供。這樣,讀地址寄存器可在與LUT RAM相同的LAB中執(zhí)行。如果提供了邏輯和LUT RAM的可選ALM級(jí)配置(選項(xiàng))且被執(zhí)行的存儲(chǔ)器不使用LAB中所有ALM,也可使用該結(jié)構(gòu)。一個(gè)可能的示例是如果LAB中一些ALM提供分布式存儲(chǔ)器,而LAB中的其他ALM執(zhí)行不要求使用一個(gè)或多個(gè)邏輯ALM中的兩個(gè)寄存器80的邏輯時(shí),可使用未使用的邏輯ALM寄存器來(lái)幫助寄存其他ALM提供的存儲(chǔ)器的讀地址。
[0034]如上所述,圖2示出了如何使用ALM輸入El提供讀地址信號(hào)。這確保了讀地址寄存器靠近LUT執(zhí)行分布式RAM,并提供兩個(gè)高速讀路徑,減少限制,并路由軟件以保持讀地址靠近分布式RAM。
[0035]本發(fā)明的另一方法為同步寫地址提供了較佳寫定時(shí),并消除了用戶這么做的需要。另外,這是以低成本達(dá)成的。圖3示出了上述Lewis等人參考文獻(xiàn)中所示一些方面,但附加了根據(jù)本發(fā)明的一些功能。代表LAB12包括幾個(gè)ALMlO或10’。LAB中ALM的運(yùn)行的某些方面由所謂的由LAB中所有ALM公用且共享的控制信號(hào)邏輯電路92選擇并可能在某種程度上控制的次信號(hào)控制。例如,該次信號(hào)可包括LAB中ALM的寄存器可用的時(shí)鐘、時(shí)鐘使能、負(fù)載、清除和/或預(yù)置信號(hào)。各ALM也可接收來(lái)自該器件的至少一些互聯(lián)資源13/14的幾種主信號(hào)A/B/等。(與Lewis等人參考文獻(xiàn)所示內(nèi)容相似,這些互聯(lián)資源可包括全局或相對(duì)全局元件13以及(對(duì)LAB來(lái)說)較本地的元件14。)各ALM的至少一些輸出信號(hào)將送至至少一些互聯(lián)資源13/14。
[0036]由控制信號(hào)邏輯電路92使用的信號(hào)一般來(lái)自器件的全局14和本地13互聯(lián)資源。所謂交換多路復(fù)用器90a、90b和90c因在從邏輯元件輸入多路復(fù)用器(LEM)輸出和全局信號(hào)選擇多路復(fù)用器輸出選擇信號(hào)應(yīng)用于電路92中增加信號(hào)選擇和路由靈活性而眾所周知。如LEIM和全局信號(hào)多路復(fù)用器,多路復(fù)用器90 —般由圖3中未不出的CRAM可編程控制。
[0037]Lewis等人的參考文獻(xiàn)示出了與次信號(hào)電路92相似,為L(zhǎng)UT RAM模式提供一寫地址解碼器并為L(zhǎng)AB中所有ALM10/10’提供定時(shí)電路(這里是元件142)是有利的。根據(jù)本發(fā)明,圖3示出了 LAB范圍電路142可從LAB的次信號(hào)電路92的輸入路由資源獲得,包括服務(wù)電路92的交換輸入多路復(fù)用器90。換句話說,寫地址解碼器和定時(shí)電路142的輸入信號(hào)可來(lái)自交換多路復(fù)用器90的輸出。
[0038]另外,根據(jù)本發(fā)明,可為來(lái)自交換多路復(fù)用器90的寫使能和/或?qū)懙刂沸盘?hào)等電路142的輸入提供寄存器140。因而在此實(shí)施例中(圖3)寫解碼器142包括同步寫使能和寫地址信號(hào)的大量FF140或與之聯(lián)系緊密。寫使能可為控制某模式相關(guān)大小(如示例所示每ALMl或2位)的單個(gè)字寫入的單個(gè)寫使能的形式?;蛘撸商峁┒嘤谝粋€(gè)寫使能來(lái)進(jìn)一步限定為32*2模式時(shí)ALM中每?jī)晌惶峁┆?dú)立寫使能的被寫的CRAM組,或使用依賴LUT RAM模式的不同數(shù)量地址和寫使能位的其他變動(dòng)。在存儲(chǔ)器設(shè)計(jì)方面的一般電路設(shè)計(jì)人員可理解這些變動(dòng)。FF的數(shù)據(jù)輸入被連至供給次信號(hào)區(qū)92的各種路由結(jié)構(gòu)(包括交換多路復(fù)用器90)。(應(yīng)強(qiáng)調(diào)寄存器140為可選。)
[0039]圖4詳細(xì)示出了寫解碼器的說明性實(shí)施例。寫解碼器實(shí)施例是通過為排序?qū)懯鼓?WEi)、列(列i)、行(行i)及預(yù)充電信號(hào)(如果包括的話(見下文))提供定時(shí)對(duì)上述Lewis等人參考文獻(xiàn)所示內(nèi)容的擴(kuò)展。配置位(CRAM單元)150控制這些信號(hào)是否為L(zhǎng)AB啟用,使得邏輯模塊LAB (與分布式LUT RAM LAB相對(duì))沒有任何啟用的信號(hào)。一個(gè)或多個(gè)CRAM170控制RAM的深度,使得在各深度配置斷言為適當(dāng)?shù)腤Ei線路的一個(gè)或多個(gè)(經(jīng)或(OR)門174a/b,與非(NAND)門176a/b,以及反相器178a/b),取決于地址A5。特別地,如果CRAM170為1,A5的狀態(tài)為不相干。這對(duì)應(yīng)于32*2模式。如果CRAM170為0,斷言為WEO和WEl其一,取決于A5的邏輯狀態(tài)。這對(duì)應(yīng)于64*1模式。(當(dāng)然,在任何情況下,WE信號(hào)斷言的定時(shí)取決于反相器162的輸出。)從前述可以看出深度模式CRAM170和相關(guān)電路根據(jù)所需允許或不允許細(xì)分(分裂)ALM10/10’中的RAM單元的列。如果該列被細(xì)分,那么子分區(qū)可使用輸入A5單獨(dú)尋址。如果該列未被細(xì)分,那么僅可尋址整列且A5的值不相干。
[0040]圖4所示寫解碼器包括執(zhí)行在時(shí)鐘正相上寫的定時(shí)電路。(其他實(shí)施例可使用時(shí)鐘的負(fù)相。另外,寄存器140a可如一些實(shí)施例中寫的定時(shí)允許這樣的級(jí)敏鎖存器執(zhí)行。)該定時(shí)器電路包括寫使能寄存器140a、NAND門152、反相器154、延遲電路156、NAND門160、反相器162以及(可選)延遲電路164 (用于預(yù)充電信號(hào),如果提供的話(見下文))。反相器162輸出的寫信號(hào)啟用行i和列i信號(hào)(如Lewis等人參考文獻(xiàn)中所示和所述方式使用)以及一個(gè)或多個(gè)WEi信號(hào)。其也禁止可能有的預(yù)充電信號(hào)。RAM設(shè)計(jì)中的電路設(shè)計(jì)人員可以理解適當(dāng)?shù)亩〞r(shí)關(guān)系。各行與列配置寫信號(hào)也或入行與列解碼器,使得配置邏輯可寫至任何所需地址,如Lewis等人參考文獻(xiàn)所述。
[0041]關(guān)于上述生成預(yù)充電控制信號(hào)的電路,圖5示出了如何在LUT電路中使用該信號(hào)的示例。圖5與上述Lewis等人參考文獻(xiàn)所示基本相同,但是附加了預(yù)充電晶體管。從Lewis等人參考文獻(xiàn)中的已知元件具有200系列的參考標(biāo)號(hào)(盡管圖5中的參照數(shù)字用意不在與Lewis等人參考文獻(xiàn)中的參照數(shù)字相關(guān)聯(lián)。)。所述預(yù)充電晶體管具有300系列的參考標(biāo)號(hào)。圖5中LUT RAM單元220的行列數(shù)量為任意的,未必與Lewis等人參考文獻(xiàn)或本說明中別處示例所示數(shù)量相同。圖5示出的數(shù)據(jù)總線為雙軌,但如果與使用的RAM單元組織兼容,也可使用單頭總線。
[0042]預(yù)充電晶體管310a和310b連于LUT范圍數(shù)據(jù)總線230a/b的軌道和VCC之間,當(dāng)如上有關(guān)圖4所示斷言預(yù)充電信號(hào)時(shí)向VCC上拉軌道。同樣,預(yù)充電晶體管320-0a和320-0b連于行范圍數(shù)據(jù)總線240-0a/b的軌道和VCC之間,當(dāng)如上有關(guān)圖4所示斷言預(yù)充電信號(hào)時(shí)向VCC上拉軌道。為L(zhǎng)UT RAM單元220的各行提供了相似的預(yù)充電晶體管320。當(dāng)然,所有預(yù)充電晶體管310和320在預(yù)充電信號(hào)為非時(shí)關(guān)閉。
[0043]圖5中的其他元件為已知(如從Lewis等人的參考文獻(xiàn)中已知),因此可簡(jiǎn)要說明。引線250a/b提供配置數(shù)據(jù)。當(dāng)程序/讀回信號(hào)啟用晶體管252a/b時(shí),這些引線連于引線230a/b。用戶RAM數(shù)據(jù)可經(jīng)引線260和反相器262a、262b提供。通過啟用晶體管272a和272b,適當(dāng)編程CRAM270允許所示LUT用于用戶RAM。當(dāng)(來(lái)自引線260的)數(shù)據(jù)將被寫入所示LUT時(shí),用戶RAM寫使能信號(hào)被施加到引線280以啟用晶體管282a、282b。行地址信號(hào)可選啟用各行的晶體管290a/b。列地址信號(hào)被施加到類似標(biāo)有列O和列7的引線。與Lewis等人相比,不同之處在于附加了控制邏輯,當(dāng)ALM被用于LUT RAM模式時(shí)禁止CRAM的讀回。這是因?yàn)锳LM處于LUT RAM模式時(shí)CRAM的內(nèi)容可改變,且CRAM中周期檢驗(yàn)軟錯(cuò)誤的任何錯(cuò)誤檢驗(yàn)電路將不正確地將改變探測(cè)為錯(cuò)誤。圖5中示為或非(NOR)門371的讀回禁止電路阻止從LUT RAM讀回,并使得讀回始終為邏輯O或1,取決于數(shù)據(jù)線的檢測(cè)。
[0044]本發(fā)明的另一可能方面由圖2所示連接點(diǎn)節(jié)點(diǎn)190和圖6所示附加元件192和140η (與圖3相比)說明。如果次信號(hào)的路由資源如圖3所示88不足以提供解碼器142需要的所有寫地址信號(hào),可使用本發(fā)明的這一方面。在這種情況下,該寫地址解碼器142服務(wù)的LAB中ALM10’(圖2)不需要的輸入信號(hào)可被借來(lái)提供寫地址解碼器的附加輸入信號(hào)。如果,例如,LAB包括八個(gè)ALMlO’,但是僅需要這些ALM中六個(gè)的電路提供上述讀地址(RA)信號(hào),那么沒有提供讀地址信號(hào)的兩個(gè)ALM中的電路可被用來(lái)為該LAB的寫地址解碼器142提供附加寫地址信號(hào)?;氐綀D2,如果所示ALM10’不是經(jīng)其El輸入、多路復(fù)用器70b和觸發(fā)器80b來(lái)施加同步讀地址信號(hào)的ALM之一,那么該El輸入將可用于為相關(guān)寫地址解碼器142提供附加寫地址信號(hào)。這是經(jīng)過圖2中連于圖6中輸入引線192的連接點(diǎn)190完成的。圖6中添加了附加觸發(fā)器140η以寄存施加到寫地址解碼器142的該信號(hào)。190至192的連接可被緩沖以避免不適當(dāng)載入相關(guān)El輸入。
[0045]在上述ALM10/10’中,可能注意到讀地址引腳在ALM的上下部分順序上不同。具體來(lái)說,輸入引腳DCO和DCl被施加作為圖1和圖2中ALM的上半部的第三和第四地址引腳、但又被施加作為該ALM中下半部的第四和第三地址引腳。因此,這些ALM上半部的讀地址是A、B、DC0、DC1等,而下半部將使用A、B、DC1、DC0等。這表示將數(shù)據(jù)寫入ALM需要考慮排序上的不同。一種方法是扭曲某些圖7所示列寫地址線路182。圖7示出了 CRAM位220的位置,可使用引腳A、B、DC0、DC1等尋址??梢钥闯錾纤男信c下四行的行中位的排序不同,但讀和寫地址CRAM都有不變的排序。為了實(shí)現(xiàn)此目的,列寫地址線路182-1和182-2 (如圖4中列地址解碼器180b的輸出中)在從CRAM的上半部至下半部過程中被交換或扭曲。同樣,列寫地址線路182-5和182-6在從CRAM的上半部至下半部過程中被交換或扭曲。
[0046]另一選擇是提供不同的多路復(fù)用器以允許讀上半部和下半部之間位排序不變。這避免了扭曲寫列線路的需求?,F(xiàn)有多路復(fù)用器30b和30c已準(zhǔn)備了 ALM第四級(jí)的可編程選擇,執(zhí)行讀地址3 (RA3)。在前述電路中,多路復(fù)用器30b和30c包括各種邏輯和反饋信號(hào)的計(jì)算機(jī)輸入端,但上半部和下半部分別包括DCl和DC0。但是DCO和DCl分別直接驅(qū)動(dòng)上下半部的第三級(jí)。因而,要求的是為上下半部上的讀地址2 (RA2)選擇同一信號(hào)并為上下半部上的RA3選擇DCO和DCl中另一個(gè)的能力。DCO和DCl中哪個(gè)選給RA2,那個(gè)選給RA3并不重要,只要可以經(jīng)過ALM的兩個(gè)半部期間一直選擇一個(gè)給RA2,另一個(gè)給RA3。這可通過為供給第四LUT輸入級(jí)的多路復(fù)用器并為第三LUT輸入級(jí)的新多路復(fù)用器附加計(jì)算機(jī)輸入端實(shí)現(xiàn),使得DCO和DCl可以不變順序使用。在圖8示出的方案中,選擇DCl為RA2使用,2:1多路復(fù)用器430 (RA選擇多路復(fù)用器)被附加至ALM的一半以允許DCO作為RA2用于ALM的兩個(gè)半部。附加計(jì)算機(jī)輸入端或扇入(fanin)被附加至供給LUT第四級(jí)的多路復(fù)用器30c以允許DCl作為RA3用于ALM的兩個(gè)半部。圖8示出了以64*1模式配置的ALM寫數(shù)據(jù)路徑,配有示出兩個(gè)模式中信號(hào)選擇的標(biāo)簽。
[0047]本發(fā)明該部分的相關(guān)方面是啟用不變的ALM和LUT中各級(jí)間輸入信號(hào)排序的多路復(fù)用器。注意在圖8中,RA4供給第六LUT多路復(fù)用器級(jí),RA5供給第五級(jí),與名稱相反。這是為了便于命名信號(hào),因?yàn)镽A5信號(hào)也用于WDl (寫數(shù)據(jù)1),這也便于讓引腳與名稱有固定聯(lián)系(否則在32*2模式中引腳RA4將從H)移至E0)。
[0048]本發(fā)明的另一可選功能涉及寫地址的次信號(hào)的使用??赡苄枰苊馐褂脤懙刂泛褪鼓苄盘?hào)的所有次信號(hào),因?yàn)檫@阻止其用于LAB用作分布式存儲(chǔ)器時(shí)可能需要的其他目的。例如,時(shí)鐘使能是一般所需的。為了提供這個(gè),可以采用不同方法,將各ALM的一引腳專用于各ALM的寫地址或?qū)懯鼓堋T谟嘘P(guān)ALM輸入Fl的圖8中也示出了這個(gè)變動(dòng)。
[0049]圖8也說明了從Fl輸入至寫解碼器路徑中的觸發(fā)器(寄存器)480。觸發(fā)器是可選的,不是本發(fā)明必須的。使用圖8所示配置(具有和不具有寄存器480)各ALM提供了不同的寫地址和控制信號(hào)經(jīng)過Fl輸入至寫解碼器(如圖3中的142)的相應(yīng)引腳。圖9說明了這一點(diǎn)。一組線484將來(lái)自各ALM的寫地址信號(hào)482連至寫解碼器142。另外,一些控制信號(hào),如時(shí)鐘信號(hào),可從控制信號(hào)選擇邏輯電路提供至寫解碼器。
[0050]應(yīng)注意本技術(shù)要求在每個(gè)使用該手段連接的ALM上為各寫地址和控制信號(hào)(如寫使能)提供專用輸入引腳。因而,這可減少和消除在ALM內(nèi)部使用觸發(fā)器80作為讀地址和其他目的附加觸發(fā)器的可能性。
[0051]另外,需要另一功能來(lái)支持此方面。本發(fā)明的前述方案(如,與圖2有關(guān)的)要求當(dāng)ALM以32*2模式配置時(shí)信號(hào)RA4被復(fù)制。這是因?yàn)镠)和Fl分別直接連于ALM的上下半部中的多路復(fù)用最終級(jí)60。在32*2模式中,必須使用這兩個(gè)最終多路復(fù)用器60-1和60-2,結(jié)果是需要兩個(gè)引腳輸入單個(gè)信號(hào)。也如圖8所示的備用方案通過引入標(biāo)為附加Fl級(jí)多路復(fù)用器460的最終級(jí)Fl多路復(fù)用器的副本,消除了兩個(gè)輸入傳輸單個(gè)信號(hào)的需要。這使32*2模式中要求的引腳數(shù)量減一,并確保在任何模式中讀地址不需要Fl引腳,使其可用于以上段落所述寫地址。
[0052]注意ALM的上下半部是對(duì)稱的,且附加硬件既可位于上半部,也可位于下半部,只要保留相對(duì)位置。因此,例如,圖2示出的附加寫數(shù)據(jù)多路復(fù)用器130在下半部,而圖8將其放在上半部。
[0053]可以理解前述僅是本發(fā)明原則的示例,本領(lǐng)域技術(shù)人員可作出各種修改而不背離本發(fā)明的范圍與精神。例如,本發(fā)明的各方面可按需要被單獨(dú)使用或以任何組合方式使用??赡艿男薷牡牧硪皇纠荓UT中RAM單元的數(shù)量可大于或小于本文所示且所述的說明性數(shù)量(一個(gè)或多個(gè))。同樣,LAB中ALM的數(shù)量可大于或小于本文所示的說明性數(shù)量(一個(gè)或多個(gè))。
【權(quán)利要求】
1.FPGA電路,包括: 多個(gè)查找表電路; 用于選擇由所有所述查找表電路共享的多個(gè)控制信號(hào)的電路;以及用于替代使用由所述用于選擇的電路選擇的信號(hào)作為地址信號(hào),這些地址信號(hào)用于控制所述查找表電路中至少一個(gè)查找表電路中的存儲(chǔ)器單元的尋址,以將用戶數(shù)據(jù)寫入這些存儲(chǔ)器單元的電路。
2.根據(jù)權(quán)利要求1所述的電路,其中用于替代使用的電路包括: 用于寄存所述地址信號(hào)至少之一的至少一個(gè)寄存器。
3.根據(jù)權(quán)利要求1所述的FPGA電路,其中所述控制信號(hào)所包括的信號(hào)是從由以下信號(hào)構(gòu)成的組中選擇的: 用于對(duì)與所述查找表電路有關(guān)的寄存器提供時(shí)鐘的時(shí)鐘信號(hào)、用于限制所述時(shí)鐘的時(shí)鐘使能信號(hào)、用于載入所述寄存器的加載信號(hào)、用于清除所述寄存器的清除信號(hào)、以及用于預(yù)置所述寄存器的預(yù)置信號(hào)。
4.根據(jù)權(quán)利要求1所述的FPGA電路,其中所述用于替代使用的電路包括解碼器電路,其用于將所述地址信號(hào)從二進(jìn)制地址表達(dá)解碼為行列地址表達(dá)。
5.根據(jù)權(quán)利要求1所述的FPGA電路,其中所述用于替代使用的電路包括定時(shí)電路,其用于產(chǎn)生寫使能信號(hào),以控制將所述用戶數(shù)據(jù)寫入所述存儲(chǔ)器單元的定時(shí)。
6.查找表電路,包括: 多個(gè)存儲(chǔ)器單元; 用于選擇所述存儲(chǔ)器單元之一的內(nèi)容作為輸出信號(hào)的多路復(fù)用器電路; 寄存器電路; 路由電路,其用于將輸入信號(hào)或所述輸出信號(hào)選擇性地路由至所述用于寄存的寄存器電路,以產(chǎn)生一個(gè)寄存信號(hào);以及 進(jìn)一步的路由電路,其用于將所述寄存信號(hào)施加到所述存儲(chǔ)器單元的寫輸入端。
7.根據(jù)權(quán)利要求6所述的查找表電路,進(jìn)一步包括: 用于選擇性地將配置數(shù)據(jù)供應(yīng)到所述存儲(chǔ)器單元的電路。
8.查找表電路,包括: 多個(gè)存儲(chǔ)器單元; 讀電路,其能夠提供1)從任一所述存儲(chǔ)器單元選擇的輸出信號(hào),或2)兩個(gè)輸出信號(hào),這兩個(gè)輸出信號(hào)中的每一個(gè)分別從不同的第一和第二次多個(gè)存儲(chǔ)器單元之一選擇的; 第一和第二寄存器;以及 路由電路,其用于1)將所述第一和第二寄存器各自的輸出信號(hào)分別路由至所述第一和第二次多個(gè)中所述存儲(chǔ)器單元的寫驅(qū)動(dòng)器,或2)將所述第一和第二寄存器之一的輸出信號(hào)路由至所有所述存儲(chǔ)器單元的寫驅(qū)動(dòng)器。
9.根據(jù)權(quán)利要求8所述的查找表電路,其中所述第一和第二次多個(gè)是彼此互斥的。
10.根據(jù)權(quán)利要求9所述的查找表電路,其中所述第一和第二次多個(gè)包括相同數(shù)量的存儲(chǔ)器單元。
11.根據(jù)權(quán)利要求9所述的查找表電路,其中所述路由電路包括: 多路復(fù)用器電路,其用于選擇性地將1)所述第一寄存器的輸出信號(hào),或2)所述第二寄存器的輸出信號(hào),施加到所述第一次多個(gè)中所述存儲(chǔ)器單元的寫驅(qū)動(dòng)器。
12.根據(jù)權(quán)利要求11的所述查找表電路,其中所述多路復(fù)用器電路是可編程控制的。
13.FPGA電路,包括: 多個(gè)查找表電路,每個(gè)均包括多個(gè)存儲(chǔ)器單元和多個(gè)輸入引線,查找表讀地址信號(hào)可被施加到所述多個(gè)輸入引線; 地址解碼器電路,其用于接收多個(gè)用于將數(shù)據(jù)寫入所述存儲(chǔ)器單元的寫地址信號(hào);以及 路由電路,其用于允許所述輸入引線之一被替換用于提供所述寫地址信號(hào)之一。
14.根據(jù)權(quán)利要求13所述的FPGA電路,進(jìn)一步包括: 寄存器電路,其用于存儲(chǔ)來(lái)自所述輸入引線之一的、可用作所述寫地址信號(hào)之一的信號(hào)。
15.根據(jù)權(quán)利要求13所述的電路,進(jìn)一步包括用于替代性地控制讀操作的電路,當(dāng)所述輸入引線之一被用來(lái)提供所述寫地址信號(hào)之一時(shí),所述讀操作通常被控制成從所述輸入引線之一至所述輸入引線中的另一個(gè)。
16.FPGA電路,包括: 多個(gè)查找表電路,每個(gè)均包括多個(gè)存儲(chǔ)器單元;以及 寫解碼器電路,其用于解碼多個(gè)地 址信號(hào),以產(chǎn)生用于控制數(shù)據(jù)將被寫入哪個(gè)所述存儲(chǔ)器單元的行列信號(hào),所述寫解碼器包括用于選擇性地允許細(xì)分所述列的可編程控制的模式選擇電路。
17.根據(jù)權(quán)利要求16所述的FPGA電路,其中所述模式選擇電路包括: 路由電路,其用于選擇性地將寫使能信號(hào)路由至I)所述存儲(chǔ)器單元的整個(gè)列,或2)基于所述地址信號(hào)之一的列的獨(dú)立部分。
18.根據(jù)權(quán)利要求17所述的FPGA電路,其中所述模式選擇電路進(jìn)一步包括: 可編程存儲(chǔ)器單元;以及 當(dāng)所述可編程存儲(chǔ)單元被編程引起所述路由電路將寫使能信號(hào)路由至所述存儲(chǔ)器單元的整個(gè)列時(shí),響應(yīng)所述可編程存儲(chǔ)器單元來(lái)忽略所述地址信號(hào)之一的電路。
19.一種運(yùn)行FPGA電路的方法,所述FPGA電路包括多個(gè)由邏輯模塊構(gòu)成的塊,每個(gè)所述塊包括多個(gè)查找表電路和至少一個(gè)寄存器,所述寄存器與每個(gè)所述查找表電路相關(guān)且能寄存來(lái)自相關(guān)查找表電路的輸出信號(hào)或至相關(guān)查找表電路的查找表讀地址輸入信號(hào),每個(gè)所述塊進(jìn)一步包括用于選擇性地路由所述塊中每一所述邏輯模塊的輸出信號(hào)至所述塊中至少一個(gè)所述邏輯模塊的讀地址輸入端的本地互聯(lián)電路資源,所述查找表電路選擇性地用作分布式隨機(jī)存取存儲(chǔ)器,所述方法包括: 使用所選塊中至少一個(gè)所述寄存器寄存至相關(guān)查找表電路的查找表讀地址輸入信號(hào);以及 使用所選塊的所述本地互聯(lián)電路資源將至少一個(gè)所述寄存器的輸出信號(hào)路由至所選塊中至少一個(gè)所述查找表電路的讀地址輸入端。
20.根據(jù)權(quán)利要求19所述的方法,其中所述使用本地互聯(lián)電路資源包括: 使用所選塊的本地互聯(lián)電路資源來(lái)路由至少一個(gè)所述寄存器的輸出信號(hào)至所選塊中多個(gè)查找表電路的讀地址輸入端。
21.根據(jù)權(quán)利要求19所述的方法,進(jìn)一步包括: 使用所選塊中的多個(gè)所述寄存器來(lái)分別寄存至所述各自相關(guān)的查找表電路的多個(gè)查找表讀地址輸入信號(hào);以及 使用所選塊的本地互聯(lián)電路資源來(lái)路由所述多個(gè)寄存器的輸出信號(hào)至所選塊中至少一個(gè)所述查找表電路的多個(gè)讀地址輸入端。
22.根據(jù)權(quán)利要求21所述的方法,其中所述使用本地互聯(lián)電路資源包括: 使用所選塊的本地互聯(lián)電路資源來(lái)路由所述多個(gè)寄存器的輸出信號(hào)至所選塊中多個(gè)查找表電路中每個(gè)查找表電路的多個(gè)讀地址輸入端。
23.FPGA電路,包括: 查找表電路,其包括多個(gè)存儲(chǔ)器單元; 第一電路,其用于選擇性地允許配置數(shù)據(jù)在配置所述FPGA期間被寫入所述存儲(chǔ)器單元,且之后在驗(yàn)證讀回所述配置數(shù)據(jù)期間從所述存儲(chǔ)器單元中讀回所述配置數(shù)據(jù); 第二電路,其用于選擇性地允許用戶數(shù)據(jù)在配置所述FPGA后被寫入所述存儲(chǔ)器單元;以及 用于選擇性地至少禁止所述第一電路驗(yàn)證讀回的電路。
24.FPGA 電路,包括: 多個(gè)查找表電路,每個(gè)查找表電路包括多個(gè)存儲(chǔ)器單元; 用于選擇由所有查找表電路共享的多個(gè)控制信號(hào)的電路;以及用于替代使用所述用于選擇的電路選擇的信號(hào)作為地址信號(hào),以識(shí)別將用戶數(shù)據(jù)寫入到至少一個(gè)查找表電路中的哪一個(gè)存儲(chǔ)器單元的電路。
25.根據(jù)權(quán)利要求24所述的FPGA電路,其中所述控制信號(hào)包括選自于以下信號(hào)組成的群組中的信號(hào): 用于對(duì)與所述查找表電路有關(guān)的寄存器提供時(shí)鐘的時(shí)鐘信號(hào)、用于限制所述時(shí)鐘的時(shí)鐘使能信號(hào)、用于載入所述寄存器的加載信號(hào)、用于清除所述寄存器的清除信號(hào)、以及用于預(yù)置所述寄存器的預(yù)置信號(hào)。
26.根據(jù)權(quán)利要求24所述的FPGA電路,其中所述用于替代使用的電路包括解碼器電路,其用于將所述地址信號(hào)從二進(jìn)制地址表達(dá)解碼為行列地址表達(dá)。
27.根據(jù)權(quán)利要求24所述的FPGA電路,其中所述用于替代使用的電路包括定時(shí)電路,其用于產(chǎn)生寫使能信號(hào), 以控制將所述用戶數(shù)據(jù)寫入所述存儲(chǔ)器單元的定時(shí)。
【文檔編號(hào)】H03K19/177GK103886888SQ201410136371
【公開日】2014年6月25日 申請(qǐng)日期:2006年12月5日 優(yōu)先權(quán)日:2005年12月27日
【發(fā)明者】D·劉易斯, P·萊文蒂斯, V·貝茨, T·Y-T·王, A·李, P·潘 申請(qǐng)人:阿爾特拉公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
万安县| 彭州市| 韶山市| 长春市| 格尔木市| 盐城市| 巴中市| 社旗县| 神木县| 新余市| 罗山县| 鄂尔多斯市| 视频| 宁阳县| 揭西县| 吉隆县| 铅山县| 新野县| 阿尔山市| 琼海市| 开远市| 临城县| 铜山县| 丹东市| 临颍县| 铜鼓县| 博湖县| 汤原县| 娱乐| 银川市| 肥西县| 云林县| 平乡县| 峡江县| 林周县| 个旧市| 河东区| 时尚| 中西区| 合阳县| 辰溪县|