專利名稱:邊界可尋址存儲器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總的來說涉及半導(dǎo)體存儲器,更具體地說涉及邊界可尋址存儲器(Boundary Addressable Memory,BAM)設(shè)備。
背景技術(shù):
在計算機網(wǎng)絡(luò)中,經(jīng)計算機網(wǎng)絡(luò)從一個網(wǎng)絡(luò)設(shè)備傳送到另一個網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)通常被分成稱為包的小數(shù)據(jù)塊。包過濾是網(wǎng)絡(luò)設(shè)備,諸如路由器、上層開關(guān)、防火墻、帶寬管理器以及類似設(shè)備的基本要求。
內(nèi)容可尋址存儲器(CAM)設(shè)備是公知的用來執(zhí)行分類系統(tǒng)中數(shù)據(jù)篩選的半導(dǎo)體設(shè)備。CAM允許搜索和匹配存儲器的內(nèi)容而不必指定從存儲器檢索數(shù)據(jù)的一個或多個具體的存儲單元。通常使用CAM設(shè)備的應(yīng)用的一個例子是搜索路由表以便查看匹配的目的地址,諸如Internet協(xié)議(IP)目的地址,以便可將數(shù)據(jù)路由到適當(dāng)?shù)哪康牡刂?。在識別出匹配地址后,通常要求應(yīng)用其他的過濾標(biāo)準(zhǔn)來確定匹配地址是否落在某一范圍內(nèi)。范圍校驗是計算機網(wǎng)絡(luò)中的應(yīng)用,諸如校驗Ethernet MAC報頭中的端口號范圍以及有效長度和類型值。然而,實現(xiàn)用于非二進制CAM的范圍校驗要求多個入口。具有多個入口使得布線非常昂貴并且空間利用效率低。此外,類似CAM的存儲設(shè)備通過查看多個周期內(nèi)存儲器中的整個區(qū)域來搜索匹配數(shù)據(jù),從而增加等待時間。
因此,需要用于執(zhí)行算術(shù)范圍校驗的存儲設(shè)備。
發(fā)明內(nèi)容
本發(fā)明克服了用于執(zhí)行分類系統(tǒng)中算術(shù)范圍校驗的具有邊界可尋址存儲器(BAM)設(shè)備的現(xiàn)有技術(shù)的缺陷和限制。本發(fā)明特別有利,因為它使用范圍校驗執(zhí)行算術(shù)比較,而不是執(zhí)行類似CAM的等于比較(equality comparison)。算術(shù)范圍校驗提供用于匹配大于或等于存儲的下限值同時小于或等于上限值的輸入值的方法。
本發(fā)明的BAM設(shè)備包括BAM字模塊(word module)的陣列。每個BAM字模塊包括多個BAM單元。在本發(fā)明的優(yōu)選實施例中,每個BAM單元包括存儲上限值的第n位的存儲單元和存儲下限值的第n位的存儲單元。BAM單元進一步包括用于執(zhí)行上限值的第n位以及輸入數(shù)據(jù)的第n位之間的算術(shù)比較的上限比較器。BAM單元也包括用于執(zhí)行下限值的第n位以及輸入數(shù)據(jù)的第n位之間的算術(shù)比較的下限比較器。
在本發(fā)明的優(yōu)選實施例中,按下述方式發(fā)生在BAM設(shè)備中搜索具有小于或等于輸入數(shù)據(jù)的下限值以及大于或等于輸入數(shù)據(jù)的上限值的BAM字。將輸入數(shù)據(jù)的第n位同時提供給上限比較器和下限比較器。上限比較器將輸入信號的第n位與存儲的上限值的第n位進行比較。同時,下限比較器將輸入數(shù)據(jù)的第n位與存儲的下限值的第n位進行比較。逐位執(zhí)行比較并且從最高命令位(highest order bit)一直傳播到最低命令位。因此,BAM字斷言(assert)表示輸入數(shù)據(jù)是否小于或等于上限值以及大于或等于下限值,或輸入數(shù)據(jù)是否大于或等于上限值并且小于或等于下限值的信號。
耦合邏輯門來接收每個BAM字模塊的小于或等于以及大于或等于輸出,并且響應(yīng)接收的輸出,生成匹配信號。在本發(fā)明的一個實施例中,匹配信號表示輸入數(shù)據(jù)落在由上限值和下限值指定的范圍內(nèi)。在另一實施例中,匹配信號表示輸入數(shù)據(jù)落在由上限值和下限值指定的范圍外。
本發(fā)明的這些和其他特征以及優(yōu)點通過考慮下述本發(fā)明的優(yōu)選實施例的詳細描述變得更好理解。在進行說明期間,頻繁地參考附圖。
圖1是由多個BAM字模塊組成的邊界可尋址存儲(BAM)陣列的圖2是由多個BAM單元組成的圖1的實施例的一個BAM字模塊的實施例的高級框圖。
圖3是圖2的實施例的BAM字模塊的一個BAM單元的實施例的高級框圖。
圖4是圖3的BAM單元的上限部分的門級實現(xiàn)。
圖5是圖3的BAM單元的上限部分的晶體管級實現(xiàn)。
圖6是圖3的BAM單元的下限部分的門級實現(xiàn)。
圖7是圖3的BAM單元的下限部分的晶體管級實現(xiàn)。
圖8是圖4和6的實施例的超前等于電路(look ahead equalcircuit)的高級框圖。
圖9是將上限比較器和下限比較器堆疊在一起實現(xiàn)的圖8的超前電路的框圖。
圖10是低功率BAM單元的上限部分的晶體管級實現(xiàn)。
圖11是低功率BAM單元的下限部分的晶體管級實現(xiàn)。
圖12是圖10和11的實施例的BAM單元時序圖。
具體實施例方式
現(xiàn)在參考圖1,該圖示出了根據(jù)本發(fā)明的的實施例的邊界尋址存儲(BAM)陣列100的實施例的高級框圖。BAM陣列100包括多個BAM字模塊102(a)-102(n),其中(n)表示陣列100中BAM字模塊102的數(shù)量。每個BAM字模塊102(a)-102(n)由多個BAM單元50(a)-(n)組成,BAM單元的例子在圖3中詳細地示出。每個BAM單元50(a)-(n)存儲上限位和下限位,如下面圖3-7所示。每個上限位和下限位是用來執(zhí)行BAM陣列100中的范圍校驗的任意值。每個BAM字模塊102(a)-102(n)能執(zhí)行在信號線70上提供的輸入數(shù)據(jù)和在BAM字模塊102(a)-102(n)的每個BAM單元50(a)-(n)中存儲的相應(yīng)的上限位和下限位之間的算術(shù)比較。每個BAM字模塊102(a)-102(n)最好在信號線62(a)-62(n)上輸出小于或等于信號并且在信號線64(a)-64(n)上輸出大于或等于的信號。耦合邏輯門15(a)-15(n)來分別從每個BAM字模塊102(a)-102(n)接收信號線62(a)-62(n)和64(a)-64(n)上的小于或等于信號以及大于或等于信號,并且在各個信號線75(a)-75(n)上產(chǎn)生匹配信號。在本發(fā)明的一個實施例中,匹配信號當(dāng)其表示在信號線70上提供的輸入數(shù)據(jù)不大于存儲在BAM字102(a)-102(n)中的上限值并且不小于下限值時斷定其為高。在本發(fā)明的另一實施例中,匹配信號當(dāng)其表示在信號線70上提供的輸入數(shù)據(jù)不小于上限值并且不大于下限值時斷定其為高。未示出用于讀取上限值和下限值并將其寫入每個BAM字102(a)-102(n)中的位線,因為它們是常規(guī)的,并且是本領(lǐng)域的技術(shù)人員所理解的。
現(xiàn)在參考圖2,該圖示出了一個BAM字模塊102(n)。BAM字模塊102(n)包括多個BAM單元50(a)-(n)。本發(fā)明在優(yōu)選實施例中實現(xiàn)為32位BAM字模塊,從而其將具有32個BAM單元50。然而,本領(lǐng)域的技術(shù)人員將意識到,BAM字模塊102(n)能是任何大小。如圖2所示,將BAM字模塊102(n)分成多個BAM單元50(a)-(n),用于執(zhí)行在信號線70上提供的輸入值與存儲在每個BAM單元50(n)中的上限值的第n位以及下限值的第n位之間的算術(shù)比較。
在優(yōu)選實施例中,每個BAM單元50(a)-(n)每次估算一個最高有效位。在每個BAM單元50(a)-(n)中執(zhí)行比較并且以菊花鏈的形式從最高命令位傳播到最低命令位。將每個BAM單元50(a)-(n)耦合到線“或”信號線62、64。如果BAM單元50(a)-(n)中任何一個為高,那么斷定在信號線62、64上為高信號,并且掛起對較低命令位的比較。將邏輯門15(n)耦合到用于接收小于等于信號的小于等于信號線62。進一步將邏輯門15(n)耦合到用于接收大于等于信號的大于等于線64。在本發(fā)明的一個優(yōu)選實施例中,邏輯門15(n)在兩個輸入上執(zhí)行AND功能同時斷言信號線75(n)上的匹配信號。邏輯門15當(dāng)小于等于以及大于等于信號均為高時斷言在其各個信號線75(n)上為“高”。在本發(fā)明的一個實施例中,當(dāng)對至少一個BAM單元50(a)-(n)來說,輸入信號不大于上限值同時不小于下限值時,小于等于以及大于等于信號均為高。在本發(fā)明的另一實施例中,當(dāng)對至少一個BAM單元50(a)-(n)來說,輸入信號不小于上限值同時不大于下限值時,這兩個信號均為“高”。否則,邏輯門15(n)斷定在其輸出75(n)上為“false”或“0”。
現(xiàn)在參考圖3,它示出了如圖2中所示的BAM字102(n)的BAM單元50(n)的優(yōu)選實施例。該示例性的BAM單元50(n)包括多個典型的六晶體管SRAM存儲單元52和54、上限比較器56以及下限比較器58。上限位線9是用于讀取上限值并將其寫入SRAM單元52的常規(guī)的位線。下限位線11是用于讀取下限值并將其寫入SRAM單元54中的常規(guī)的位線。位線驅(qū)動器12將上限值和下限值推動到SRAM單元52、54,以及將IN和IN N值推動到比較器56、58。將上限比較器56耦合到SRAM單元52來從SRAM單元52接收上限值。將下限比較器58耦合到SRAM單元54來從SRAM單元54接收下限值。傳感設(shè)備55是被耦合的常規(guī)讀出放大器以便讀取存儲在SRAM單元52,54中的上限和下限位的內(nèi)容。
在操作中,以下述方式發(fā)生根據(jù)本發(fā)明的實施例在BAM設(shè)備100中搜索匹配的BAM字102(a)-(n)。將輸入信號線70上輸入數(shù)據(jù)的第n位提供給上限比較器56和下限比較器58。上限比較器56將輸入信號的第n位與存儲在SRAM 52中的上限值的相應(yīng)位進行比較。同時,下限比較器58將輸入信號的第n位與存儲在SRAM 54中的下限值的相應(yīng)位進行比較。在信號線60上將來自較高命令位的等于信號提供給上限比較器56并在信號線67上將等于信號提供給下限比較器58。在信號線60、67上提供的每個等于信號表示高于輸入數(shù)據(jù)的第n位的每個命令位等于存儲在SRAM 52、54中的相應(yīng)位。
在該優(yōu)選實施例中,在每個BAM單元50(a)-(n)中執(zhí)行比較并且以菊花鏈的形式從最高命令位一直傳播到最低命令位。如果在BAM單元50(n)中執(zhí)行的比較結(jié)果為“等于”,即,高于輸入數(shù)據(jù)的第n位的每個命令位等于存儲在SRAM 52、54中的相應(yīng)位,下限比較器58斷言信號線90上的高等于輸出信號至下一BAM單元50。同樣,上限比較器56斷言信號線99上的至下一BAM單元50的高等于輸出信號。如果在BAM單元50(n)中執(zhí)行的比較結(jié)果為“小于或等于”,則上限比較器56斷言信號線62上的高信號(如圖2中所示)以及禁止比較較低命令位。同樣,如果在BAM單元50(n)中執(zhí)行的比較結(jié)果是“大于或等于”,那么下限比較器58斷言在信號線64(如圖2所示)中的高信號以及禁止比較較低命令位。本領(lǐng)域的技術(shù)人員將意識到,同時在BAM陣列100中的每個BAM字模塊102(a)-(n)中執(zhí)行比較。
現(xiàn)在參考圖4,該圖示出了結(jié)合圖3描述的BAM單元50(n)的上限部分的門級實現(xiàn)。BAM單元50(n)的上限部分包括上限比較器56和SRAM單元52。在本發(fā)明的一個實施例中,將上限比較器56作為用于執(zhí)行“小于等于”比較的NAND門電路10、用于執(zhí)行“等于”比較的“同”門電路20,以及用于執(zhí)行AND操作和用于在各個信號線90上將等于輸出信號輸出給下一BAM單元50的AND門電路30來實現(xiàn)。在優(yōu)選實施例中,將AND門電路30作為NAND門電路33以及反相器35實現(xiàn)。在另一實施例中(未示出),將AND門電路30作為AND門電路實現(xiàn)。
NAND門電路10具有三個輸入。將第一輸入耦合到用于接收輸入數(shù)據(jù)的第n位的輸入信號線70。將第二輸入耦合到用于接收等于信號(校驗位信號)的信號線60。當(dāng)?shù)扔谳敵鲂盘枮楦邥r,它表示高于當(dāng)前輸入位的每個命令位與存儲在SRAM 52中的上限值的相應(yīng)位相等。將NAND門電路10的第三輸入耦合到用于接收SRAM 52的反相輸出的信號線53。將NAND門電路10的漏極耦合到小于等于信號線62。該小于等于信號線62是斷言其輸出上的小于等于信號的線“或”線。
“同”門電路20具有兩個輸入。將“同”門電路20的第一輸入耦合到輸入信號線80以便接收輸入信號的反相第n位。耦合“同”門電路20的第二輸入以便在信號線53上接收SRAM 52的反相輸出。“同”門電路20的輸出斷言信號線25上的單元等于(cell equal)信號。
AND門電路30具有兩個輸入。將第一輸入耦合到用于接收等于信號的信號線60。將第二輸入耦合到用于接收XNOR門電路20的輸出(單元等于信號)的單元等于信號線25。AND門電路30斷言信號線90上的等于輸出信號。應(yīng)當(dāng)理解,同時執(zhí)行“小于等于”和“等于”信號的比較。
在優(yōu)選實施例中,用下述方式執(zhí)行比較。
1、信號是相等的在輸入信號線70上提供的輸入數(shù)據(jù)的第n位和存儲的第n位是相等的(兩者均具有邏輯1或邏輯0值)。在信號線62上等于輸入信號高。NAND門電路10接收其輸入上的下述信號信號線70上的輸入信號、信號線53上的SRAM 52的輸出;以及信號線60上的等于信號。NAND門電路10執(zhí)行NAND功能并斷言信號線62上的高信號。
與NAND門電路10執(zhí)行比較的同時,“同”門電路20接收信號線53上的SRAM 52的輸出以及信號線80上的反相輸入信號并執(zhí)行“等于”線的比較。由于SRAM 52的輸入信號和輸出是相等的,XNOR門電路20斷言在信號線25上的高單元等于信號。該單元等于信號表示如果這兩個信號是相等的(兩者均具有邏輯值“1”或“0”),那么對該特定單元的比較結(jié)果是“相等的”。AND門電路30接收信號線25上的單元等于信號以及信號線60上的高等于輸入信號并在這兩個信號上執(zhí)行AND功能。AND門電路10斷言在信號線90上為高等于輸出信號。該高等于輸出信號(equal out signal)表示所有在前BAM單元是“相等的”,并且當(dāng)前比較是“相等的”。因此,使等于輸出信號變成等于輸入信號并且將比較傳播到下一有效位(BAM單元50),直到在信號線70上的輸入信號小于存儲在SRAM 52中的上限值或大于上限值。
2、小于等于當(dāng)信號線70上的輸入信號為邏輯0以及SRAM 52的輸出為邏輯1時,NAND門電路10接收信號線62上的高等于輸入信號,信號線53上的SRAM 52的低輸出以及信號線70上的低輸入信號。NAND門電路10在執(zhí)行NAND操作后斷言信號線62上為高小于等于信號。
在由NAND門電路10執(zhí)行比較的同時,“同”門電路20接收信號線80上的反相輸入信號以及信號線430上的SRAM 52的反相輸出53并執(zhí)行“等于”線的比較?!巴遍T電路20在執(zhí)行“同”功能后斷言信號線25上為低單元等于信號。AND門電路30在其輸入接收信號線25上的低單元等于信號以及信號線60上的高等于輸入信號并在這兩個信號上執(zhí)行AND功能。AND門電路30斷言信號線90上為低等于輸出信號。
作為該比較的結(jié)果,輸入信號不大于或等于在SRAM 52的輸出提供的存儲信號。信號線62上的小于等于信號仍然為高并且禁止傳播所有較低命令位。如圖1和2所示的邏輯門15(n)接收信號線62上的高小于等于信號。
3、大于信號線70上的輸入信號為邏輯1,信號線53上的SRAM 52的輸出為邏輯1,以及信號線60上的等于輸入信號為邏輯1。NAND 10在三個信號上執(zhí)行NAND功能并斷言信號線62上的低信號。該信號表示輸入信號大于存儲在SRAM 52中的位。因此,禁止傳播所有較低命令位且邏輯門15接收信號線62上的低小于等于信號,如圖1和2所示。
表1示例說明當(dāng)輸入位等于存儲的上限位,不大于存儲的上限位以及大于存儲的上限位時的情形。
表1.在BAM單元50(n)的下面部分中執(zhí)行的比較圖。
應(yīng)當(dāng)理解,在圖4中所示的門級圖可用許多可能的方式在晶體管級上實現(xiàn)。圖5示出了BAM單元50(n)的上限部分的門級圖的示例性的實施方式。如圖5所示,NAND門10的功能作為晶體管M1、M2和M3實現(xiàn)。XNOR門20的功能作為晶體管M4-M7以及M10實現(xiàn)。AND門30的功能作為晶體管M8和M9實現(xiàn)。
晶體管M1、M2和M3實現(xiàn)“小于等于”邏輯線。將M1的漏級連接到小于等于線62。將M1的源極連接到M2的漏極。將M2的源極連接到M3的漏極。位線9將上限值寫入SRAM單元52。M2柵極接收SRAM單元52的反相輸出。M3接收信號線80上的反相輸入信號。M3的源極連接到VSS地。
代替圖4的實施例中的XNOR門20實現(xiàn)的XOR門20的功能作為M4、M5、M6和M7實現(xiàn)。這些晶體管執(zhí)行“等于”線比較。將M4的源極連接到M5的漏極。將M4的漏極連接到M6的漏極。將M5的源極連接到VSS地。將M6的源極連接到M7的漏極。將M7的源極連接到VSS地。
在此代替圖4的實施例的AND門30實現(xiàn)的NOR門30的功能作為晶體管M8和M9實現(xiàn)。這些晶體管執(zhí)行“等于輸出”邏輯。將M8的漏極連接到M9的漏極。M10是用來預(yù)處理晶體管M4、M5、M6和M7的晶體管。將M10連接到M4的漏極以及M6的漏極。將M10的源極連接到VDD。應(yīng)當(dāng)注意,晶體管M8和M10作為PMOS晶體管實現(xiàn)。其余所有晶體管作為NMOS晶體管實現(xiàn)。
圖5中所示的實施例有利地允許BAM陣列100在一個周期內(nèi)執(zhí)行范圍校驗。將該周期分為三個階段建立所有假設(shè)期間的預(yù)處理階段、確認或無效所有假定期間的比較階段以及更新階段。
在周期的預(yù)處理階段期間,最好預(yù)處理下述信號信號線62上的小于等于信號、信號線25上的單元等于方波信號(bar signal)以及信號線70和80上的輸入信號。在優(yōu)選實施例中,預(yù)充電信號線70和80上的輸入信號到低電平以便使功耗守恒。在預(yù)充電輸入信號后,允許它們進入它們的初始狀態(tài)。在該優(yōu)選實施例中,假定信號線62上的小于等于信號為高(邏輯1),表示信號線70上的輸入信號不大于SRAM 52中的相應(yīng)存儲位。PMOS晶體管M10預(yù)處理信號線25上的單元等于方波信號以便將其假定為高(邏輯1),從而表示在信號線70上的輸入信號不等于存儲位。本領(lǐng)域的技術(shù)人員將理解,可使用任何PMOS晶體管來預(yù)處理小于等于信號線62上的信號。在另一實施例中,將信號線62上的小于等于信號預(yù)處理為低值。因此,假定輸入信號不小于存儲在SRAM 52中的位。同樣,將信號線25上的單元等于方波信號預(yù)處理為低電平,從而表示存儲位等于輸入數(shù)據(jù)的第n位。
在預(yù)處理階段后的比較階段期間,執(zhí)行所有比較并且在第一階段中建立的假設(shè)或是無效或是有效。
1、信號是相等的在信號線70上的輸入信號以及存儲在SRAM 52中的位是相等的。執(zhí)行NADN功能的晶體管M1-M3斷言在信號線62上的高信號。因此,表示輸入信號不大于存儲在SRAM 52中的位的初始假定是有效的。執(zhí)行NOR門功能的晶體管M4-M7在信號線25上輸出低單元等于方波信號,從而無效這兩個信號是不相等的初始假定。執(zhí)行AND功能的晶體管M8和M9在信號線90上輸出高單元等于輸出信號,表示輸入數(shù)據(jù)的第n位等于存儲的第n位并且在前比較的結(jié)果是“相等的”。因此,將等于輸出信號變?yōu)榈扔谳斎胄盘柌⑶覍⒈容^傳播到下一BAM單元50(n)以便執(zhí)行下一較低命令位的比較,直到信號線70上的輸入信號大于或不大于在SRAM 52的輸出提供的信號。
2、小于等于信號線70上的輸入信號具有邏輯0值,存儲在SRAM 52中的位為邏輯1,以及在等于輸入線60上的信號為高。晶體管M1-M3在執(zhí)行AND功能后斷言信號線62上為高信號,從而使初始假定有效。同時,晶體管M4-M7在信號線25上輸出高單元等于方波信號,從而使表明這兩個信號不相等的初始假定有效。M8和M9接收信號線60上的高等于輸入信號以及信號線25上的高單元等于方波信號,并在信號線90上輸出低單元等于輸出信號。
因此,在信號線62上將表示輸入信號不大于存儲在SRAM 52中的位的高小于等于信號提供給如圖1、2所示的邏輯門15(n),并禁止傳播到較低命令位。
3、大于輸入信號具有邏輯1值,存儲的SRAM位具有邏輯0值,并在信號線60上提供等于輸入信號。晶體管M1-M3在三個信號上執(zhí)行NAND功能。作為NAND操作的結(jié)果,M1-M3斷言在信號線62上為低信號,從而表示初始假定是錯誤的,即,輸入信號大于存儲的位。如圖1、2所示的邏輯門15(a)-(n)接收小于等于信號線62上的低信號。掛起在BAM字模塊102(n)中所有較低命令位的比較。
當(dāng)無效初始假定時,在更新階段更新于預(yù)處理階段中預(yù)處理過的所有信號,以便使它們各個值從“高”變?yōu)椤暗汀被驈摹暗汀弊優(yōu)椤案摺薄?br>
在與BAM單元50(n)的上限部分中執(zhí)行的比較的同時,在BAM單元50(n)的下限部分中執(zhí)行比較。下面將結(jié)合圖6和7來詳細地描述這些比較。
現(xiàn)在參考圖6,該圖示出了BAM單元50(n)的下面部分的門級實現(xiàn)。BAM單元50(n)的下限部分包括下限比較器58和SRAM單元54。應(yīng)當(dāng)注意到,BAM單元50(n)的下面部分的門級實現(xiàn)與BAM單元50(n)的上限部分的實現(xiàn)類似。下面是BAM單元50(n)的上限部分與BAM單元50(n)的下限部分的門級實現(xiàn)之間的一些差異NAND門10接收信號線70上的輸入信號的第n位、存儲在SRAM單元54中的反相位以及等于輸入信號67。下限比較器58執(zhí)行“大于等于”比較。SRAM單元54存儲下限值。在操作中,如在優(yōu)選實施例中實現(xiàn)的那樣,如果輸入信號的第n位不小于存儲在SRAM 54中的第n位并且等于輸入信號67是真的(即,每個較高命令位等于其相應(yīng)的存儲位),那么將大于等于線64拉低并且掛起任何進一步的傳播。如果相反,輸入信號的第n位不小于存儲的第n位,那么大于等于信號線64仍然為高并且掛起至較低命令位的所有傳播。
用與BAM單元50(n)的上面部分的“等于”功能相似的方式執(zhí)行BAM單元50(n)的下面部分的“等于”比較。下面是一些差異XNOR門20接收信號線70上輸入信號的第n位以及存儲在SRAM54中的一位。在BAM單元50(n)的上限部分的門級實現(xiàn)中,XNOR門20接收信號線80上的反相輸入信號以及存儲在SRAM 54中的反相位。
在BAM單元50(n)的上限部分中執(zhí)行的比較圖看起來與表1類似,但是其顯示出當(dāng)輸入位等于存儲的下限位、不小于存儲的下限位以及小于存儲的上限位時的情形。
現(xiàn)在參考圖7,該圖示出了BAM單元50(n)的下限部分的門級圖的晶體管級實現(xiàn)。除存在一些差異外,利用與BAM單元50(n)的上面部分相同的方式實現(xiàn)BAM單元50(n)的下面部分。例如,BAM單元50(n)的下面部分的下限比較器58執(zhí)行大于等于比較。在預(yù)處理階段,通過PMOS晶體管(未示出)將大于等于信號線64預(yù)處理為高。位線11將下限值寫入SRAM單元54。晶體管M2接收存儲在SRAM 54中的位以及M6接收反相存儲位。M3接收信號線80上的反相輸入信號,以及M5接收信號線70上的輸入信號。用類似于BAM單元50(n)的上面部分的“等于”邏輯實現(xiàn)BAM單元50(n)的下面部分的“等于”邏輯。
如果使初始假定無效,則在更新階段期間更新大于等于信號線64和單元等于方波信號線25,以便將它們各自的值從“高”變?yōu)椤暗汀被驈摹暗汀弊優(yōu)椤案摺?。?yīng)當(dāng)理解,可通過將它們預(yù)充電到高或低值來實現(xiàn)信號的預(yù)處理。類似地,可通過將它們放電到高或低值來實現(xiàn)信號的更新。
如果作為比較的結(jié)果,輸入信號的第n位等于下限值的第n位,則將比較傳播到下一第n位(BAM單元50)?;蛘?,掛起剩余BAM單元50中的比較并在信號線64上將高或低大于等于信號提供給邏輯門15(a)-(n)(如圖2所示)。
圖8是耦合到圖2的實施例的BAM字102(n)的超前等于電路45的框圖。在該優(yōu)選實施例中,BAM字模塊102(a)-(n)(如圖1和2所示)是32位寬,從而具有32個BAM單元50。在本發(fā)明的一個實施例中,超前電路45每次估算四位。然而,本領(lǐng)域的技術(shù)人員將理解,超前電路45一次可估算任何數(shù)量的位。如圖8所示,使BAM單元50(n)的四個上限部分或下限部分彼此連接。每個BAM單元50(n)在信號線25上輸出單元等于輸出信號。在一個優(yōu)選實施例中,超前電路45是一個5輸入的AND門,其由NAND門33和一個反相器35形成。將超前電路45耦合到信號線25以便從四個BAM單元50接收單元等于輸出信號。進一步將超前電路45耦合到等于輸入信號線60以便接收等于輸入信號。超前電路45確定在信號線70上提供的四位輸入信號是否等于分別存儲在SRAM單元52和54(在圖8中未示出)中的四位上限值或下限值,并在各自的信號線92上輸出Fast等于輸出信號。電路45的優(yōu)選實現(xiàn)要求8次傳播以便在信號線92上生成至下四個BAM單元50的Fast等于輸出信號。
等于超前電路45的優(yōu)點在于簡化每個等于輸出信號必須通過的邏輯。從而,不是等待一系列改變從最高命令位到最低命令位的傳播,而是不管較高命令位是否相等,都對BAM單元50(n)的每個上限部分或下限部分平行地生成四個單元等于信號。該傳播速度是以另外5個AND門45為代價實現(xiàn)的。本領(lǐng)域的技術(shù)人員將意識到,BAM設(shè)備100可具有1個以上的超前電路45。因此,圖9示例說明用于分別在信號線92a和92b上傳播1個以上Fast等于輸出信號的兩個等于超前電路45a和45b。
現(xiàn)在參考圖10,該圖示出了圖3的低功率BAM單元50(n)的上限部分的另一晶體管級實現(xiàn)。BAM單元50(n)的上限部分包括SRAM單元52、NAND門10、XNOR門20以及NOR門30。NAND門10作為晶體管M1、M2、M3以及M10實現(xiàn)。將M3的漏極連接到小于等于線62。將M1的源極連接到M2的漏極。將晶體管M10插入晶體管M2和M3之間,以便將M2的源極連接到M10的漏極。將M2的柵極連接到SRAM單元52的反相輸出。將M3的源極連接到VSS地。XNOR門20作為晶體管M4、M5、M6、M7、M11以及M12實現(xiàn)。將晶體管M11插入晶體管M4和M5之間。將晶體管M12插入晶體管M6和M7之間。將M4的源極連接到M11的漏極。將M4的漏極連接到M6的漏極。將M5的源極連接到VSS地。將M6的源極連接到M7的漏極。將M7的源極連接到VSS地。M15是預(yù)充電晶體管,將其連接到M4的漏極以及M6的漏極。將M10的源極連接到VDD。應(yīng)當(dāng)注意,以PMOS晶體管來實現(xiàn)晶體管M15。所有其他晶體管用NMOS晶體管實現(xiàn)。
在操作中,當(dāng)斷言相等選通68時,晶體管M11和M12為開。在信號線70和80上將輸入信號提供給晶體管M5和M7。在信號線53上將SRAM 52的輸出提供給晶體管M4和M6。晶體管M11-M12以及M4-M7估算輸入信號的第n位是否等于在SRAM 52的輸出提供的信號,并斷言信號線25上的單元等于方波信號。耦合NAND門33以便接收信號線25上的反相單元等于方波信號(單元等于)以及信號線60上的等于輸入信號。在NAND門33的輸入上提供等于輸入信號60前使其反相兩次。NAND門33的輸出是表示在前比較為相等的并且在該BAM單元50(n)中執(zhí)行的比較是相等的等于輸出信號。
在執(zhí)行等于比較后,斷言小于等于選通脈沖66,從而接通晶體管10。當(dāng)晶體管M10為開時,確定輸入信號的第n位是否不大于在SRAM52上提供的信號。因此,在該實施例中,不象同時執(zhí)行所有比較的優(yōu)選實施例,僅當(dāng)斷言“相等”選通、“小于等于”選通或“大于等于”選通時才執(zhí)行所有估算。在圖10中所示的實施例是有利的,因為使用相等選通允許在信號線25上的等于信號在執(zhí)行小于或大于比較前按菊花鏈傳播。
應(yīng)當(dāng)注意,在本優(yōu)選實施例中,在預(yù)充電階段期間,將在信號線70和80上提供的輸入信號預(yù)充電為0。在預(yù)處理階段后,允許這些信號回到它們的初始狀態(tài)。在該實施例中,在預(yù)充電階段期間輸入信號不需要預(yù)處理以便它們可轉(zhuǎn)到任何狀態(tài)。
圖11表示圖3的低功率BAM單元50(n)的下限部分的晶體管體級實現(xiàn)。用與低功率BAM單元50(n)的上限部分相似的方式實現(xiàn)低功率BAM單元50(n)的下面部分。不象BAM單元50(n)的上限部分,下面部分執(zhí)行大于等于比較。
現(xiàn)在參考圖12,該圖示出了表示圖10和11的實施例的信號間的關(guān)系的低功率BAM單元50(n)的時序圖。首先,在預(yù)充電階段,最好通過晶體管M15預(yù)充電在信號線25上提供的單元等于信號。通過PMOS晶體管(未示出)預(yù)充電小于等于信號線62和大于等于信號線64。然后,斷言相等選通68。相等選通68是表示需要執(zhí)行所有等于計算的定時信號。在執(zhí)行所有等于估算后,斷言表示需要執(zhí)行“小于等于”或“大于等于”比較的小于等于選通66或大于等于選通69。
權(quán)利要求
1.一種邊界可尋址存儲器(BAM)設(shè)備,包括BAM字模塊裝置,每個BAM字模塊用于執(zhí)行輸入數(shù)據(jù)和存儲在每個BAM字中的上限值之間以及該輸入數(shù)據(jù)和存儲在每個BAM字模塊中的下限值之間的算術(shù)比較,以及用于響應(yīng)該比較產(chǎn)生多個輸出信號;以及具有輸入和輸出的邏輯門,耦合該邏輯門的輸入以便接收每個BAM字模塊的輸出,耦合該邏輯門的輸出以便生成表示輸入數(shù)據(jù)不大于上限值并且不小于下限值或輸入數(shù)據(jù)不大于下限值并且不小于上限值的匹配信號。
2.如權(quán)利要求1所述的設(shè)備,其特征在于每個BAM字模塊進一步包括多個BAM單元,其中每個BAM單元進一步包括至少兩個存儲單元,用于存儲上限值和下限值;第一比較器,用于將輸入數(shù)據(jù)與上限值進行比較,該第一比較器具有輸入和輸出,耦合該第一比較器的輸入來接收輸入數(shù)據(jù)和上限值,以及將該第一比較器的輸出耦合到邏輯門;第二比較器,用于將輸入數(shù)據(jù)與下限值進行比較,該第二比較器具有輸入和輸出,耦合該第二比較器的輸入以便接收輸入數(shù)據(jù)和下限值,以及將該第二比較器的輸出耦合到邏輯門。
3.如權(quán)利要求1所述的設(shè)備,其特征在于每個存儲單元是SRAM單元。
4.一種邊界可尋址存儲器(BAM)單元,包括第一預(yù)處理邏輯,用于將第一比較信號預(yù)處理到第一狀態(tài);耦合到該第一預(yù)處理邏輯的第一邏輯,該第一邏輯具有第一輸入、第二輸入、第三輸入以及輸出,將第一輸入耦合到用于接收第一校驗位的等于輸入信號線,將第二輸入耦合到用于接收存儲位的信號線,將第三輸入耦合到用于接收輸入信號的輸入信號線,第一邏輯用于將輸入位與存儲位進行比較,以及用于基于比較,通過表示第一比較信號的第一狀態(tài)是否正確來確認第一比較信號;耦合到第一邏輯的第二預(yù)處理邏輯,用于將第二比較信號預(yù)處理到第二狀態(tài);耦合到第二預(yù)處理邏輯的第二邏輯,其具有第一輸入、第二輸入以及輸出,將第一輸入耦合到用于接收存儲位的信號線,以及將第二輸入耦合到用于接收輸入信號的輸入信號線,第二邏輯門用于將輸入信號和存儲信號進行比較,以及通過表示第二比較信號的第一狀態(tài)是否正確來確認第二比較信號;以及具有第一輸入、第二輸入以及輸出的第三邏輯,將第一輸入耦合到用于接收校驗位的等于輸入信號線,將第二輸入耦合到用于接收第二比較信號的單元等于信號線,第三邏輯門用于斷言在其輸出上的至下一最高有效位的第二校驗位,表示第二比較信號的第二狀態(tài)是否正確以及第一校驗位是否為真。
5.如權(quán)利要求4所述的單元,其特征在于存儲位是上限值的最高有效位。
6.如權(quán)利要求4所述的單元,其特征在于存儲位是下限值的最高有效位。
7.如權(quán)利要求4所述的單元,其特征在于第一邏輯是NAND門。
8.如權(quán)利要求4所述的單元,其特征在于第二邏輯是XOR門。
9.如權(quán)利要求4所述的單元,其特征在于第三邏輯門是NOR門。
10.如權(quán)利要求4所述的單元,其特征在于第三邏輯門是NOR門。
11.如權(quán)利要求4所述的單元,其特征在于第一比較信號的第一狀態(tài)表示輸入信號小于等于存儲位。
12.如權(quán)利要求4所述的單元,其特征在于第一比較信號的第一狀態(tài)表示輸入信號不小于等于存儲位。
13.如權(quán)利要求4所述的單元,其特征在于第一比較信號的第一狀態(tài)表示輸入信號大于等于存儲位。
14.如權(quán)利要求4所述的單元,其特征在于第一比較信號的第一狀態(tài)表示輸入信號不大于等于存儲位。
15.如權(quán)利要求4所述的單元,其特征在于第二比較信號的第二狀態(tài)表示輸入信號等于存儲位。
16.如權(quán)利要求4所述的單元,其特征在于第二比較信號的第二狀態(tài)表示輸入信號不等于存儲位。
17.如權(quán)利要求4所述的單元,其特征在于第一邏輯作為NMOS晶體管實現(xiàn)。
18.如權(quán)利要求4所述的單元,其特征在于第二邏輯作為NMOS晶體管實現(xiàn)。
19.如權(quán)利要求4所述的單元,其特征在于第三邏輯作為PMOS晶體管實現(xiàn)。
20.如權(quán)利要求4所述的單元,其特征在于第三邏輯作為NMOS晶體管實現(xiàn)。
21.如權(quán)利要求4所述的單元,其特征在于第一和第二預(yù)處理邏輯均作為PMOS晶體管實現(xiàn)。
22.一種用于在邊界可尋址存儲器(BAM)設(shè)備中生成匹配信號的方法,包括將輸入數(shù)據(jù)與存儲在BAM設(shè)備中的上限值進行比較并生成表示輸入數(shù)據(jù)是否不大于該上限值的第一輸出;將輸入數(shù)據(jù)與存儲在BAM設(shè)備中的下限值進行比較并生成表示輸入數(shù)據(jù)是否不小于該下限值的第二輸出;以及結(jié)合第一輸出和第二輸出并生成表示輸入數(shù)據(jù)是否不大于該上限值并且不小于該下限值的匹配信號。
23.一種用于在邊界可尋址存儲器(BAM)設(shè)備中生成匹配信號的方法,包括將輸入數(shù)據(jù)與存儲在BAM設(shè)備中的上限值進行比較并生成表示輸入數(shù)據(jù)是否不小于該上限值的第一輸出;將輸入數(shù)據(jù)與存儲在BAM設(shè)備中的下限值進行比較并生成表示輸入數(shù)據(jù)是否不大于該下限值的第二輸出;以及結(jié)合第一輸出和第二輸出并生成表示輸入數(shù)據(jù)是否不小于該上限值并且不大于該下限值的匹配信號。
24.一種邊界可尋址存儲器(BAM)設(shè)備,包括第一比較裝置,用于將輸入數(shù)據(jù)與存儲在BAM設(shè)備中的上限值進行比較并生成表示輸入數(shù)據(jù)是否不小于該上限值的第一輸出;第二比較裝置,用于將輸入數(shù)據(jù)與存儲在BAM設(shè)備中的下限值進行比較并生成表示輸入數(shù)據(jù)是否不大于該下限值的第二輸出;以及結(jié)合裝置,用于結(jié)合第一輸出和第二輸出并生成表示輸入數(shù)據(jù)是否不小于該上限值并且不大于該下限值的匹配信號。
25.一種邊界可尋址存儲器(BAM)設(shè)備,包括第一比較裝置,用于將輸入數(shù)據(jù)與存儲在BAM設(shè)備中的上限值進行比較并生成表示輸入數(shù)據(jù)是否不大于該上限值的第一輸出;第二比較裝置,用于將輸入數(shù)據(jù)與存儲在BAM設(shè)備中的下限值進行比較并生成表示輸入數(shù)據(jù)是否不小于該下限值的第二輸出;以及結(jié)合裝置,用于結(jié)合第一輸出和第二輸出并生成表示輸入數(shù)據(jù)是否不大于該上限值并且不小于該下限值的匹配信號。
全文摘要
一種邊界可尋址存儲器(BAM)陣列,包括多個BAM字模塊。每個BAM字模塊包括多個BAM單元,該BAM單元用于在輸入數(shù)據(jù)和存儲在每個BAM單元中的上限值和下限值之間執(zhí)行算術(shù)比較,以便生成表示輸入數(shù)據(jù)不大于上限值并且不小于下限值或輸入數(shù)據(jù)不大于下限值和不小于上限值的匹配信號。
文檔編號H04L29/06GK1479925SQ01820182
公開日2004年3月3日 申請日期2001年11月7日 優(yōu)先權(quán)日2000年11月7日
發(fā)明者亞歷克斯·E·漢德森, 沃爾特·克羅夫特, 克羅夫特, 亞歷克斯 E 漢德森 申請人:英特爾公司