国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于可編程邏輯器件的專門處理塊的制作方法

      文檔序號:6282248閱讀:301來源:國知局
      專利名稱:用于可編程邏輯器件的專門處理塊的制作方法
      技術(shù)領(lǐng)域
      0002本發(fā)明涉及可編程邏輯器件(PLD),更具體地涉及可以被包括在這樣的器件中的專門處理塊。
      背景技術(shù)
      0003隨著使用PLD的應用在復雜性上的增加,設(shè)計包括除了通用可編程邏輯資源塊之外的專門處理塊的PLD已經(jīng)變得更加普遍。這樣的專門處理塊可以包括已經(jīng)被部分或全部硬連線以執(zhí)行一個或多個特殊任務比如邏輯或數(shù)學運算的PLD上的電路集結(jié)。專門處理塊也可以包括一個或多個專門的結(jié)構(gòu),比如可配置存儲器元件陣列。通常在這樣的專門處理塊中實現(xiàn)的結(jié)構(gòu)的例子包括乘法器、算術(shù)邏輯單元(ALU)、桶移位器、各種存儲器元件(比如FIFO/LIFO/SIPO/RAM/ROM/CAM塊以及寄存器文件)、AND/NAND/OR/NOR陣列等,或它們的組合。
      0004已經(jīng)提供在PLD中的一種特別有用類型的專門處理塊是可以被用于處理例如音頻信號的數(shù)字信號處理(DSP)塊。這些塊通常也被稱為乘累積(“MAC”)塊,因為它們包括執(zhí)行乘法運算以及乘法運算的求和和/或累加的結(jié)構(gòu)。
      0005例如,由加利福尼亞州的San Jose的Altera公司銷售的名為STRATIXII的PLD包括每個都包含DSP塊,每個DSP塊包括4個18×18的乘法器。每個那些DSP塊還包括加法器和寄存器,以及允許各種部件以不同的方式進行配置的可編程連接器(例如乘法器)。在每一個這樣的塊中,乘法器不僅可以被配置為4個單獨的18×18的乘法器,而且可以被配置為4個更小的乘法器,或者被配置為一個更大(36×36)的乘法器。另外,可以執(zhí)行一個18×18的復數(shù)乘法(其分解成用于各實數(shù)和虛數(shù)部分的兩個18×18的乘法運算)。為了支持4個18×18的乘法運算,該塊具有4×(18+18)=144個輸入。類似地,18×18的乘法的輸出是36位寬,因此為了支持4個這樣的乘法運算的輸出,該塊也具有36×4=144個輸出。
      0006這樣的DSP塊執(zhí)行的操作通常要求舍入(rounding)。然而,包括在前述STRATIXII型PLD中提供的DSP塊的已知DSP塊具有有限的舍入能力。類似地,DSP塊操作要求能夠截取結(jié)果。為了防止大的正結(jié)果溢出成負數(shù),或防止高的負結(jié)果溢出成正數(shù),這樣的截取或飽和(saturation)是必須的。然而,已知DSP塊的飽和能力也是有限的。
      0007希望能夠提供PLD的DSP塊的改進的舍入和飽和能力。

      發(fā)明內(nèi)容
      0008本發(fā)明涉及用于PLD的專門處理塊,其中該專門處理塊具有改進的舍入和飽和能力。
      0009優(yōu)選地,本發(fā)明使用的專門處理塊包括多個基本處理單元以代替分離的乘法器。優(yōu)選地每個基本處理單元包括至少兩個乘法器以及對所有這至少兩個乘法器的部分積求和的邏輯的等同物。結(jié)果,在單個步驟中就計算了所有乘法的和,而不是對每個乘法器的部分積求和以形成各個積并且隨后對那些積求和。這樣的基本處理單元可以用比單獨的乘法器和加法器的面積更小的面積構(gòu)建。如果單個乘法被要求執(zhí)行,則使用在基本處理單元中的其中一個乘法器,而到另一個(或另外多個)乘法器的輸入被置零。然而,由于提供的基本處理單元減小了專門處理塊的面積,因此提高了效率。
      0010在一個優(yōu)選實施例中,該基本處理單元包括兩個18×18乘法器和一個加法器的等同物,因此它可以輸出兩個乘法運算的總和。雖然18×18乘法器中的每一個可以被配置用于更小的乘法運算(例如9×9或12×12),但基本處理單元的集成性意味著單獨的乘法器輸出是不可獲得的。只有該總和可以由該專門處理塊的剩余部分使用。因此,為了得到18位×18位或更小的單個非復數(shù)乘法的結(jié)果,必須使用整個基本處理單元。不能是空閑的第二乘法器簡單地使它的輸入為零。
      0011優(yōu)選地,和本發(fā)明一起使用的專門處理塊還具有一個或多個附加的加法器,以用于基本處理單元的輸出以及可選的流水線寄存器(pipelineregister)和靈活輸出級的輸出的附加處理。因此優(yōu)選地該專門處理塊可以配置成用于各種形式的濾波和其它數(shù)字信號處理操作。此外,優(yōu)選地該專門處理塊還能夠反饋其輸出的至少一個作為輸入(這在自適應濾波操作中有用),并且能夠?qū)⑤斎牒洼敵龆兼溄拥礁郊訉iT處理塊。
      0012根據(jù)本發(fā)明的專門處理塊優(yōu)選包括靈活的舍入電路和靈活的飽和電路。優(yōu)選地該舍入和飽和電路處于單個的舍入/飽和塊中。然而,在某些實施例中,如下所述,該舍入和飽和電路可以是分離的。
      0013根據(jù)本發(fā)明的靈活飽和電路優(yōu)選允許用戶在舍入到最接近的整數(shù)和舍入到最接近的偶數(shù)之間進行選擇。如已知的,舍入到最接近的偶數(shù)在操作上與舍入到最接近的整數(shù)是一樣的,除了當余項精確地等于二分之一時。在舍入到最接近的整數(shù)時,當余項精確地等于二分之一時,結(jié)果總是向上舍入到下一個整數(shù)。在舍入到最接近的偶數(shù)時,當余項精確地等于二分之一時,如果下一個整數(shù)是偶數(shù)則結(jié)果是向上舍入,而如果下一個整數(shù)是奇數(shù)則向下舍入。優(yōu)選地靈活的舍入電路還允許用戶選擇發(fā)生舍入處的結(jié)果的位位置。而且優(yōu)選地靈活的舍入電路在專門處理塊中的位置是可選擇的,所以關(guān)鍵的定時路徑不會被舍入操作不必要地影響。
      0014根據(jù)本發(fā)明的靈活飽和電路優(yōu)選地允許用戶在結(jié)果的對稱和非對稱截取(clipping)之間選擇。如已知的,在某種類型的數(shù)字表示中,比如二進制反碼表示中,范圍向上變動到2n-1的數(shù)字變量范圍向下變動到-(2n-1),因此范圍變動對稱。然而,在其它類型的數(shù)字表示中,比如二進制補碼表示中,范圍向上變動到2n-1的數(shù)字變量范圍向下變動到-(2n),因此范圍變動不對稱。在截取運算結(jié)果時,人們可能希望對稱地截取結(jié)果而不管表示的類型,并且優(yōu)選地本發(fā)明允許用戶選擇這樣的結(jié)果。靈活的飽和電路優(yōu)選地還允許用戶選擇發(fā)生截取處的結(jié)果的位位置。而且靈活的飽和電路在專門處理塊中的位置優(yōu)選地是可選擇的,所以關(guān)鍵的定時路徑不會被截取操作不必要地影響。
      0015因此,根據(jù)本發(fā)明,提供了一種用于可編程邏輯器件的專門處理塊。該專門處理塊包括用于提供輸入的積及這些積的和以輸出結(jié)果的運算電路。該專門處理塊進一步包括以下之一或兩個(1)舍入電路,其用于可選擇地將結(jié)果舍入為以下之一(a)最接近的整數(shù)和(b)最接近的偶整數(shù),以及(2)飽和電路,其用于將所述結(jié)果截取到所述運算電路操作的值范圍內(nèi)的值。


      0016結(jié)合附圖,考慮到下面的詳細描述,本發(fā)明的上述和其它目的及優(yōu)點將更加明顯,在整個附圖中,相同的標記字符表示相同的部件,并且其中0017圖1是根據(jù)本發(fā)明的專門處理塊的一個優(yōu)選實施例的高級圖;0018圖2是圖1的專門處理塊的功能圖;0019圖3是根據(jù)本發(fā)明的用于專門處理塊的基本處理單元的一個優(yōu)選實施例的框圖;0020圖4是根據(jù)本發(fā)明的專門處理塊的輸出級的優(yōu)選實施例;0021圖5是根據(jù)本發(fā)明的第一個優(yōu)選實施例配置為有限脈沖響應濾波器的一部分的專門處理塊的功能圖;0022圖6是根據(jù)本發(fā)明的舍入到最接近偶數(shù)邏輯的圖;0023圖7是根據(jù)本發(fā)明第一實施例的顯示舍入和飽和邏輯的專門處理塊的一部分的示意圖;0024圖8是根據(jù)本發(fā)明第二個實施例的顯示舍入和飽和邏輯的專門處理塊的一部分的示意圖;0025圖9是根據(jù)本發(fā)明一個實施例的顯示舍入和飽和邏輯的位置的級聯(lián)模式專門處理塊的一部分的示意圖;0026圖10是根據(jù)本發(fā)明另一個實施例的顯示舍入和飽和邏輯的位置的級聯(lián)模式專門處理塊的一部分的示意圖;0027圖11是根據(jù)本發(fā)明又一個實施例的顯示舍入和飽和邏輯的位置的級聯(lián)模式專門處理塊的一部分的示意圖;以及0028圖12是使用結(jié)合本發(fā)明的可編程邏輯器件的說明性系統(tǒng)的簡化框圖。
      具體實施例方式
      0029舍入是通過從數(shù)的表示中移除較低階(lower-order)范圍的位并可能修改數(shù)的剩余部分來減小數(shù)的精度,從而更準確地表示它的先前值的技術(shù)。例如,如果原始數(shù)具有N位精度,而舍入數(shù)可以只有M位精度(其中N>M),意味著在舍入過程中N-M位精度從數(shù)中被移除。
      0030舍入到最接近的方法返回最接近原始值的數(shù)。這通常被稱為“舍入到最接近整數(shù)”(round-to-nearest-integer,RNI),但是由于它對小于1的數(shù)也起作用,所以“舍入到最接近”更適合。根據(jù)約定,按照這個方法,精確地位于兩個數(shù)之間一半的原始數(shù)(因此具有兩個“最接近”的數(shù))總是舍入到兩個數(shù)中更大的數(shù)。例如,當舍入3位二進制補碼小數(shù)0.25(二進制0.01)為最接近的2位二進制補碼小數(shù)時,該方法返回0.5(二進制0.1)。原始的小數(shù)精確地位于0.5和0.0(二進制0.0)的中間,因此這個方法向上舍入。由于它總是向上舍入,這個方法也被稱為“偏舍入”(biased rounding)。
      0031“收斂舍入(convergent rounding)”或“舍入到最接近偶數(shù)”(RNE)方法也返回最接近于原始數(shù)的數(shù)。然而,如果原始數(shù)精確地位于兩個數(shù)的中間,這個方法就返回最接近的偶數(shù),在二進制表示中該偶數(shù)是包括最低有效位0的一個數(shù)。因此對于上述例子,該結(jié)果將會是0.0,因為那是0.5和0.0之間的偶數(shù)選擇。因為它根據(jù)周圍值或者上舍入或者下舍入,而不是總是向同一方向舍入,所以這個方法也被稱為“無偏舍入”(unbiasedrounding)。
      0032一些例子被顯示在下面的表中,其中6位數(shù)被舍入為4位精度

      0033當運算操作的結(jié)果超過目的存儲器的范圍時,重要的信息可能被丟失。飽和是用來包含目的存儲器可以表示的值范圍內(nèi)的數(shù)量的技術(shù)。當計算的值超過目的存儲器的容量時,那么寫入到寄存器的值被“飽和”或“截取”到該存儲器可以保存且與原始值具有相同符號的最大值。
      0034因此,例如,如果一個操作會另外地引起正值溢出且變成負的,飽和就將該結(jié)果限制到正在使用的存儲器的最大正值。相反地,如果一個操作會另外地引起負值溢出且變成正的,飽和就將該結(jié)果限制到存儲器的最大負值。
      0035例如,如果包含0×1000(十進制整數(shù)+4096)的16位寄存器被左移3位而不飽和,則它將溢出為0×8000(十進制-32,768)。然而,利用飽和,左移3位或更多位將總是產(chǎn)生最大的正16位數(shù),0x7FFF(十進制+32,767)。在上述的補碼例子中,最大正數(shù)是2n-1而最大負數(shù)是-(2n),如果非對稱,則飽和或截取特征將截取上側(cè)和下側(cè)值為2n-1和-(2n),但如果對稱則為2n-1和-(2n-1),即使負值-(2n)是可得到的。因此,對于16位的情況非對稱飽和最大=0x7FFF,最小=0x8000對稱飽和最大=0x7FFF,最小=0x8000036現(xiàn)在將參考圖1-11對本發(fā)明進行描述。
      0037圖1是根據(jù)本發(fā)明的專門處理塊的一個優(yōu)選實施例10的高級圖,而圖2是同一實施例10的功能圖。
      0038如圖1所示,專門處理塊10包括可選的輸入預多路復用(pre-MUX)級11、可選的輸入寄存器級12、可選的輸入多路復用級13、乘法級14、可選的流水線寄存器級15和加法器/輸出級16。
      0039如果被提供,則輸入預多路復用級11的功能是將常規(guī)輸入、回環(huán)輸入和級聯(lián)輸入(見下面)格式化成適合于寄存的形式。
      0040常規(guī)輸入不需要任何特定的格式化。級聯(lián)輸入可以是先前輸入的一個寄存器延遲版本,因此可能相應地需要格式化。然而,這樣的格式化也可以在專門處理塊10是其一部分的可編程邏輯器件的可編程邏輯中進行,因此如果級聯(lián)輸入的格式化是唯一需要的預多路復用功能,則可以省略輸入預多路復用級11,或者如果提供了輸入預多路復用級11則可以被旁路?;丨h(huán)輸入17可以被安排使得它可以總是連接到特殊的乘法器或乘法器組。由輸入預多路復用級11執(zhí)行的格式化可以包括特殊輸入到特殊的位位置的指示,其取決于專門處理塊10執(zhí)行的功能。在一個實施例中,根據(jù)標識各種可能操作(例如,各種大小的簡單或復數(shù)乘法、移位操作、循環(huán)操作等)和指定相應需要的格式化的存儲表,格式化可以被執(zhí)行。
      0041如果被提供,則輸入預多路復用級11的輸出可以由可選的輸入寄存器級12寄存。如果不存在輸入預多路復用級11,那么如果需要輸入寄存器功能,則該輸入寄存器功能可以在塊10是其一部分的可編程邏輯器件的可編程邏輯部分中執(zhí)行。因此,輸入寄存器級12被認為是可選的。即使被提供,輸入寄存器級12優(yōu)選地可以被可選地旁路以防需要或希望未寄存的輸出。
      0042如果被提供,輸入多路復用級13就從輸入預多路復用級11取得寄存或未寄存的輸入以及可能從可編程邏輯器件的其它地方取得輸入,并且將數(shù)據(jù)格式化用于不同的操作模式。在那方面它類似于輸入預多路復用級11,并且因此如果輸入預多路復用級11和輸入多路復用級13其中之一被頻繁地提供,則另一個將不會被提供。
      0043作為由輸入預多路復用級11或輸入多路復用級13執(zhí)行的格式化類型的例子,考慮18×18復數(shù)乘法,其中實部結(jié)果=Re[(a+jb)×(c+jd)]=(ac-bd)虛部結(jié)果=Im[(a+jb)×(c+jd)]=(ad+bc)該復數(shù)運算需要4個18×18乘法,并且因此需要8個18位輸入,但是由于只存在4個唯一的18位共享輸入,因此輸入多路復用級13將取得輸入a、b、c和d并且執(zhí)行必要的復制,使得那4個輸入被正確地路由到正確的乘法器輸入以用于每個實部和虛部計算。類似地,對于9-位以及12-位模式操作,輸入預多路復用級11和/或輸入多路復用級13確保輸入位的正確排列以便獲得正確結(jié)果。
      0044優(yōu)選地乘法級14包括多個如上所述的基本處理單元。在優(yōu)選實施例中,每個專門處理塊10(見圖2)包括4個基本處理單元30,意味著在兩個一起進行求和的乘法組中它可以執(zhí)行多達8個乘法。在該實施例中,優(yōu)選地在專門處理塊10中的基本處理單元被分組為相同的半塊,從而在它自己右側(cè)的每個半塊可以被認為是本發(fā)明內(nèi)的專門處理塊。
      0045優(yōu)選地每個基本處理單元包括用于對兩個18×18乘法求和的功能。優(yōu)選地這些基本處理單元都完全相同,但在一些實施例中,可能僅在一些乘法器的一些輸入提供求反功能,因為可能需要用于例如可能需要減法(如上面明顯的)的復數(shù)乘法。可選擇地,該求反功能可以被提供在基本處理單元的加法部分,以便一個或多個加法器也可以執(zhí)行減法。
      0046在圖3中顯示了基本處理單元的一個優(yōu)選實施例的結(jié)構(gòu)。每個基本處理單元30優(yōu)選地支持兩個18×18乘法的求和并且優(yōu)選地包括兩個部分積發(fā)生器31、兩個10矢量到2矢量壓縮器32、4到2壓縮器33以及兩個進位傳遞加法器34。加法器34優(yōu)選地包括由控制信號342可選擇地可連接的一個30位加法器340和一個24位加法器341。對于更小的乘法比如9×9或12×12,只需要24位,因此兩個加法器可以被斷開以允許兩個獨立的乘法。對于更大的乘法比如18×18,兩個加法器34應當被連接在一起作為單個的加法器。
      0047每個部分積發(fā)生器31優(yōu)選地產(chǎn)生9個20位帶符號的Booth編碼矢量(Booth編碼是可以減少部分積數(shù)量的公知技術(shù))和一個17位無符號進位矢量(負部分積是反碼格式,帶有進位矢量中的相關(guān)進位-輸入(carry-in)位)。附加的19位帶符號部分積可以在無符號乘法器的情況下被產(chǎn)生(其對于帶符號乘法器優(yōu)選地將總是為零)。雖然優(yōu)選地可以產(chǎn)生多達11個矢量,但是優(yōu)選地進位位可以與部分積矢量組合,只需要壓縮10個矢量。
      0048優(yōu)選地部分積被壓縮為兩個39位矢量(36位加上符號擴展位)。任何符號擴展應當正確地保存越過36位18×18乘法器邊界,以便任何符號擴展可以是有效的,直到72位36×36乘法器邊界(在如下所述的兩個基本處理單元被組合以實現(xiàn)36×36乘法的情況下)。壓縮后,在多路復用和移位電路(mux-and-shift circuitry)35中優(yōu)選地處理該結(jié)果,由于根據(jù)被執(zhí)行的操作可以被需求,該多路復用和移位電路35優(yōu)選地包括組合邏輯,在該組合邏輯處進行加法(因為可能需要加法,這取決于正在執(zhí)行的操作)前結(jié)果的任何符號擴展、零填充或移位可以先于在4到2壓縮器33和進位傳遞加法器34中的結(jié)果被最終組合而完成。對于每一個電路350、351,優(yōu)選地輸入是總共78個輸入位的兩個39位矢量,而優(yōu)選地輸出總共108個位的兩個54位矢量。額外的30個位是符號擴展、零填充和或移位的結(jié)果。多路復用器352指示在符號擴展或零填充結(jié)果之間的選擇。4個54位矢量被輸入給輸出兩個54位矢量的壓縮器33,這兩個54位矢量在加法器34中被相加以產(chǎn)生54位輸出。
      0049如上所討論的,由于來自兩個乘法器的部分積被立刻相加,所以基本處理單元的兩個乘法器不能被用于兩個獨立的乘法,但是通過對第二乘法器的輸入置零可以執(zhí)行單個乘法。
      0050對于更小的乘法,獨立子集乘法器(9×9或12×12的情況)可以被處理如下0051對于兩個9×9乘法,第一個9×9乘法優(yōu)選地使用第一個乘法器(在圖3的左側(cè))的最高有效位(MSB)進行計算,而第二個9×9乘法優(yōu)選地使用第二個乘法器(在圖3的右側(cè))的最低有效位(LSB)進行計算。適當?shù)?,右乘法器的最高有效位用相應值的符號擴展填充。左乘法器的輸出(和以及進位矢量)被左移18位。然后優(yōu)選地這兩個乘法器的輸出一起被壓縮并且隨后兩個結(jié)果的最后矢量由兩個加法器34相加,對于這個操作這兩個加法器沒有連接在一起。第一個9×9結(jié)果優(yōu)選地被輸出在左(30位)加法器340的最高有效位上,而第二個9×9結(jié)果優(yōu)選地被輸出在右(24位)加法器341的最低有效位上。
      0052使用該MSB/LSB方法,獨立的12×12乘法可以用與9×9乘法類似的方式計算。
      0053在兩種情況中,優(yōu)選地右乘法器輸出被置零在24個位以上,以防止和獨立的左乘法器結(jié)果的任何干擾。
      0054在求和的乘法的情況下,不管精度如何,所有的輸入優(yōu)選地被移位以占領(lǐng)使用的乘法器的最高有效位,而輸出矢量優(yōu)選地不被移位。然而,輸出矢量優(yōu)選地被完全符號擴展,以便來自加法器34的符號擴展可以被用于累加器(如下)的全部寬度。
      0055優(yōu)選地,對于需要對積進行減法的復數(shù)乘法和其它操作,加法器輸入可以被求反(negated)(有效地使該加法器成為加法器/減法器)。然而,可選擇地,通過反轉(zhuǎn)該輸入(二進制反碼)并且將被乘數(shù)加到該結(jié)果上,可以為一個或多個乘法器提供選擇性地對它的輸出矢量求反的能力。被乘數(shù)加法可以在部分積的壓縮中執(zhí)行,因此求反可以在加法器34之前被實現(xiàn)。
      0056優(yōu)選地可以由用戶選擇旁路的流水線寄存器級15優(yōu)選地允許在進一步的加法或累加或其它處理之前將乘法級14的輸出寄存。
      0057優(yōu)選地加法器/輸出級16選擇性地移位、加、累加或寄存它的輸入或上述的任何組合。優(yōu)選地它的輸入是在專門處理塊10中的兩個基本處理單元的輸出。如圖4所示,那兩個輸入40、41被輸入給可選地可以移位或符號擴展輸入40、41的各自寄存器/移位器單元42、43。在一個優(yōu)選實施例中,每個輸入40、41是54位矢量,其被移位或符號擴展以產(chǎn)生各自的72位矢量。
      0058單元42、43的輸出優(yōu)選地被輸入給3∶2壓縮器44,優(yōu)選地,連同級16自己的輸出45輸入給壓縮器44。這個反饋為專門處理塊10提供了累加功能。優(yōu)選地,該反饋輸出45通過多路復用器46,當累加是不必要或不被希望時該多路復用器可選擇地選擇零(例如,地)輸入。
      0059壓縮器44的輸出被提供(通過如下描述的適當?shù)亩嗦窂陀闷?給兩個加法器47、48,加法器47、48可以在可編程控制下鏈接在一起,這取決于如下所述它們要被運用的用途。如由多路復用器401、402確定的,加法器47、48的輸出優(yōu)選地可以被寄存在寄存器49、400中或不被寄存。不管寄存與否,輸出47、48優(yōu)選地構(gòu)成了專門處理塊10的輸出矢量。作為替換的路徑,在基本處理單元30的輸出將被輸出而不需要進一步處理時,多路復用器403、404、405允許加法器47、48被旁路。
      0060如上所述,在每個基本處理單元30可以執(zhí)行兩個18×18乘法的求和的情況下,兩個基本處理單元30可以執(zhí)行36×36乘法,36×36乘法公知地可以被分解成4個18×18乘法。在這種情況下,兩個壓縮的72位矢量優(yōu)選地由壓縮器44輸出并且優(yōu)選地由兩個44位加法器47、48將它們加在一起,加法器47、48可以由AND(與)門406可編程地連接在一起用于這個模式。在這個模式中高16個位可以被忽略。
      0061在具有更窄輸出的其它模式中,在加法器47、48不需要被連接在一起,加法器47、48可選地可以被布置以將專門處理塊10的輸出與另一專門處理塊10的類似輸出鏈接起來。為了方便這樣的模式,寄存器400的輸出例如可以被反饋給提供兩個輸入到加法器47的4∶2多路復用器407。多路復用器407的其它輸入可以是由壓縮器44輸出的兩個矢量以及來自另一專門處理塊10的鏈入(chain-in)輸入408,該鏈入輸入可以通過來自其它專門處理塊10的寄存器49的鏈出(chain-out)輸出409提供。
      0062因此,在鏈接模式中,44位加法器48可以用來將配置為例如單個乘法器、乘法器的和或累加器的其中一個專門處理塊10內(nèi)的結(jié)果與先前塊的結(jié)果加在一起。通過使用多路復用器407選擇加法器48的輸出以及另一專門處理塊10的輸出作為加法器47的輸入,當前專門處理塊10的輸出可以是當前和先前專門處理塊10的輸出的鏈接和。如果使用鏈接模式,只可以獲得44位累加器,取決于乘法器的數(shù)量,其將仍給出6位到8位的保護帶。然而,顯然地,鏈接模式不能用于36位模式,在該模式中加法器47、48都被需要以獲得單個專門處理塊10的結(jié)果。
      0063根據(jù)操作模式輸出路徑可以略微不同。因此,多路復用器401、402允許選擇加法器47、48的寄存或未寄存的輸出。然而如所示的,可以理解的是,優(yōu)選地寄存的輸出用于級聯(lián)或鏈接模式。
      0064另外,如在17處,至少一個輸出可以被回送到專門處理塊10的輸入。例如,如果專門處理塊10被可編程地配置用于自適應濾波,這樣的回送特征可以被使用。雖然可以提供多個回送,但在優(yōu)選實施例中,提供一個到單個乘法器或乘法器組的回送17。
      0065本發(fā)明的專門處理塊10可以被可編程地配置為長鏈有限脈沖響應(FIR)濾波器。如圖5所示,4個基本處理單元30被配置為這樣的FIR濾波器50的一部分。如上所討論的,這可以被認為是一個或者兩個專門處理塊10。如所示的,每個加法器48被用來將4個乘法的結(jié)果相加,用在上述鏈接或級聯(lián)模式中的加法器47將加法器48的輸出加在一起(可能地,連同其它專門處理塊10的加法器48的輸出),以形成一個長的FIR濾波器。FIR濾波器的系數(shù)是在51的輸入,而將被濾波的數(shù)據(jù)通過寄存器鏈52被輸入,寄存器鏈52優(yōu)選地形成在輸入預多路復用器級11、輸入寄存器級12或輸入多路復用級13之一中。為了說明由輸出級聯(lián)鏈引入的延遲,至少一個額外的延遲53(例如,以額外寄存器的形式)優(yōu)選地被提供在輸入級聯(lián)鏈52中。優(yōu)選地,延遲的數(shù)量對應于加法器47的數(shù)量,或更具體地,對應于延遲53補償?shù)妮敵黾拇嫫?09的數(shù)量。通常,這等于用于每對基本處理單元30的一個延遲53。如上面所討論的,雖然在優(yōu)選實施例中,兩個基本處理單元30構(gòu)成一個半塊,但是它們也被認為是在它們自己右邊的專門處理塊10。
      0066如上面所討論的,優(yōu)選地在專門處理塊10中還提供了舍入和飽和電路。如所討論的,舍入電路優(yōu)選地允許用戶在舍入到最接近模式和舍入到最接近偶數(shù)模式之間選擇(舍位或截斷(truncation)——即總是下舍入——也可以作為一種選擇提供)。如還討論的,飽和電路優(yōu)選地允許用戶在對稱和非對稱截取之間選擇。另外,舍入電路優(yōu)選地允許用戶選擇在哪一個位進行舍入而飽和電路優(yōu)選地允許用戶選擇在哪一個位發(fā)生飽和。在那些選擇分別確定了最低和最高有效位的位置的情況下,那些選擇允許用戶確定輸出字的寬度。優(yōu)選地,這通過提供可以被分別解碼成各自的表示舍入和飽和位置的16位數(shù)的兩個各自的4位變量來完成。
      0067舍入到最接近的計算是不重要的,因為它簡單地涉及加二分之一(即,將1加到舍入位置后的下一個最高有效位)然后截斷該結(jié)果(即,用零代替舍入位置后的所有值)。
      0068舍入到最接近偶數(shù)的計算更加復雜,因為它涉及確定越過舍入位置的位的值是否精確地等于二分之一。
      0069用于計算各種類型的舍入的邏輯60被顯示在圖6中。變量ROUND確定接下來跟著的是分支61還是分支62。如果ROUND=0,將不執(zhí)行舍入并且接下來的是分支61,在610設(shè)置RNDSEL=0。如果ROUND=1,將執(zhí)行舍入并且接下來的是分支62,且對每一個位位置重復進行,并將結(jié)果取或(OR)在一起。因此,在優(yōu)選的16位實施例中,這進行了16次并且在16位寬的或門OR中進行或運算。
      0070在分支62中,RRND是從代表舍入位置的4位數(shù)解碼得到的值,LSB是在舍入位置中的位,G是舍入位置后的下一個最高有效位(即,舍入位置右邊的位),S是將G向右的所有位或在一起的結(jié)果。因此,對于通過分支62的特殊通路,如果在620RRND是0,則對于該位位置不存在舍入并且在621設(shè)置RNDSEL為0。如果在620RRND是1,則對該位位置執(zhí)行舍入并且在622檢查G的值。
      0071如果G=0,則超過LSB的余數(shù)小于二分之一并且結(jié)果將被下舍入(即,不是舍入而是截斷),并且在623RNDSEL被設(shè)置為0。如果G=1,則超過LSB的余數(shù)大于或等于二分之一,且進一步的舍入步驟取決于將執(zhí)行的是偏舍入(BIASRND=1)還是無偏舍入(BIASRND=0),如在624確定的。
      0072如果執(zhí)行偏舍入(即,BIASRND=1),則結(jié)果應當被上舍入而不管余數(shù)是否精確地等于二分之一,因此在625RNDSEL被設(shè)置為1。
      0073如果執(zhí)行無偏舍入(即,BIASRND=0),則僅當余數(shù)大于二分之一或僅當余數(shù)精確地等于二分之一而LSB=1時結(jié)果應當被上舍入。因此,如果BIASRND=0,則在626檢查S的值。如果S=1,則余數(shù)大于二分之一且結(jié)果應當舍入,因此在627設(shè)置RNDSEL為1。如果S=0,則余數(shù)精確地等于二分之一,因此在628檢查LSB。如果LSB=0,則舍入到最接近的偶數(shù)表示下舍入并且在629設(shè)置RNDSEL為0。如果LSB=1,則舍入到最接近的偶數(shù)表示上舍入并且在630設(shè)置RNDSEL為1。
      0074如上所述,在所有RNDSEL位進行或運算之后,該結(jié)果RNDSEL被用作控制位以在舍入和未舍入的值之間選擇,例如如圖7和8所示。在圖7的可以在專門處理塊10中可編程地實現(xiàn)的實施例70中,加法器71的輸出被輸入到舍入邏輯60和另一加法器72兩者。舍入邏輯60的輸出也被輸入到加法器72,并控制加法器72是否將加法器71的輸出加1。因為這些舍入操作以及在飽和邏輯73中的飽和操作位于寄存器74、75之間的關(guān)鍵路徑,所以該舍入和飽和操作必須在一個時鐘周期內(nèi)完成。這將最大時鐘速度限制到舍入和飽和操作可以被完成的時鐘速度。
      0075因此,在圖8的可以在專門處理塊10中可編程地實現(xiàn)的實施例80中,不在執(zhí)行加法82前等待舍入邏輯60,而是加法71和加法82被同時執(zhí)行并且舍入邏輯60的結(jié)果被用來控制在加法器71、82之間選擇的多路復用器81。這個先行(look-ahead)舍入減少了執(zhí)行舍入操作需要的時間,并因此增加了最大可允許的時鐘速度。
      0076當專門處理塊10與另一專門處理塊10一起被用在輸出級聯(lián)模式中時,類似的時鐘控制問題會出現(xiàn)。如在圖9的可以在專門處理塊10中可編程地實現(xiàn)的實施例90中所示的,舍入和飽和電路91被定位在級聯(lián)加法器92和寄存器93之間。又一次,這將它放置在關(guān)鍵路徑上用于寄存器定時。因此,在圖10所示的可以在專門處理塊10中可編程地實現(xiàn)的實施例100中,舍入和飽和電路91被放置在寄存器93后面。雖然這把舍入和飽和電路91從關(guān)鍵路徑上移走了,但它增加了完成時間(time-to-clockout,Tco),因為舍入和飽和操作稍后執(zhí)行。
      0077因此,圖11所示的可以在專門處理塊10中可編程地實現(xiàn)的又一實施例110可以在舍入到最接近的實現(xiàn)中得到,如上所述,舍入到最接近的實現(xiàn)僅需要在下一個最高有效位位置上加1并截斷。這發(fā)生在寄存器74之前的111,并因此不在關(guān)鍵路徑上。分離的飽和電路112位于寄存器93之后,并因此也不在關(guān)鍵路徑上。雖然與實施例100中一樣,飽和電路112的位置增加了TCO,但它沒有同樣多地增加TCO,因為僅執(zhí)行了飽和而沒有執(zhí)行舍入。在另一可替換實例(未示出)中,與圖8的實施例80類似的先行實現(xiàn)可以結(jié)合圖11的分離的飽和電路112使用。
      0078因此,可以看到,基于多個基本處理單元,可編程邏輯器件的專門處理塊已經(jīng)被提供,并且這樣的專門處理塊可以執(zhí)行許多的例如在數(shù)字信號處理操作和類似的操作中有用的濾波操作。
      0079結(jié)合根據(jù)本發(fā)明的這樣的電路的PLD120可以被用在多種電子設(shè)備中。一種可能的用途是用在圖12所示的數(shù)據(jù)處理系統(tǒng)900中。數(shù)據(jù)處理系統(tǒng)900可以包括下面部件中的一個或多個處理器901、存儲器902、輸入/輸出(I/O)電路903以及外圍設(shè)備904。這些部件由系統(tǒng)總線905連接在一起并且組裝在包含在終端用戶系統(tǒng)907中的電路板906上。
      0080系統(tǒng)900可以被用在廣泛的多種應用中,比如計算機聯(lián)網(wǎng)、數(shù)據(jù)聯(lián)網(wǎng)、儀器使用、視頻處理、數(shù)字信號處理或任何其它希望使用可編程或可重新編程邏輯的優(yōu)點的應用中。PLD 120可以用來執(zhí)行各種不同的邏輯功能。例如,PLD 120可以被配置為處理器或與處理器901協(xié)同工作的控制器。PLD 120也可以被用作在系統(tǒng)900中裁定對共享資源進行訪問的仲裁器。在另一例子中,PLD 120可以被配置為處理器901和系統(tǒng)900中的其它部件之一之間的接口。應當注意,系統(tǒng)900僅是示例性的,本發(fā)明的真正范圍和精神應當由所附的權(quán)利要求指出。
      0081各種技術(shù)可以被用來實現(xiàn)如上所述的并結(jié)合本發(fā)明的PLD120。
      0082應當理解,上面僅僅是本發(fā)明原理的說明,本領(lǐng)域技術(shù)人員可以進行各種修改而不脫離本發(fā)明的范圍和精神。例如,本發(fā)明的各種元件可以以任何希望的數(shù)量和/或布置提供在PLD中。本領(lǐng)域技術(shù)人員將明白本發(fā)明可以用不同于描述的實施例的實施例實現(xiàn),所描述的實施例只是為了說明的目的而不是為了限制,并且本發(fā)明僅由所附的權(quán)利要求限定。
      權(quán)利要求
      1.一種用于可編程邏輯器件的專門處理塊,所述專門處理塊包括用于提供輸入的積及所述積的和以輸出結(jié)果的運算電路;以及用于選擇性地將所述結(jié)果舍入為(a)最接近的整數(shù)以及(b)最接近的偶整數(shù)中之一的舍入電路。
      2.如權(quán)利要求1所述的專門處理塊,其中所述舍入電路在所述結(jié)果的可選擇的位位置執(zhí)行所述舍入。
      3.如權(quán)利要求1所述的專門處理塊,其中所述運算電路在一個范圍內(nèi)的值上運行,所述范圍向上延伸到最高正值且向下延伸到最高負值;所述專門處理塊進一步包括用于將所述結(jié)果截取為所述范圍內(nèi)的值的飽和電路。
      4.如權(quán)利要求3所述的專門處理塊,其中所述飽和電路在所述結(jié)果的可選擇的位位置上執(zhí)行所述截取。
      5.如權(quán)利要求3所述的專門處理塊,其中所述飽和電路對稱地截取所述結(jié)果。
      6.如權(quán)利要求3所述的專門處理塊,其中所述飽和電路非對稱地截取所述結(jié)果。
      7.如權(quán)利要求3所述的專門處理塊,其中所述飽和電路在所述舍入電路之后運行。
      8.如權(quán)利要求1所述的專門處理塊,其中所述舍入電路是可編程地可定位的,以優(yōu)化所述專門處理塊的操作。
      9.如權(quán)利要求8所述的專門處理塊,其中至少所述舍入電路的第一部分是并行于至少一部分所述運算電路可編程地可定位的,以便以先行模式運行。
      10.如權(quán)利要求9所述的專門處理塊,其中所述運算電路的所述部分計算所述結(jié)果,而不進行舍入;并行于所述運算電路的所述部分不舍入地計算所述結(jié)果,所述舍入電路的所述第一部分舍入地計算所述結(jié)果;以及所述舍入電路進一步包括在帶舍入的所述結(jié)果和無舍入的所述結(jié)果之間選擇的第二部分。
      11.如權(quán)利要求8所述的專門處理塊,其中所述運算電路包括產(chǎn)生關(guān)鍵定時路徑的寄存器;以及所述舍入電路在是(a)所述寄存器之前和(b)所述寄存器之后的至少其中之一的至少一個位置是可編程地可定位的,從而可編程地可包括在所述關(guān)鍵定時路徑內(nèi)以及可排除在所述關(guān)鍵定時路徑之外。
      12.如權(quán)利要求11所述的專門處理塊,其中所述關(guān)鍵定時路徑包括從另一所述專門處理塊鏈接的結(jié)果。
      13.一種包括權(quán)利要求1的專門處理塊的可編程邏輯器件。
      14.一種數(shù)字處理系統(tǒng),包括處理電路;連接到所述處理電路的存儲器;以及連接到所述處理電路和所述存儲器的如權(quán)利要求13中定義的可編程邏輯器件。
      15.一種印刷電路板,在其上安裝了如權(quán)利要求13中定義的可編程邏輯器件。
      16.在權(quán)利要求15中定義的印刷電路板,進一步包括安裝在該印刷電路板上并連接到所述可編程邏輯器件的存儲器電路。
      17.在權(quán)利要求16中定義的印刷電路板,進一步包括安裝在該印刷電路板上并連接到所述存儲器電路的處理電路。
      18.一種包括權(quán)利要求1的所述專門處理塊的集成電路器件。
      19.一種數(shù)字處理系統(tǒng),包括處理電路;連接到所述處理電路的存儲器;以及連接到該處理電路和該存儲器的如權(quán)利要求18中定義的集成電路器件。
      20.一種印刷電路板,在其上安裝了如權(quán)利要求19中定義的集成電路器件。
      21.在權(quán)利要求20中定義的印刷電路板,進一步包括安裝在所述印刷電路板上并連接到所述可編程邏輯器件的存儲器電路。
      22.在權(quán)利要求21中定義的印刷電路板,進一步包括安裝在所述印刷電路板上并連接到所述存儲器電路的處理電路。
      23.一種用于可編程邏輯器件的專門處理塊,所述專門處理塊包括用于提供輸入的積及所述積的和以輸出結(jié)果的運算電路;以及用于選擇性地將所述結(jié)果舍入為(a)最接近的整數(shù)以及(b)最接近的偶整數(shù)之一的舍入電路。
      24.如權(quán)利要求23所述的專門處理塊,其中所述運算電路在一個范圍內(nèi)的值上運行,所述范圍向上延伸到最高正值且向下延伸到最高負值;所述專門處理塊進一步包括用于將所述結(jié)果截取為所述范圍內(nèi)的值的飽和電路。
      25.如權(quán)利要求24所述的專門處理塊,其中所述飽和電路在所述結(jié)果的可選擇的位位置上執(zhí)行所述截取。
      26.如權(quán)利要求24所述的專門處理塊,其中所述飽和電路對稱地截取所述結(jié)果。
      27.如權(quán)利要求24所述的專門處理塊,其中所述飽和電路非對稱地截取所述結(jié)果。
      28.一種包括權(quán)利要求23所述的專門處理塊的可編程邏輯器件。
      29.一種數(shù)字處理系統(tǒng),包括處理電路;連接到所述處理電路的存儲器;以及連接到所述處理電路和所述存儲器的如權(quán)利要求28中定義的可編程邏輯器件。
      30.一種印刷電路板,在其上安裝了如權(quán)利要求28中定義的可編程邏輯器件。
      31.在權(quán)利要求30中定義的印刷電路板,進一步包括安裝在該印刷電路板上并連接到所述可編程邏輯器件的存儲器電路。
      32.在權(quán)利要求31中定義的印刷電路板,進一步包括安裝在該印刷電路板上并連接到所述存儲器電路的處理電路。
      33.一種包括權(quán)利要求23的所述專門處理塊的集成電路器件。
      34.一種數(shù)字處理系統(tǒng),包括處理電路;連接到所述處理電路的存儲器;以及連接到所述處理電路和所述存儲器的如權(quán)利要求33中定義的集成電路器件。
      35.一種印刷電路板,在其上安裝了如權(quán)利要求34中定義的集成電路器件。
      36.在權(quán)利要求35中定義的印刷電路板,進一步包括安裝在該印刷電路板上并連接到所述可編程邏輯器件的存儲器電路。
      37.在權(quán)利要求36中定義的印刷電路板,進一步包括安裝在該印刷電路板上并連接到所述存儲器電路的處理電路。
      全文摘要
      一種用于可編程邏輯器件的專門處理塊,包括用于執(zhí)行乘法并對其求和的電路,以及對該結(jié)果進行舍入的電路。該舍入電路可以選擇性地執(zhí)行舍入到最接近和舍入到最接近偶數(shù)操作。另外,優(yōu)選地,舍入發(fā)生的位位置是可選擇的。優(yōu)選地該專門處理塊還包括飽和電路以防止溢出和下溢,并且優(yōu)選地飽和發(fā)生的位位置也是可選擇的。舍入和飽和位置的選擇能力提供了對輸出數(shù)據(jù)字寬度的控制。根據(jù)定時需要,舍入和飽和電路可以可選擇地定位于不同的位置。類似地,使用并行計算舍入和非舍入結(jié)果的預測性模式以及在那些結(jié)果間選擇的舍入邏輯,可以加速舍入。
      文檔編號G05B19/05GK101042583SQ20071008795
      公開日2007年9月26日 申請日期2007年2月8日 優(yōu)先權(quán)日2006年2月9日
      發(fā)明者K·Y·M·李, M·朗哈默, 林以雯, T·M·恩格界 申請人:阿爾特拉公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1