TW448662B - Digital signal processor using a reconfigurable array of macrocells - Google Patents

Digital signal processor using a reconfigurable array of macrocells Download PDF

Info

Publication number
TW448662B
TW448662B TW088101865A TW88101865A TW448662B TW 448662 B TW448662 B TW 448662B TW 088101865 A TW088101865 A TW 088101865A TW 88101865 A TW88101865 A TW 88101865A TW 448662 B TW448662 B TW 448662B
Authority
TW
Taiwan
Prior art keywords
input
data
patent application
scope
quot
Prior art date
Application number
TW088101865A
Other languages
English (en)
Inventor
Jeffry E Gonion
Brett C Bilbrey
Original Assignee
Sheng George S
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sheng George S filed Critical Sheng George S
Application granted granted Critical
Publication of TW448662B publication Critical patent/TW448662B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8046Systolic arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)
  • Logic Circuits (AREA)
  • Executing Machine-Instructions (AREA)

Description

經濟部智慧財產局員工消費合作社印製 448 66 2 A7 ______B7 五、發明說明() 本發明大致係有關於數位信號處理,而更特別的是, 係有關一種即時數位脈動處理器,該處理器具有可重新配 置而相互連接的巨集單元之核心,且其巨集單元則能夠根 據處理高頻寬數位資料的功能來規劃之。 發明背景 半導體處理的發展、引人注目地降低了製造成本所結 合的設計與裝置效能,對數位技術而言,已經產生攻略新 的及先前不相關的行業之良機。例如,在信號處理場所中 ,變動乃是從類比媒介,例如合成的電視信號,行進到精 確計算的數位圖像,如高精確度的TV和大密度碟片(光 碟片)。所以,已經將額外的費用投資於潛在的格式化、 處理、傳輸以及解析此類信號之硬體系統上。 在特定的照片圖像中,例如GIF、JPEG、MPEG圖像 、電影事業的影像圖像、影像遊戲的影像圖像等等,必須 處理數位資料於微秒的層級下,以顯現一種”即時圖像”給 觀看的人。對住家中廣播的需求而言,交互作用增強精確 度的電視機可以具有解碼盒。數位壓縮同軸電纜的電視系 統將提供現今頻道數目的十倍。經由個人電腦、同軸電纜 線和電話,線上存取資料庫影像遊戲以及書庫’將大大地 增強了資訊的效用。 數位信號處理器(”DSPs”)和場可程式化邏輯閘陣列 (”FPGA”)爲典型用來處理數位編碼之裝置的型式。DSPs 乃是設計來處理即時使用的資訊’而其資訊則是建立於計 算單元之中°藉由限制控制應用軟體指令中複雜的程序,
-------*-----k·---------訂---------r > (請先閱讚背面之注意事項再填寫本頁} ΐ纸張尺度 t關家標準(CNS)A4規格(210 X 297公釐) 448662 A7 B7 經濟部智慧財產局貝工消費合作社印製 五、發明説明(上) 以及藉由花費大多數的處理資源於分析、解碼和傳輸其輸 入信號上,而安排一個DSP來降低處理時間。就大多數的 應用而言,DSP被認爲是一種合適的”即時”信號處理器’ 但是對今日複雜的數位信號型態而言,其可能如同一般目 的之即時信號處理器而並不適合°例如對非壓縮影像的高 頻寬信號而言,一個DSP則經常是不適用的。 另一方面,FPGA爲一種多用途的積體電路晶片’其 通常包含相同邏輯區塊的一個陣列。:FPGA的內部電路能 夠由個別使用者來建構之,用以實現一種應用規格的積體 電路(”ASIC”)。使用者在建構期間指定FPGA m一的 內接結構。所決定的配置爲一種邏輯電路,適用於一個給 定的工作或功能。其核心邏輯,然而,不管其應用而保持 原狀,導致根據效率和容許能力,其裝置並不如理想的效 能特性。因此,儘管FPGA當作可程式應用驅動裝置乃是 有彈性的,然而它們缺乏虞_連還II的影像處理演算法所需 的效率和處理_速度^。. 能夠建構於數學運算層級(加法/減法/乘法/比較)而 不建構於布林邏輯層級(及/或/互斥或/反向)的一種積體 電路結構,將提供超越習知技術DSP和FPGA的應用技術 之極佳優點。FPGAs乃是由數億個單元所組成|該單元則 使用基本的及/或布林邏輯電路,而規劃或建構於閘層。此 乃意.謂著’單一個的乘法運算能夠象徵數千個的邏輯運算 。一個FPGA就其效率而言,由於打算提供一種一般目的 之邏輯處理器’因此於其中並不建立數學的構思。今日許 (請先聞讀背面之注意事項再填寫本頁) 、-'1* " i 本紙張尺度適‘用中國國家搮隼(CNS )从規格(210X297公釐) 448 66 2 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明說明( 多的影像及數位資料標準需要高度的解析度以及快速的重 建能力。在圖像的處理中,例如,圖像本身可以是數値的 二維陣列’而其數値則稱爲映像點。現今的DSP和FPGA 技術,然而,就實現輸入資料流的即時處理而言,乃是電 氣迴路兩個緩慢或浪費的非需求量。隨著需要持續地增大 資料的容許能力,也提高對更有彈性的裝置架構之需求。 一種以判斷方式處理資料的方法,乃是將核心邏輯連接成 平行的配置。對系統的操作者而言,由於結構、設定以及 連接外部系統的介面中固有的複雜度,使用平行處理技術 的系統因而顯現出其障礙。就配置以及在裝置和系統層級 上用來實現與外部子系統流暢的可共通性所需的特殊化知 識而言’平行處理器通常是有所困難的。 其所需的乃是提供即時信號處理能力的一種裝置架構 ,具有適合處理今日高頻寬數位信號型態的內部重新配置 功能,而高頻寬數位信號型態則例如壓縮影像、聲音、高 密度碟片、數位多用途碟片、而尤其是混合型式。 發明槪要 所以,本發明提供一種可重新配置的即時數彳立胃 ,包含使用者所決定的同時操作之內接巨集單元,組, 執行數位資料即時的脈動處理。巨集單元之間的相互連接 乃是可程式化的,用以使得使用者所定義的可用巨g胃元; 組,能夠執行使用者特定的功能或工作。 在一個實施例中,設有一個脈動處理器,其處 理器具有一個內部巨集單兀區段’而其區段則具有一組用 5 I —^ I «J— - I I I I I - —- - I It Γ ----- - r I I I ί I I I I f . (請先閱讀背面之注意事項再填寫本頁) 本紙張尺度適用中國國家標準(CNS)A4规格(210 X 297公釐) 448662 經濟部智慧財產局8工消費合作社印製 A7 B7 五、發明説明(各) 來處理輸入數位資料流的輸入埠。巨集單元區段包含—個· 用來等化輸入數位資料流的-1^億體區塊’以及一個由正反 器、多工器和其它標準邏輯裝置所組成,用來將輸入流劃 分爲四個單1輸出流之一個陣列韵控制電路。 在另一個實施例中,巨集單元包含至少一組用來傳送 數位mu迅璋,其數位信號則是藉由包含於巨集單元 中的算術單元,從處理之後的等化區塊中所接收到的。一 組通用的記憶暫存器藉由內迴控鹰電路,根據所預定配置 的功能,用來控制巨集單元的動作。 在另一個實;i例中,巨集單元區段包含多數個的算術 邏輯單元,而其輸入填jjj羞里_來_選擇來自_單一有效數位資 料流組的資料輸入,其中的有效數位資料流則是從巨集單 元區段所接收到的。巨集單元能夠結合至少兩個的加法器 ,其加法器有所選擇地執行輸入數位資料的算術運算。一 個乘法器同樣地i來執g磨選擇性的窟料流之一組乘法運 算。使用一組配置暫存器’其加法器和乘法器共同地實現 一個預先配置的功能。一組輸出埠連接到巨集單元區段, 用來聯繫連續的巨集單元彼此之間。 在又另一個實施例中,一個支援區塊可以連接到內接 的巨集單兀,並且配置來充當處理器和一個或多個外部系 統之間的一個介面,其中的處理器則是由巨集單元特定的 置所定義的。外部系統的至少一個能夠塡寫於巨集單元 記憶暫存器,用以根據使用者所選擇的功能來配置處理器 。也設置一個輸入區塊和—個輸出區塊,用以接收來自外 本紙張纽適灰中國國CNS) M規格(训以贿羡) ~ -- Γ - Ί n n » 策 ——-——-—訂 IΛ (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 448662 A7 B7 五、發明説明(t ) 部子系統的數位資料,並且在處理之後,將它們傳輸到外 部系統。 將藉由參照以下結合附圖的詳細說明,來了解本發明 還有的其它優點和利益。 圖式簡單說明 在附圖中: 圖1爲一個習知技術數位信號處理器(”DSP”).內部 架構的高階描述; 圖2爲一個高階的描述,闡述圖1所示的DSP的資料 架構; 圖3爲在場可程式化邏輯閘陣列(”FPGA”)中單一個 典型的巨集單元之示意圖; 圖4爲根據本發明一個實施例的巨集單元之高階架構 圖; 圖5爲根據本發明一個實施例的第一個巨集單元區段 之詳細電路圖; 圖6爲根據本發明一個實施例的第二個巨集單元區段 之詳細電路圖; 圖7爲根據本發明的一個實施例,使用一個巨集單元 陣列的市場規格積體電路(”MSIC”)之高階描述; 圖8根據本發明的一個實施例,閩述一個MSIC的內 部流程: 圖9根據本發明的一個實施例,闡述資料如何流經一 個MSIC的輸入/輸出區塊; ____7_ 本紙張尺度適衲中國Ϊ家標準i CNS ) A4規格(210X297公釐) IJ. —,--U----装------訂------' (請先閲讀背面之注意事項再填寫本頁) 448 66 2
據本發明一個實施例,陳述經過一個MSIC $€::流程 jbU據本發明的一個實施例,闡述如何處理結合 A7 B7 五、發明説明(ί-) 圖發明的一個實施例中,MSIC所支援 的資料結構根據本發明一個實施例的流向圖, 陳述一個MSIC的處理器介面之操作程序; 圖 的RAM區 圖 巨集單元^料處理問題 詳細說明 開始圖1,顯示一個標準數位信號處理器(”DSP”) 的高階架構圖,並且通例地標示爲10。DSP 10具有三個獨 立的全功能之計算單元11,計算單元11包含一個算術/邏 輯單元(”ALU”)12、乘法器/累加器(”MAC”)14以及楠 型偏移器16。所有的計算單元11能夠直接地處理16位元 的資料,並且也提供硬體支援的多重精密計算。 ALU 12 執行除了 韵二 輯運算。MAC 14執行單循環週期的乘法、乘法/加法、以 及乘法/減法運算。偏移器16執行邏輯和算術偏移、正規 化、解正規化、和取指數運算1偏移器16也履行分數格式 的控制,包含多重字組浮點表示法。爲了使任何一個單元 的輸出能夠在下一個週期爲任何一個單元的輸入,而用並 排的方式來配置計算單元11以替代串聯的方式。可經由內 部結果匯流排18如此地連接於計算單元11之間。計算單 元11包含輸入暫存器20和輸出暫存器22,可存取於內部 資料記憶體資料(DMD)匯流排24。計算的運作通常從輸 _ _8___ 本紙浪尺度適用中國國家標牟(CNS ) Α4規格(210X 297公釐) ---:I,--Τ----笨------訂------Λ 1 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財1局8工消費合作社印製 448662 A7 經濟部智慧財產局員工消免合作社印製 五、發明説明(η ) 入暫存器擷取它們的運算元,並且將其結果載入一個輸出 暫存器中。其暫存器充當記憶體和計算迴路兩者間的資料 之一個短暫的逗留處。如此的特點引進輸入傳送的一個層 級,以及輸出的一個層級。內部結果匯流排18允許前一個 的計算結果直接用來當作另一個計算的輸入。當執行一連 串不同的運算時,如此則避免額外的傳輸延遲。 用於晶片上或外部記憶體存取的位址則是藉由兩個專 用資料位址產生器(DAGs) 26和一個程式循序器32來提 供的。當記憶體資料傳輸到計算單元11的輸入暫存器時, 或者當從計算單元11的輸出暫存器傳出記憶體資料時, DAGs 26則提供其記憶體位址。藉由使用雙資料位址產生 器26,允許處理器產生用於雙運算元擷取的同時位址。儘 管DAG 30能夠提供位址給資料記憶體34或程式記憶體36 ,而DAG 28只能夠提供位址給資料記憶體34。 程式循序器32用來保持程式流適當的控制,並且協 同資料位址產生器26保持計算單元11連續地工作,以及 最大化其容許能力。程式循序器32提供指令位址給程式記 憶體36,並且藉由掌握現在所執行的指令之指令暫存器38 ,來驅動程式循序器32。 指令暫存器38將單一層級的管線操作輸入於程式流 中’以使得在一個處理器週期期間,擷取並且載入其指令 於指令暫存器38中,並且儘管預先擷取下一個指令,在下 一個週期的期間,才執行其指令。再者,程式循序器32也 支援單一週期的條件分支,並且執行以零爲開頭的程式迴 -----------9_____ 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) --r - .---- n n I 衣— I - —訂 (請先聞讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 448662 A7 _____B7 _ 五、發明説明($ ) 圈。 所說明的一般DSP可以具有五個內部匯流排。程式記 憶體位址(”PMA”)40匯流_排和資料記憶霞位址_〈”DMA” )42匯流排乃是內部用於結合了稈gjgj蒼料記憶體的位址 ,同時程式記憶體資料(”PMD,,)44匯流排和資料記憶體 資料(”DMD,’)匯流排24則適用於結合了記憶體空間的資 料。將這些匯流排執行多工作用46,而成爲單一個外部位 址匯流排48以及一個外部位址匯流排50。 PMA匯流排40爲14個位元寬,允許直接存取最高 16K個字組的混合指令碼和資料。PMD匯流排44爲24個 位元寬,能夠容納24位元的指令寬度。同時,DMA匯流 排42爲14個位元寬,允許直接存取最高16K個字組的混 合指令碼和資料。同樣地,DMD匯流排24爲16個位元寬 ,並且提供一個路徑,於單一個週期內,用來將處理器中 任何一個暫存器的內容傳到其它任何一個的暫存器,或傳 到任何一個的資料記憶體位置。PMD匯流排44經由直接 的路徑或取道匯流排交換單元46,也能夠用來將資料傳輸 到計算單元11以及從計算單元11傳出資料。如同先前所 提到的,內部結果匯流排18在各個計算單元之間,直接傳 輸中間的結果。 DSP 10提供單一週期的乘法計算、具有累加的乘法、 任意的偏移量、以及標準的算術和邏輯運算。ALU 12必須 考慮到任何一個計算的順序,以使得能夠執行所給定而不 需要再重新改造的DSP演算法。因此,DSP 10提供內部所 本紙張尺度適用中國國家捸準(CNS ) A4規格(210X 297公釐) ^—4« >^^1- - I— 1>1 -- ^^^1 n HI I- t^n 1^1^1 I m^i —^ϋ n^· I (請先閱讀背面之注意事項再填寫本頁) 448662 Α7 Β7 五、發明説明(?) 編輯的緊湊乘法功能,用以執行各種的算術功能。 (請先閱讀背面之注意事項再填寫本頁) 由於單一個處理器執行輸入資料流所有__的運算,DSP 10受限於頻寬,因此DSP K)根本不執行用於高連率信號 導理的心臟收縮式運作。再者,由於大多數的DSPs使用介 面電路,所以必須在處理之前接收並且儲存輸入資料流。 在處理之後,其結果則塡寫於一個匯流排、記憶體空間、 或其它的內部架構上,於其上的結果則能夠聯繫下游的裝 置。由於其缺乏心臟收縮式的處理,DSP必須以外加的電 路來接觸處理輸入資料流。 此時參照圖2,以高階的方塊圖來闡述一個DSP設計 的限制。如同所提到的,DSP 10的算術區節包含三個獨立 攻聽單元:ALU 12、MAC 14、以及桶形偏移器16。經 由一個內部結果匯流排假蓴元,用以允許一個 單元的輸出可用來當作另一個單元的輸入。再者,ALU 12 和MAC 14直接連接到程式和資料記憶體匯流排。 . 經濟部智恶財產局員工涓費合作社印製 對DSP 10而言MAG結果暫存器23爲一個40位元的 累加器,其累加器則分爲兩個16位元的部份以及一個8位 元的溢位暫存器。8位元的溢位暫存器在可能遺失資料之 前,提供256個MAC 14的溢位。當DSP的應用經常處理 超過大動態範圍的數字,此乃是重要的。 DSP 10固有計算處理單元50的缺點乃是降低了動態 影像信號的處理速度。對一些應用而言,例如電影工業的 影像圖像,DSPs並不考慮”即時”的。這是計算單元12、Η 和16串接配置的主要效果,其限制了所有系統的頻寬。再 ________U______—-一 本紙張尺度適’用中國國家標準(CNS ) Α4規格(210X297公釐) 448662 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明説明(/ο) 者,一個DSP並不處理心臟收縮式運作’也不處理信號, 而得到一個高的速率。偕同大多數DSPs所使用的配置和定 址技術意謂著需要額外數量的介面電路’用來傳給其它的 子系統,用以在處理之前緩衝其輸入信號° 現在開始圖3,闡述場可程式化邏輯閘陣列(”fPGA” )中單一個單元典型的槪要圖,並且通例標示爲60。更特 別的是,圖3藉由配置控制信號D0、加、Dl ' DY..至D5 來選擇其功能,以闡述能夠實現所有輸入變數62和輸入變 數64使用功能的FPGA—個可能配置之邏輯架構。 例如,爲了實現一個AND閘(及閛)’藉由在和 D2配置控制接線上的高位準信號,經過反向器66和68 ’ 分別接合輸入接線62和64。接線D1和D0連接到眾所周 知的開關電晶體70和72。低位準信號供給於配置控制接 線DO、D卜D4。假設DO、D1和其它所有的接線連接於N 通道MOS開關電晶體,則控制信號D2、的、D3和的爲” 不在意(don’t care) ”的。換言之,這些信號可以是高態或 低態,而不影響輸出信號80。另外,提供〇5上的高位準 信號來致能AND閘74。因此,AND閘74充當一個兩個輸 入的AND閘,輸入變數62和64的邏輯AND則供給NOR 閘。來自AND閘74的信號則經過NOR閘76。 NOR閘76將來自AND閘74的高位準信號轉換成低 位準信號,用以關閉MOS電晶體78 (其源極接地,而其 汲極連接到輸出接線80),並且經過NOR閘82用來導通 N通道電晶體84 (其汲極連接到電源供應端,而其源極則 本紙乐尺度適用中國國家標筚(CNS ) A4規格(210X297公釐) ----J---- 衣------、1T------! . (請先閱讀背面之注意事項再填寫本頁) 448662 A7 -----—----ΪΖ_____ 五、發明説明(,1 ) 連接到輸出接線80和N通邀電晶體78的汲極)。因此, 如同以上所述的架構乃是一個AND閘。藉由適當地選擇供 給配置控制接腳至D5的楚制信號,來編製其架構中適 當的開關電晶體和邏輯閘,也能夠產生其它的邏輯功能。 典型地,藉由相互連接多數個由邏輯組件所組成的主 動裝置,以任何一種方式的基本陣列來實現所需的邏輯功 能,而產生FPGAs,例如剛才所討論的多用途電路。隨著 閘陣列變得更爲複雜,由基本陣列中給定的主動裝置之相 互連接,來實現的邏輯模擬則變得更爲困難’並且典型地 使用一個電腦程式來實行。再者,使用一個技術上眾所周 知的型式之電腦輔助設計程式,來取得在基本陣列中主動 裝置實際相互連接以用來產生〜個閘陣列成品的配線。需 要使用邏輯模擬確認程式以及半導體裝置配線程式,設計 如此架構的過程乃是複雜並且相當昂貴的。 經濟部智慧財產局員工消费合作社印製 II ϋ^ι . ^^^1 m I ^^^1 i— - I ^^^1 f^1 • ·* (请先M讀背面之泣意事項存填寫本i ) 以上所說明的邏輯電路爲FPGA的一個小單元。當 FPGA的應用設計變得複雜,例如影像處理,其將會成爲 一個複雜的電路網路。隨著這些單元變得更爲複雜,在一 個FPGA中用來安排資料路徑的資源數量則變得非常的大 。影像處理需要多方面的功能,以及需要FPGA所不能夠 提供的快速響應時間。因此,就其替代的方式而言,所存 在的需求爲:相當地簡化從單元基本陣列中,取得一個給 定的邏輯功能。 參照圖4,根據本發明,顯示一個巨集單元的高階架 構,並且通例地標示爲丨60。巨集單元160能夠用來充當 ___13___ 本紙張尺度適用中國國家標準(CNS ) Μ規格(210X297公釐) 448 66 2 A7 I_____ _ B7__ 五、發明説明(g) 一·個可重新配置的邏輯裝置之功能中樞。巨集單元丨60能 夠配置來執行每個映像點兩個的加法和一個的乘法'有效 地提供兩倍於使用之前技術裝置所完成的處理數量。能夠 實現其條件語法,而且自動地校正輸入影片信號的時序, 用以提供適當地實行其處理。 接近加法器170的路徑架構包含多工器169和171。 加法結果188的符號位元186驅動多工器169的選擇線, 而控制加法器輸入162和164之間的選擇處理。例如,其 能夠用來計算最小/最大的資訊。因此,基於減法結果188 的符號186,加法器170的輸入162和輸入164相減,並且 選擇來自多工器169適當的輸入。接近加法器182的路徑 架構包含多工器179、181。加法結果189的符號位元177 驅動多工器181的選擇線,而控制乘法結果180、輸入162 、輸入164或多工器結果184之間的選擇處理。能夠延遲 172乘法結果180,並且將其輸入第二個加法器182,用以 充當另一個的輸入流184。如此則允許兩個後來的時脈狀 態或映像點的資料一起運算。 輸入162加到170第二個輸入流丨64,其也可以是一 個常數。來自多工器171的結果176則乘以178第三個輸 入流或常數166。最後,結果180加到182第四個輸入流 184,其也可以是一個常數。第四個輸入流184可以是乘法 結果.180延遲一個或兩個時脈狀態,或者可以是輸入168 。多工器183爲一個控制電路,隨著每一個時脈狀態,用 來選擇乘法器結果180或輸入168。最後的階段爲經由多 14 本紙張尺度適用中國國家橾準(CNS ) Α4規格(2丨0·〆297公釐) (請先閱讀背面之注意事項再填寫本頁) 訂 經濟部智慧財產局員工消贲合作社印製 48 66 2 A7 B7 — ---— --— -—. ................ 五、發明说明(β) 工器179選擇加法器的結果189或多工器181的結果。從 巨集單元160的輸出爲乘法結果流180以及加法結果流丨74 〇 圖5闡述巨集單元160部份的低階結構。首先將輸入 一個巨集卓兀的資料流彼此結合,在時間上等化成其它將 要運作的資料流。如此則不管各個信號(例如紅、綠和藍 )所走的路徑,而確保延遲的等效性。如果以如此的配置 ,已經等化的資料則可以直接通過巨集單元160中其它的 邏輯單元,或者可以用來充當下一個巨集單元的輸出。藉 由圖6中所闡述的等化RAMs執行其資料的等化,並且於 下討論之。 在一個實施例中,巨集單元160最多可以存取四個單 一輸入流,並且在兩倍於映像點時脈的速度下,最多產生 四個單一輸出流。另外,六個資料暫存器能夠用來提供額 外的數値輸入給巨集單元160的某部份。 經濟部智慧財產局員工消费合作社印製 « . i I 浪1T (請先閲讀背面之注意事項再填寫本頁) 巨集單元一覽圖160顯示結合巨集單元160的路徑和 控制邏輯。巨集單元丨60的低階敘述,使用標準1C組件’ 例如加法器、乘法器和一個組合邏輯電路的陣列’來 如何處理數位信號。在一個實施例中,六個16位元的常 暫存器由巨集單元160所產生,並且用來提供常數數^,給 巨集單元160其它的邏輯單元。 .如同所示的,巨集單元160包含多工器194 ’藉由選 擇邏輯單元1%來驅動多工器194,用以選擇其輸入192 ° 多工器194於四個單一輸入通道192中’選擇其中一 ____15________ 本紙张又度遑用中國國家標华(CNS ) A4規格(2ί0Χ297公釐) A7 448662 B7_____ 五、發明説明(A ) 個。由每個時脈狀態個別地控制多工器194輸入192的選 擇。除了有效的輸入爲四個單一流輸入192 ’加上來自晶 片上記憶體暫存器的四個常數200 ’總共爲8個可能的輸 入,其輸入選擇198類似於輸入選擇192。控制邏輯202將 —個邏輯數値置於致能多工器204的多工器204選擇線上 ,用來選擇四個單一輸入流192的其中一個,或常數200 的其中一個。 同樣地,在每一個時脈狀態下,個別地控制位元區塊 206和位元區塊208。控制邏輯210用來選擇位元區塊206 和208的功能運作。位元區塊206和位元區塊208控制輸 入加法器209的資料。多工器的結果212和來自多工器204 的輸入資料214可以原狀、取消、強迫爲0、強迫爲1、強 迫爲正(絕對値)、強迫爲負、以及基於輸入的符號強迫 爲±1,而輸入加法器209。爲了執行取消動作,位元區塊 206和位元區塊208將位元反向,並且設定加法器209爲進 位輸入。因此,如果同時取消選擇輸入212和選擇輸入 214,加法器209將會產生不正確的結果。 位兀單兀206和208的分數格式可以定爲±1.14、 ±3.12和±5.10的資料流500。由於加法器的輸入212和214 必須爲相同的格式,資料格式之間並沒有轉換存在,並且 相同的控制邏輯210控制著位元區塊206和208兩者。儘 管乘.法器能夠操作於兩個不同格式的輸入,並且產生不受 輸入格式所支配的輸出格式,加法器仍然需要兩個相同分 數格式的輸入。加法器209執行所指定的操作,並且產生 --------16_____ 本紙掁尺度適用中國國家榡準(CNS ) A4規格(2丨0X297公釐) : I-1Ί^—l -J-· 1 Ρ I - I I 尽—I (請先閱讀背面之注意事項再填寫本頁) 訂 經濟部智葸財產局員工消费合作社印製 經濟部智慧財產局員工消贫合作社印製 -3 6 6 2 A7 ____B7_ 五、發明説明() 加法器結果218,有效地輸入於乘法器216之前的多工器 220。 多工器222選擇輸入2·12和輸入214。控制邏輯224 控制著多工器222的選擇處理。控制邏輯224選擇線乃是 藉由來自加法器結果218的符號位元226所控制。要注意 到的是’所通過的資料乃是居先於位元區塊206和位元區 塊208所作的任何一個處理。多工器220乃是用來選擇加 法器結果218以及位元區塊輸入212和位元區塊輸入214 條件選擇的多工器結果228。 在每一個時脈狀態下,除了來自加法器結果218的符 號位元226也可以用來控制輸入選擇和常數的有效選擇之 些微不同之外,其輸入流230相類似於輸入流198。多工 器231輸入的選擇乃是藉由來自組合邏輯電路232的邏輯 値所控制的。除了來自加法器結果218的符號位元226用 於每一個時脈狀態的選擇處理之外,組合邏輯232相同於 輸入選擇192和輸入選擇198的邏輯電路。 乘法器216將多工器結果234和多工器結果236相乘 。乘法器所要處理的資料之格式並不需要是相同的。偏移 暫存器238將乘法器216’s結果配置的部份設置於乘法輸 出線上。使用者可以指定32位元結果的位元傳過下一級。 由於加法器242必須以相同的資料格式操作,因此相 同的控制邏輯用來控制位元單元244和位元單元246的分 數格式。控制邏輯248在每一個時脈狀態下,用來控制位 元單元244和位元單元246的分數運作。來自加法器結果 _______SL____— 本紙浪尺度適用中國國家椋準(CNS ) A4規格(210X297公釐) (請先閱讀背面之注意事項再填寫本頁) 訂 4 48 66 2 經濟部智慧財產局員工消費合作社印製 A7 B7_ 五、發明説明(4 ) 218的符號位元226用來致能位元單元244和246操作模式 的控制邏輯248之選擇。控制邏輯248控制位元單元244 和246的功能模式。除了有效的常數選擇尙有些微的不同 之外,輸入流250類似輸入流230。來自加法器結果218的 符號位元226將控制邏輯252的邏輯値致能,而其邏輯値 則是用來致能多工器254的輸入選擇。 多工器256選擇多工器254的輸出,並且藉由一個或 兩個時脈狀態258延遲其乘法輸出240。如此則允許在鄰 接的時脈狀態上或鄰接的映像點上之資訊一同運作。控制 邏輯260控制多工器262選擇乘法輸出240或具有一個狀 態延遲的乘法輸出240。同樣以一個狀態遲延來延遲多工 器262的輸出。多工器256選擇一個或兩個的狀態延遲線 ,或者選擇多工器254的輸出。 在任何一個位元區塊輸入之前,多工器264選擇四個 加法器輸入212、214、240、266的其中任何一個。多工器 268和控制邏輯270乃是邏輯電路,用來將邏輯値設置於 多工器264的選擇輸入線上。符號位元272和符號位元226 用來選擇多工器268的輸入。多工器282選擇多工器的結 果274和加法器的結果276。以每一個時脈狀態來從事其 選擇,並且輸入整形區塊278。 控制邏輯以每一個時脈狀態來控制整形區塊278的功 育g ’用以提供;U.Η、±3.12、±5.10流組。正値可以整形爲 0.50、0.999999或者1.00。而負値則可以整形爲0.00或者-0·50 〇在這點上,資料流能夠整形爲任何一個預先選定的 —----^一 __ 本紙張尺度適用中國國家榡牟(CNS ) A4規格(2iOX 297公釐) (請先閲讀背面之注意事項再填寫本頁) 448662 A7 B7 五、發明说明(ιΊ ) 數値,用以確保其符合所使用的任何格式。 提供兩個的輸出,一個乘法的結果輸出240 的結果輸出280。 " 在操作時,於應用所定的配置期間內, 單元的輸入和常數的選擇。所以,根據所預期的實施例 模擬各種功能運作的一個MSIC程式闡述於下。 巨集單元160 以及一個加法 完成輸入巨集 library ieee; use ieee.sid_logic_H64.ali; package MStypes is constant MSstreamSize : integer : = 16; constant MScstreamSize : integer := MSsireamSize -Η 1; constant MSXIntegerSize : integer 2; constant MSXFraccionSize : integer : = 14; constant MSXSignPosiEion : integer := 15; constant MSXIntLeft : integer := MSXSignPosicion; constant MSXIncRight : integer : = 14; constant MSXFracLeft : integer :- 13; constant MSXFracRight : integer := 0; constant MSYIntegerSize : integer : = 4; constant MSYFractionSize : integer :- 12; constant MSYSignPosition : integer := MSXSignPosition; constant MSYIntLeft : integer := MSXSignPosition; constant MSYIntRighE : integer : = 12; constant MSYFracLeft : tnceger : = 11; constant MSYFracRighc : integer := 0; --τι,-------装------訂------飞 (請先閱讀背面之注意事項再填寫本页) 經濟部智慧財產局員工消費合作社印製 constant MSZIntegerStze : integer :: constant MSZFraccionSize : integer : constant MSZSignPosition : integer : constant MSZIntLefi : integer := constant MSZIruRighc : integer := constant MSZFracLeft : integer := constant MSZFracRight : integer : =6;=10; =MSXSignPosition; MSXSignPosition; 10;=9; -〇; consiaiu modeX : std_ulogic_vector(l downto 0) constant modeY : std_uiogic_vector(l downto 0) constant modeZ : std_ulogic_veccor(l downto 0) "00";M〇r; "10"; 2.14 format 4.12 format 6.10 format 19 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐} 448662 A7 B7 五、發明説明(J ) —define various bus types subtype MSstream is std_iil〇gic_vector( MSstreamSize'l downto 0 ); type MScarryStream is record carry : std_ulogic; stream : MSstream; end record; subtype MSstreamMode is s£d_ulogic^vector( i downto 0 ); -various functions that help out in places function vec2stdu ( D : std_uiogic_vector ) rerum std_ulogic; function stdu2vec ( D : std_u!ogic ) return sEd_u!ogic_vector; function cscream2vec (s : MScarryscream ) return std_ulogic_vector; function vec2cstream ( v : std_ulogic_vector ) return MScarrystream: —constants for die bitwise blocks constant NOOP : std_u!ogic_vector(2 downto 0) := "000tr; constant NEGATE : sid ulogic vector(2 downto 0) := ^(Χ)Γ; constaiu POSITIVEABS : std uiogic vector(2 downto 0) *O10rt; 經濟部智慧財產局員工消費合作社印製 2 本紙乐尺度適用中國國家棟準(CNS ) A4规格(210X 297公釐) 448662 A7 B7 五、發明説明(/? constant NEGATIVEABS : std_ulogic_vector(2 downto 0) := Μ01Γ constam FORCEZERO : sid_ulogic_vector(2 downto 0) := "100"; constant FORCEONE : std_ulogic_vector(2 downto 0) := Μ10Γ; constant ONESIGN : std_ulogic_vector(2 downto 0) := "110rt; —coimants for the clipping block
constant LCLIPNONE constanc LCLIPZERO constant LCLJPHALF :std_ulogic_vector( 1 dowmo 0) := "00H; :std_ulogic vector(l downto 0) "0t"; :std_ulogic_vector(i downto 0) := "lO"*; 經濟部智慧財產局員工消費合作社印製 constant UCLIPNONE : std_uIogic_vector{i downto 0) := "00"; constant UCL1PKALF : std_ulogic_vec[〇r(l downto 0) : = "OF; consiant UCLIPALMOST : std_ulogic_veaor(l downto 0) := rtl0rt; constant UCLIPONE : std_ulogic_veccor(l downto 0) ;= "Π"; end iMScypes; package body MS types is function vec2stdu ( D : std_ulogic_vecior ) rerurn std_ulogic is begin return D(0); end vec2stdu; function stdu2vec ( D : std_ulogic ) return std^ulogic^vector is variable v : std_ulogic_vecior(0 downto 0); begin v(〇) := D; return v; end stdu2vec; function cstream2vec ( s : MScarrystream ) return std_ulogic_vector is variable v : std—ulogic vector(MScstreamSize-l downto 0); begin v := stdu2vec(sxarry) Sc s,stream; return v; end cstream2vec; function vec2cstream ( v : sid uIogic_vecior) return MScarrystream is variable s : MScarrystream; begin s.carry : = v(v'Left); s.stream := v(MSs£reamSize-I downto 0); return s; end vec2cstream; end MStypes; 21 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先閱讀背面之注意事項再填寫本頁) 4 48 66 2 A7 B7 五、發明説明(2 C )同樣地,以下爲一個模擬程式的實例用來闡述MSIC 各種部份的功用: library ieee; use ieee.std_Iogic_n64.aif; use work.MScypes.aJi; enticy MSdlyl is port ( elk : in std_uIogic; D ; in MSstream; Q : out MSscream ); end; architecture B of MSdlyl is signal irnemal : MSstream; begin Q < = internal; dly : process ( elk ) begin ifclk'evem and cik=T then internal < = D; end if; end process; end B; (請先閱讀背面之注意事項再填寫本頁) 衮.
、1T library ieee; use ieee.std_l〇gic_n64,alI; use work,MStypes-all; package MSdelay is component MSdlyl port ( elk : in std_ulogic; D : in MSstream; Q : oui MSstream ); end component; end MSdelay; 气 經濟部智慧財產局員工涓費合作社印製 本紙張尺度適用中國國家標準(CNS ) A4规格(210 X 297公釐) 448662 A7 ____ B7五、發明説明(d ) 以下在一個實施例中的模擬程式可以用來闡述一個巨 集單元各種部份的功能,例如位元算術邏輯單元。
-Bitwise ALU 經濟部智慧財產局員工消Φ合作社印製 library ieee; use ieee-stdJogic_1164.all; use work.MStypes.aJl; entity MSbitwise is port ( operation : in std—ulogic_vector(2 downto 0); mode : in MSstreamMode; D : in MSstream; Q : out MScarryStream ); end; architecture B of MSbitwise is signal incomingSignBit : std_ulogic; signal wideSign, wideZero, mungeX, mungeY» mungeZ : MSstream* begin -We support 2.14, 4.12, and 6.10 modes. All share che same position for the sign bit! incomingSignBit < = D(MSXSignPosition); sGen: for i in wideSign'Left downto wideSign Right generate wideSign(i) < — incomingSignBit; end generate; zGen: for i in wideZero'Left downto wideZero'Right generate wideZero(i) <= '〇f; end generate; -How it works: —outgoing field: —incoming fields: sign {imeger丨 one s int one fra —Force Output "0" 0 G 〇 —Force Output " l- 0 〇 i s one fra 〇 !s lint lone !fra 1 〇 sXORint sXORone sXORfra s 1 isXORinc fsXORone IsXORfra !s s s 1 〇 〇 —value —-value -I value I —-丨 value 1 —sign bit _ —1 I n. _ Γ1___ 良____ I__丁 _ _ 1 - I - \ 穿-5 7 (請先閲讀背面之注意事項再填寫本頁) carryout fraction 0 〇 0 〇 —pass for v, +/-—invert for -v --se【for-jv| -clear otherwise 23 本紙張尺度適用中國國家標隼(CNS ) A4规格(210X297公釐) 448662 A7 經濟部智慧財產局具工消費合作社印製 B7 五、發明説明(p) with operation select mungeX(MSXIntLefc) < = incomingSignBit when NOOP | ONESIGN, not incomingSignBtt when NEGATE* *1' when NHGATIVEABS, '0f when others; with operation select mungeY(MSYIntLeft) < = incomingSignBit when NOOP | ONHSIGN, not incomingSignBit when NEGATE, Ί' when NHGATIVEABS, " O' when others; with operacion select mungeZ(MSZIntLeft) < = incomingSignBit when NOOP | ONESIGN, not incomingSignBit when NEGATE, Ί' when NEGATIVEABS, Ό1 when others; --all integer bits except for the ones· place (excluding inccirning sign bU) —pass for v —invert for -v —XOR with incoming sign for jv| -XOR with invened incoming sign for -1 v | —replace with sign for +/-—clear otherwise -mungeX is si. 14 format and has no bits here with openuion select mungeY(MSYIruLeft-l downto MSYIntRigtu + 1) < = D(MSYIntLeft-l ctowmo MSYIiuRigiu 十 1) when NOOP, not D(MSYIruLeft-l downto MSYIntRigfu4* when NEGATE, wtdeSign(MSYlntLeft-l downio MSYIntRight+1) xor D(MSYIntLefc-l downto MSYIncRight+ 1) when POS1TIVEABS, not wideSign(MSYIntLeft-l downto MSYIntRight-f* l) xor D(MSYTmLeft-l downto MSYIncRight-H 1) when NEGAT1VEABS, wideSign(MSYIntLefi-l downto MSYIntRighH-1) when ONESIGN» wideZero{MSYIntLeft-l downto MSVIntRight-h 1) when others; with operation select mungeZ(MSZIncLeft-l downto MSZImRight+1> < -D(MSZIntLefi-l downto MSZIntRight +1) when NOOP, not D(MSZIntLeft-l downto MSZintRight+1) when NEGATE, wideSign(MSZIntLeft-l downto MSZIntRightH-1) xor D(MSZIntLef[-L downto MSZlntRight+1) when POSIT1VEABS, not wideSign(MSZIntLcft'l downto MSZIruRight+1) xor D(MSZIntLeft-l downto MSZImRighH-1) when NEGATIVEABS, wideSign(MSZIntLeft-l downto MSZIntRight-Hl) when ONESIGN, wideZero(MSZIntLeft-l downto MSZIntRighc-Hl) when others; « the integer bit corresponding to the ones place - pass for v ” inven for -v ~ XOR with incoming sign for |v( --XOR with inverted incoming sign for - |v| « set for 1» +/--dear otherwise _____24 本紙張尺度逋用中國國家標準(CNS ) A4現格(210X297公* ) 1 -· I :— I - I - 1 -----—~ 訂-~ n 4 (請先閱讀背面之注意事項再填寫本頁) _ 448 66 2 Λ7 Α7 Β7 五、發明説明(Η ) with operation select mungeX(MSXIntRighc) < = D(MSXImRight) when NOOP, not D(MSXIntRight) when NEGATE, incomingSignBit xor D(MSXIntRight) when POSITIVEABS, not incomingSignBit x〇r D(MSXIntRight) when NEGATIVEABS. 'Γ when FORCEONE | ONESCGN, '0' when others; with operation select mungeY(MSYIntRighc) < = ’ D(MSYIntRidit) when NOOP. not D(MSYIntRight) when NEGATE, incomingSignBit xor D(MSYImRight) when POSITIVEABS, not incomingSignBit xor D(MSYIntRight) when NHGATIVEABS> rT when FORCEONH | ONESIGN, '0* when others; with operation select mungeZ(MSZInERight) < = D(MSZintRighE) when NOOP, not D(MSZIntRighc) when NEGATE, incomingSignBit xor D(MSZIntRighi) when POSITIVEABS, not incomingSignBit xor D(MSZImRighi) when NEGATIVEABS, Ί' when F0RCE01VE | ONESIGN, '0' when others; -Che fraction bits — pass for v 、 -- invert for -v --XOR with incoming sign btc for |v| ·— XOR with inverted incoming sign for - | v[ —clear otherwise with operation select mungeX(MSXFracLeft downto MSXFracRighE) < = D(MSXFracLefE downto MSXFracRight) when NOOP, not D(MSXFracLeft downto MSXFracRight) when NEGATE. wideSign(MSXFracLeft downto MSXFracRight) xor D(MSXFracLeft downto MSXFracRight) when POSITEVEABS, not wideSiga(MSXFracLefc downto MSXFracRight) xor D(MSXFracLeft downto MSXFracRight) when NEGATIVEABS, wideZero(MSXFracLeft downto MSXFracRight) when others; with operation select mungeY(MSYFracLeft downco MSYFracRight) < = D(MSYFracLeft downto MSYFracRight) when NOOP, not D(MSYFracLeft downto MSYFracRight) when NEGATE, wideSign(MSYFracLeft downto MSYFracRight) xor D(MSVFracLeft downto MSYFracRight) when POSITIVEABS, not wideSign(MSYFracLeft downto MSYFracRight) xor D(MSYFracLeft downto MSYFracRight) when NEGATIVEABS, wide2ero(MSYFracLeft downto MSYFracRight) when others; with operation select munge2(MSZFracLeft downto MSZFracRight) < = D(MSZFracLeft downto MSZFracRight) when NOOP, not D(MSZFracLeft downto MSZFracRight) when NEGATE, wideSign(MSZFrac-Left downto MSZFracRight) xor D(MSZFracLefL downto MSZFracRight) when POSITIVEABS, not wideSign(MS2FracLeft downto MSZFracRighc) xor D(MSZFracLefi downto MSZFracRight) when NEGATIVEABS, wideZero(MSZFracLeft downto MSZFracRight) when others; _ 25__ 本紙張尺度適用中國國家標準(CNS } Λ4規格(21 OX 297公釐) (#先閱讀背面之注意事項再填寫本頁) -|坤农------、1τ 線 經濟部智慧財產局員工涓費合作社印製 448 66 2 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明説明(埒) with operacion select Q.cany < = incomingSignBu when POSITIVEABS, not incomingSignBit when NEGATIVEABS» '1’ when NEGATE, '0f when others; with mode select Q.stream < — mungeX-when modeX, mungeY when mode Y, mungeZ when others; end B: library ieee; use ieee.std_[〇gic_il64.aIl; use ieee.5td_logic_signed.all; use work.MStvpes.all; entity MSstreamAdder is poa ( A, B : in MScarryStream; Y : ouc MScarryStream ); end; architecture B of MSstreamAdder is signal inA, inB, inC, ouiY : s[d_logic__vecto「(MScsireamSi:ze-l downto 0); begin tnAfinA'Left-I downto 0) <= To_StdLogicVector(A,stream); inA(inA'Left) <= V; inB(inB*Left*l downto 0) <= To_StdLogicVeccor(B.stream); inBCinB'Left) < = O'; zGen: for i in inC'Left downto inC'Right+l generate inC(i) <= Ό*; end generate; inC(O) < = A.carry or B.carry; outY < = inA Η- ίηΒ + inC: Y.stream < = To_StdULogicVector(outY(MSstreamSi2e'l downto 0)); Y.carry < = 〇utY ( outYXeft); end B; use work.COMPONENTS.all; - /synopsys/libraries/syn/lsi_components*vhd architecture CarrySelect of MSstreamAdder is —HalfAdder : HA1 port map (A=> ,B=> ,S=> t CO = > ); -'FullAdder : FA1 pon map (CI=> ,A=> ,B=> ,S=> » CO = > ); begin 26 本紙張尺度適用中國國家標準(CNS ) Λ4規格(210X 297公釐) I ----------裝1τ^ (請先閱讀背面之注意事項再填寫本頁) 4 48 6 6 2 atB7 經濟部智慧財產局員工消资合作社印製 五、發明説明() levelO: for i in A.streamrLeft downto A.streamTRiglii generate end generate; end CarrySdect; --------------------------------------------------------------------------------------------DESIGN UNIT 3 library ieee; use ieee.stdjogic—1164.all; ^ use work.MStypes.all; entity Carry Lookahead is generic { biis : positive ); port ( Cl : in std ulogic; A, B : in std_u!ogic_vector(bits-l downto 0); S : out std_ulogic_vector{bits-l downto 0); CO : out std_ulogic ); end; architecture B of Carry Lookahead is signal G, P : std_uiogic_vector(bics-l downto 0); signai C : std_a(ogic_vector(bics downto 0); begin C(0) < = Cl;' gen: for i in bits-1 downEo 0 generate G(i) < — A(i) and B(i); P(i) < = A(i) xor B(i); C(i+ L) < = G(i) or (P(t) and C(l)); S(i) <= P(〇 xor C(i); end generate; CO < = C(bits); end B; ------------------------------------------------------------------------------------------------DESIGN UNIT 3 library ieee; use ieee.std_logic_il64,a!I; use work.MSEypes.all; entity CarryLookahead4 is port ( Cl : in std—ulogic; A, B : in std_ulogic_vector(3 downto 0); S : out s[d_ulogic_vecior{3 downto 0); CO : ou【std一uiogic ); end; use work.COMPONENTS.ail; - /synopsys/libraries/synyisi_compoaents.vhd architecture Omondi of CarryLookahead4 is signal G, P : std ulogic_vector(3 downto 0); signal C : std_ulogic_vector(4 downto 0); signal q : std一uiogic—vector(9 downto 0); signal q6a, c4a : 5Ed__ulogic; begin 27 本紙張尺度適用中國國家標準(CNS ) A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) 448662 A7 B7 五、發明説明() 經濟部智慧財產局員工消費合作社印製 C(0) < = Ci; gen: for i in 3 dowmo 0 generate iGx : ND2 port map (A(i), B(i), iG(i)); G(i) < = not iG(i); , Px : EO pon map (A(i), B(i)t P(i)); Si : HO pon map (P(i), C{i)T S(i)); end generate; OQO : ND2 pon map (P(0), C(0), Q(〇)); OQ1 : ND3 pon map (P(l)t Ρ(0), C{0), Q(l)); OQ2 : ND2 port map (P(l),G(〇h Q(2)); OQ3 : ND4 port map (P(2), P(l), P(0), C(0), Q(3)); OQ4 : ND3 port map (P(2), P(l), G(0), Q(4)); 0Q5 : ND2 pon map (P(2), G(l), Q(5)); 0Q6 : ND5 port map (P(3), P(2), P(i), P(0), C(0), Q(6)); OQ7 : ND4 pore map (P(3)t P(2), P(l), G(0)t Q(7)); 0Q8 : ND3 port map (P(3), P(2), G(l)t Q(8)); 0Q9 ; ND2 port map (P(3), G{2)t Q(9)); cl : ND2 port map (iG(0), Q(0)t C(l)); c2 : ND3 port map (iG(l), Q(l)f Q(2), C(2)); c3 : ND4 pore map (tG(2), Q(3), Q(4)t Q(5), C(3)); c4 : ND5 port map (iG(3), Q(6), Q(7), Q(8), Q(9), CO ); end ModifiedOmondi; use work.GTECH^componems.all; - /synopsys/packages/gtech/src/GTECH_components-vhd architecture GTModifiedOmondi of CarryLookahead4 is signal iG, G, P, C : std_uIogic_vector(3 downto 0); signal q : std_ulogic_vector(9 downto 0); begin C(0) <= Cl; gen: for i in 3 downto 0 generate iGx : GTECH_NAND2 pon map (A(l)» B(i), iG(〇); G(i) < = not iG(i); Px : GTECH_XOR2 port map (A(i), B(i)t P(i)); St : GTHCH_"X0R2 port map (P(i), C(i), S(i)); end generate; nQO : GTECH^NAND2 port map (P(0), C(0), Q(〇)); nQl : GTECH_NAND3 port map (P(l), P(0), C(0), Q(l)); nQ2 : GTECH二NAND2 port map (P(l), G(0),Q(2)); nQ3 : GTECH^NAND4 port map (P(2)r P(l)T P(0). C(0)t Q(3)); 28 本紙張尺度適用中國國家標準(CNS ) Λ4规格(210X297公釐) ——^---].----批衣------iri-----^ (請先閱讀背面之注意事項再填寫本頁) 448662 A7 B7 五、發明说明( nQ4 : GTECH_NAND3 pon map (P(2), P(i), G(0), Q(4)); nQ5 : GTHCH_NAND2 pon map (P(2), G(l). Q(5)); nQ6 : GTECH_NAND5 pon map (P(3), P(2)t P(l), P(0), C(0), Q(6)); nQ7 : GTECH~NAND4 port map (P(3), P(2), P(l), G(〇), Q(7)); nQ8 : GTECH:NANm port map (P(3),Ρ(210(ί), Q(8)); nQ9 : GTECH~NAND2 port map (P(3)t G(2), Q(9)); cl c2 c3 c4 GTECH NAND2 port map (iG(0), Q(0), C(L)); GTHCH^NAND3 port map (iG(i), Q(L), Q(2), C(2)); GTECH~NAND4 port map (iG(2), Q(3), Q(4), Q(5), C(3)); GTECH^NAND5 port map (iG(3)f Q(6), Q(7), Q(S), Q(9), CO ); end GTModifiedOmondi; architecture Beh of CarryLookahead4 is signal G, P : std_ulogic_vector(3 downto 0); signal C : scd_ulogic_vector(4 downto 0); begin gen: for i in 3 downto 0 generate G(i) < = A(i) and B(i); P(i) < = A(i) xor B(i); -C(i-Hl) < = G(i) or (P(i) and C(i)); S(t) < = P(i) xor C(i); end generate; C(0) <= Cl; C(E) <= G(0) C(2) < = G(L) or (P(l) and G(0)) or (P(l) and P(0) and C(0)); C(3) < = G(2) or (P(2) and G(l)) or (P(2) and P(l) and G{0)) i or (P(2) and P(l) and P(0) and C(0)); C(4) < = G(3) or (P(3) and G(2)) or (P(3) and P{2) and G(l)) or (P(3) and P(2) and P(l) and G(0)); or (P(3) and P(2) and P(l) and P(0) and C(0)); CO < = C(4); ; end Beh; or (P(0) and C(0)); •DESIGN UNIT 3 (請先閲請背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 —MSstream Multiplier library ieee; use ieee.std_iogic_H64,all; use ieee.std_l〇gic_signed.all; -use ieee.scd_logic_ariih.aIl; use work.MScypes.all; entity MSstreamMultiplier is port ( A, B : in MSstream; mode : in std_ulogic_vector(2 downto 0); Y : out MSstream ); 29 本纸張尺度適用中國國家標準(CNS > A4規格(210X297公釐) 448 66 2 A7 B7 五、發明説明(4 architecture B of MSstreamMultiplier is signal outY : std_ulogic_vector( MSstreamSize*2-l downto 0 ); signal signExtended : std_u!ogic_vector( MSsireamSize*2+1 downto 0 ); begin / oucY < = To_StdULogicVector(To_ScdLogicVector(Af To_S[dLogicVector(B));- multiply the stream —use oaly 31 places, becase redundant sign in msbs (b31 = =b30) signExtended(outY*Left-l downto oucY'Right) <- oatY(oucY'LefM downto outY'Right); —now sign extend to 34 binary places signExtended(signExtended'Lefc-2) < signExtendedisignExtended'Left-l) < signE,xtended(5ignExtendedTLef〇 < = :ou【丫(ou[Y,Left-l); :outY(outY'Left-1); outY(outY'Left-l); ”000" -1.14 x L 14 to 5.10 with mode select Y < = signExtended(33 downto 18) when signExtended(31 downto 16) when "ΟΟΓ', - three combinations signExtended(30) & sign£xtended(28 downto 14) when n0l0rt, signExtended(30) Sc signExtended(26 downto t2) when "01 P, stgnExtended(30) L· signExtended(24 dowmo 10) when Ml00rt, signExtended(30) & signExtended(22 downto 8) when 1110P, signExtended(30) 8l signExtended(20 downto 6) when others; end B; -MSsiream Clip —six combinations —seven combinations —six combinations —three combinations -5.10x5.10 to M4 ------DESIGN UNIT 4 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消费合作社印製 downto posMaximum*Right) < = zcro(zero'Left-l downto library ieee; use ieee.std_logic_lL64.aIl; use work,MScypes.all; entity MSstreamCIip is port ( operation : in stdjjlogic一vector ( 3 dowmo 0 ); mode : in MSstreamMode; D : in MSstream; Y : out MSstream ); end; architecture B of MSstreamCIip is signal isNegacive : Boolean: signal zero, posMaximum, negMaximum, one, almostOne, poshalf, neghalf : MSstream; signal oneX, almostOneX, posHalfX, negHalfX : MSstream; signal oneYt aimostOneY, posHalfY, negHalfY : MSstream; signal oneZ, almostOneZ, posHalfZ, negHalfZ : MSstream; begin zero < = (others = > Ό*); posMaximum(posMaximumXeft-l zero'Righi); posMaximum(posMaximum'Left) < = negMaximum < = not posMaximum; 本紙乐尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 448662 A7 B7 經濟部智慧財產局MK工消費合作社印製 五、發明説明(4 ) gl: for i in MSXFracLeft dowmo MSXFracRight generate oneX(i) < = O'; end generate; g2: for ί in MSYFracLeft downto MSYFracRight generate oneY(i) < = O'; end generate; g3: for i in MSZFracLeft downto MSZFracRight generate oneZ(i) < = O'; end generate; oneX(MSXIncRight) <= *Γ; oneY(MSYIncRighc) <= 'Γ; ^ oneZ(MSZlncRight) <= T; g4: for i in MSXIntl.pft downto MSXIntRighc-l· 1 generate oneX(i) < = end generate; g5: for i in MSYIncLeft downco MSYlncRighc-l· 1 generate oneY(i) < = O'; end generate; g6: for i in MSZIntLeft downto MSZIntRighC-f 1 generate oneZ(i) < = '0'; end generate; g7; for i in MSXFracLeft downto MSXFracRight generate almostOneX(L) < = Ί'; end generme; g8: for i in MSYFracLeft dowmo MSYFracRight generate almostOneY(i) < = Ί'; end generate; g9: for i in MS2FracLeft downto MSZFracRighc generace a]m<?stOneZ(i) < = .1·; end generate; glO: for i in MSXimLeft downto MSXIntRight generate almostOneX(i) < = end generate; gll: for i in MSYIntLeft dowmo MSYImRight generate almoscOneY(i) < = O'; end generate; g!2: for i in MSZIruLeft downto MSZIntRight generate almostOneZ(i) < = end generate; gl3: for i in MSXFracLeft-1 downto MSXFracRight generate posHalfX(i) < = '1'; end generate; gl4; for i in MSYFracLeft-1 downto MSYFracRight generate posHalfY(i) < = Ί1; end generate; gl5: for i in MSZFracLeft-1 downto MSZFracRight generate posHalfZ(i) < = T; end generate; posHaifX(MSXFracLefi) <= '0*; posHaifY(MSYFracLefc) <= Of; posHalfZ(MSZFracLeft) <= '0*; gl6: for i in MSXIntLeft downto MSXIntRight generate posHa!fX(i) < — O'; end generate; gl7: for i in MSYIntLeft downto MSYImRight generate posHalfY(i) < = O'; end generate; gl8: for i in MSZIntLeft downto MSZIntRight generate posHaifZ(i) < = end generate; gL9: for i in MSXFracLeft-1 downto MSXFracRighH-1 generate negHalfX(i) < = O'; end generate; g20: for i in MSYFracLeft-Ι dowmo MSYFracRighH-J generate negHalfY(i) < = end generate; g21: for i in MSZFracLeft-Ι downto MSZFracRight + L generate negHalfZ(i) < = Ό1; end generate; negHalfX(MSXFracLeft) <= Ί'; negHalfY(MSYFracLeft) <= 'Γ; negHalfZ(MSZFracLeft) <= T: negHalfX(MSXFracRight) <= 'Γ; negHalfY(MSYFracRight) <= Ί*; negHalfZ(MSZFracRight) <= T: g22: for i in MSXIntLeft downto MSXIntRight generate negHalfX(i) < - ' Γ; end generate; g23: for i in MSYIntLeft dowmo MSYImRight generate ncgHalfY(i) < = 'Γ; end generate; g24: for i in MSZIntLeft downto MSZIntRight generate negHalfZ(i) < = Ί'; end generate; with mode select one < = oneX when modeX, oneY when modeY, oneZ when others; with mode select almostOne < = alirostOneX when modeX, almostOneY when modeY, almostOneZ when others; ----„--------------ΤΓ------^ (請先閱讀背面之注意事項再填寫本頁) _____ 本紙張尺度適用中國國家標準(CNS ) A4规格(210X 297公釐) 448 66 2 A7 B7 經濟部智慧財產局員工消费合作社印製 五、發明説明(p) with mode select posHalf < = posHalfX when modeX» posHaifY when modeY, posHalfZ when others; with mode select negHalf < = negHaifX when modeX, negHalfY when modeY, negHnlfZ when 〇[hers;-f with D(D'Left) select isNegacive < = true when '1·,false when others; clip ; process ( D, operation, zero, one, aimostOne, posHalf, negHalf, posiMaximum* negMaximum, isNegative ) variable lowerLimit, upperLimic : MSscream; variable cltplow, cliphigh : Boolean; begin case operation ( l downto 0 ) is when LCLIPZERO = > lowerLimit := zero; when LCLIPHALF => lowerLimit negHalf; when others = > lowerLimit : = negMaximum; end case; if operation( L) =' Γ or operation(O) =1Γ then cliplow : — true; else cliplow : = false; end if: case operation ( 3 downto 2 ) is when UCLIPHALF => upperLimic := posHalf; when UCLIPALMOST = > upperLimit : = almosiOne; when UCLIPONE => upperLimit := one; when others -> upperLimit := posMaximum; end case; if operation(3) =1Γ or operation(2) =' t' then cliphigh := true; else diphigh := false: end if; if isNegative then if cliplow then if D < lowerLimit then Y < - lowerLimit; else Y < = D; end if; else i Y < - D; end if; else if cliphigh then if D > upperLimit then Y < = upperLimit; 32 --r--n,----裝—-----訂------線 {請先閱讀背面之注意事項再填寫本頁) 本紙張尺度適用中國國家標準(CNS ) A4規格(2丨0 X 297公釐) 448662 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明説明(31 ) else Y < = D; end if; else Y < = D; end if; end if; end process; end B; ...........................................................................................-DESIGN UNIT 4 library ieee; use ieee.sEd一logic_i【64.all; use work.MStypes.ail; package MSarith is component MSbitwise port ( operation : in std_ulogic_vector(2 downto 0); mode : in MSstreamMode; D : in MSstream; Q : out MScarryStream ); end component; component MSstreamAdder port ( A, B : in MScarryStream; Y : out MScari^Stream ); end component; component MSstreamMultipHer port ( A, B : in MSstream; mode : in std_ulogic_vector(2 downto 0); Y : out MSstream ); end component; component MSstreamClip port ( operation : in std^ulogic^veccor (3 downto 0); mode : in MSstreamMode; D : in MSstream; Y : out MSstream ); end component; component CarryLookahead generic ( bits ; positive ); port ( Cl : in std_ulogic; A, B : in std_ulogic_vector(bits-l downto 0); S : out std_ulogic_veccor(bits-1 downto 0); CO : out std_ulogic ); end component; componenc CarryLookahead4 . port ( Cl : in std一uiogic; A? B : in sid_ulogic_vector(3 downto 0); S : out sid_ulogic_vector(3 downto 0); CO : out std_ulogic ); end component; end MSarith; 33 本紙張尺度適用中國國家標準(CNS ) A4规格(210X297公釐) 丨_.- JI.----裝------訂------線 (請先閱讀背面之注意事項再填寫本頁) 448662 A7 B7 經濟部智慧財產局員工消贵合作社印製 五、發明説明(0 )在一個實施例中,以下的邏輯程式闡述其模擬程式模 擬在一個實施例中MSIC晶片的功用: --2-i叩ui MSIC stream multiplexer,single oiuptit — sel - selects which input — DO.Dl - stream inputs — Q - stream output library ieee; use ieee,std」ogic」164.all; use work.MScypes.all; entiiy MSmux2s[ream is port ( sel : in std_uiogic: DO,Dt : m MSstream: Q : oui MSstream ); end; architecture B of MSmux2stream is begin with sel select Q < = DO when Dl when others; end B; —4-input MSIC stream multiplexer, single output — sel - selects which input —Dn - stream inputs (D0-D3) 34 本紙張尺度適用中國國家標隼(CNS ) A4規格(210 X 297公釐) {請先閱讀背面之注意Ϋ項再填寫本頁) ;44866 2 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明説明(r>) — Q - stream output library ieee; use ieee.stdJogic_l I64.all; use work.MStypes.ail; / entity MSmux4stream is port ( sel : in std_ulogic_vector ( 1 downto 0 ); DO, Dl, D2, D3 : in MSstream; Q : out MSstream }; end: architecture B of MSmux4stream is begin with sel select Q < = DO when "(Χ)", D[ when "01", D2 when "ΙΟ11, D3 when others; end B; -δ-inpm MSIC stream multiplexer, single output * — sel - selects which input —Dn - stream inputs (D0-D7) — Q - stream output library ieee; use ieee.std_logicJ164.all; use work.MStypes.all; entity MSmux8stream is port ( sei : in std_ulogic_vector ( 2 downto 0 ); DO, DL, D2, D3, D4, D5, D6, D7 : in MSstream; Q : out MSstream ); end; architecture B of MSmuxSstream is begin with sel select Q < = DO when n000\ DI when "00L\ D2 when "010", D3 when H〇[[\ D4 when ™ 100",D5 when "101H, D6 when ”110' D7 when others; end B; —2-output decoder enable - enables the decode — sel - chooses which output — Yn - one hot output library ieee; use ieee.std_logic_H64.ail; entity MSdecode2 is port ( enable : in std_ulogic; sei : in std^ulogic; ΥΟ,ΎΙ : out std_ulogic ); 35 本紙張尺度適用中國國家標準(CNS ) A4规格(2 ί 0 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) Λ 48 66 2 Α7 Β7 五、發明説明(W ) 經濟部智慧財產局員工消費合作社印製 end; architecture B of MSdecode2 is begin decode2 : process ( enable, sei ) , begin YO < = Y1 <=’,0,; if enable = 'l1 then case sel is when '0* = > YO < = 'Γ; when others - > Y1 < = Ί'; end case; end if; ead process; end B; —4-output decoder - enable,enables the decode - sel - chooses which output - Yn - one ho【output library ieee; use ieee.stdJogic_L164.aH; entity MSdecode4 is port ( enable : in std_ulogic; sel : in srd一ulogic—vector( 1 downto 0 ); YOtYi,V2tY3 ; out^ulogic ); end; architecture B of MSdecode4 is component MSdecodel pon ( enable : in std_ulogic; sel ; in std_ulogic; ΥΟ,ΥΙ : out std_ulogic ); end component; signal topsei, botsel : std_ulogic; begin topsel < = enable and noc sel{selXeft); boEsel < = enable and seKsel'Left); top2 : MSdecode2 port map (topsel, sel(0)t YO, Y1 ); boaom2 : MSdecode2 port map ( botsel, sel(O), Y2f Y3 ); end B; architecture B2 of MSdecode4 is begin decoded : process ( enable, sel) begin YO < = O\ Y1 < ^ *0'; Y2 < = Ό1; Y3 < - Of; if enable = *Γ then (诗先閱讀背面之注意事項再填寫本頁) 装_ 36_ 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) ^48^6 2 A7 B7 五、發明説明( case sel is when "00" when "I0M end case; end if; end process; end B2: > Y0 < = 'Γ; :> Y2 < = 'l'; when "OK => Y1 <: when others = > Y3 < : —8-output decoder ,- enable - enables the decode -- sel - chooses which output ” Yn - one hot output library ieee; use ieee.std一logic—li64.all; entity MSdecodeS is port ( enable : in std一uiogic; sel ; in std_alogic_vector( 2 downto 0 ): Υ0,Υ1,Υ2Λ一3,Υ4Λ—5,Y6,Y7 : out std一ulogic ); end: architecture B of MSdecodeS is componenc MSdecode4 port ( enable : in scd^ulogic; sel : in std_ulogic_vector(l downco 0); Y0,YItY2,Y3 : out std_ulogic ); end component; signal topsel, botsel : std^ulogic; begin topsel < = enable and not sel(serLeft); botsel < = enable and sd(sel’Left); 【op4 : MSdecode4 port map ( topsel, seI(serLeft-l downto 0), YOtYl,Y21Y3 ); botcom4 : MSdecode4 port map { botsel, seKselXeft-l downtoO), Y4fY5.Y6,Y7 ); end B; III —1-----.装------訂------'t (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 architecture B2 of MSdecode8 is begin decodes : process ( enable, sel) begin Y0< =O'; Yl< Y2< = if enable = T then case sel is when "000,r => Y〇 < = when "010" Y2 < = when "100" => Y4 < = when "110" - > Y6 < = end case; end if; end process; Ό-; Υ3<=Ό_; Y4<=,0,; Y5<=,0.; Y6<=,0_; Y7< when H 0011* when "Oil" when "10Γ when others => => => =>
Yl < = Y3 < = Y5 < = Y7 < = fr;T; i*; Ί'; 37 本紙張尺度適用中國國家標準(CNS ) M規格(210X 297公釐) 448662 A7 B7 五、發明説明(U ) end B2; —16Output decoder — enable - enables the decode — sel - chooses which output — Yn - one hot output library ieee; use ieee.std_logic_l I64,all; entity MSdecodelfi is port ( enable : in std_u!ogic; sel : in std_ulogic_vector( 3 downto 0 ); Υ0.ΥΪΛ2,: out sid_ulogic ); end; architecture B of MSdecodei6 is component MSdecodeS port ( enable : in std^ulogic; sel : in std_ul〇gic_vector(2 downto 0); Y0,YltY2.Y3TY4,Y5,V6fY7 : out std^ulogic ); end component;' signal i〇pself botsel : std^ulogic; begin topsel < = enable and not seliselXeft); botsel < = enable and sd(sd’Left); 1 cop8 : MSdecodeS port map ( topsel, sel(sei'Left-I downto 0), Y0,Y1,Y2, Y3t Y4, Y5, Y6r Y7 ); bottoms : MSdecodeS port map ( botsel, sel(sei'Left-l downto 0)t Y8,Y9lY10,YU,Y12,Y13,Y14,Y15); end B; architecture B2 of MSdecode L6 is begin decode 16 : process ( enable, sel) begin (請先閲讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消贲合作社印製 Υ0<=Ό'; Yt< = O' ;Y2< = O'; Y3<=O*; Y4< = .〇,: Y5< = Y6< = Ό\ Υ7<=Ό,; Υ8<=Ό'; Υ9< = Ό- ;Y10< = O'; Y1K=O'; Yi2< =,0'; Y13< = =Ό\ Y14< = '0': Y15< =Ό if enable -' Γ then case sel is when "0000* = > Y0 < = -l,; when "ΟΟΟΓ => Yi <: =rr; when "0010"— > Y2 < = ’ l_; when "001 Irt => Y3 < =*r; when n0l00rt = > Y4 < = T; when "0Ι0Γ => Y5 < =’1.: when "0110"= > Y6 < = *Γ; when "011Γ => Y7 < -fr; when "1000"= > Y8 < = ’1·: when -1001" => Y9 <; =-r: when^lOlO"= > Y10 < = 'Γ; when "101厂 => Yll < =T; when "1100"= > Y12 < = ,1,; when - HOI" => Y13 < =T; when *1110"= > YI4 < = 'Γ; when oihcrs -> Y15 <: =丫; end case; end if; end process; 38_ 本紙張尺度適用中國國家梯率(CNS > A4規格(2 i 0 X 297公釐) 4 40 66 2 A7B7 經濟部智慧財產局員工消贫合作社印製 五、發明説明(η ) end B2; —32-output decoder — enable - enables the decode ^ — sel - chooses which output — Yn ^ one hot output library ieee; use ieee.stdjogic—[I64.all; entity MSdecode32 is port ( enable : in std_ulogic; sel : in sid ulogic_vect〇r{ 4 downto 0 ); YO, Yl,Y2,"V3· ΥΪ, Y5, Y6, Y7, Y8f Y9, Υ10,Υ11,Υ12,Υ13,Υί4,Υ15. Υ16,Υί7>Υ18,Υ19>Υ20τΥ2Ι.Υ22,Υ23,Υ24,Υ25.Υ26,¥27^28^29^30^31 : out std_ulogic ); end; architecture B of MSdecode32 is component MSdecode 16 pon { enable : in std_u!ogic; sel : in sid_ulogic_vector(3 downto 0); Υ0,Υ1ίΥ2.Υ3ίΥ4ϊΥ51Υ6,Υ7Λ8ιΥ9,Υ10,νπ,ΥΙ2,Υ13Λ14,ΥΙ5 : out std_ulogic ); end component; signal Copsel, botsel : std_ulogic; begin topsel < = enable and not sel(serLeft); botsel < = enable and sel(sel*Left); top 16 : MSdecodel6 port map (topsel, sel(serLeft-I downto 0)r Y0, Yl, Y2, Y3, Y4, Y5, Y6, Y7, Y8, Y9,Y10tYll.Y12,Yn,Y14,Y15); bottoml6 : MSdecodeI6 port map ( botsel, se!(serLeft-l downto 0), Yi6,Y17lYl81Y191Y20,Y2l,Y22iY23fY24>Y25tY26.Y271Y28,Y29tY30TY31 ); end B; architecture B2 of MSdeccx!e32 is begin decode32 : process ( enable, se!) begin Υ0<;Ό’; ΥΙ<=Ό·; Υ2<=Ό·; Υ3<=Ό·; Υ4<=Ό*; Υ5<=·(Τ: Υ6<=Ό·: Υ7<=Ό\ Υ8<=.0·; Υ9<='〇Ϊ;ΥΙ〇<=*〇·; ΥΙΚ^Ό*; ΥΙ2<='0*; Υ13< =Ό*; Υ14<=〇·; Υ15< ; Υ16< ='0^; Υ17<^ί0';Υ18<=,0ϊ;Υ19<=Ό,;Υ20<=Ό,;Υ21<=Ό,;Υ22<=,0,;Υ23<=Ό,; Υ24< =Ό'; Υ25<=<〇*;Υ26<=Ό,;Υ27<==Ό,;Υ28<=Ό<;Υ29<=Ό,;Υ30<=Ό,;Υ31<^Ό,; if enable-'Γ then case sel is when "00000" ;> Y0 Ί. when -00001" => Y1 < = Ί' when "ΟΟΟΙΟ" => Y2 < = T when "00011" => Y3 < = Ί1 when "00100" => Y4 < = T when "00101" -> Y5 T when -00110- => Y6 < = T when *00111^ => Y7 < = T when Ί) 1000" => Y8 < = T when w0l00r => Y9 < = rr when "01010" => Y10 < = T t when #0L0ir = > YU < = Ί when "ΟΙΙΟΟ" => Y12 < = Ί-: * when -ΟΠΟΙ- => Y13 < = 39 本紙張尺度通用中國國家榡準{ CNS ) A4规格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) 448 66 2 A7 B7 五、發明説明(A ) when "OHIO1* 二 > Y14 < = ' Γ when "ΟΙΙΙΓ => Y15 < ^ U* when "10000" => YL6 <= T when '1000 Γ => Y17 < ^ rr when w 100 HT => Y18 < = Ί1 when W1〇01 P => Y19 < =.Γ when "ΙΟΙΟΟ" => Y20 <-= '1' w^en "1010Γ -> Y21 < =T when "101 iCT => Y22 < = '1' when "1011Γ ~ > Y23 < =rr when wHOOOrt => Y24 <= '1' when Μ100Γ -> Y25 < =fV when "Ί 1010" => Y26 < = Ί' when Ί101Γ => Y27 < =’ 1 _ when "U100" => Y28 < = ' Γ when "1110Γ => Y29 < = 丫 when "iillCT => Y30 < = Ί' when others => Y31 < = T; end case; end if; end process; end B2; 經濟部智慧財產局貝工消費合作社印製 -64-output decoder - enable - enables che decode - sel - chooses which output - Yn - one hot output library ieee;use icce.std_logic_1164.au; entity MSdecode64 is port ( enable : in std_ulogic; sel : in std_ulogic_veaor( 5 downto 0 ); YO, Yl, Υ2,ϋ Y5, Y6, Y7, Y8, Y9, Y10,Y11,Y12,Y13,Y14,Y15, YI6.YL7,Y18,Y191Y20tY2KY22,Y23tY241Y25(Y26,Y27,Y28,Y29tY30,Y3lr Y32,Y33,Y34,Y35lY36,Y37>Y38,Y39,Y40iY41tY421Y431Y44tY45fY46,Y47> Y48,Y49,Y50TY51IY52rY53iY54,Y551Y561Y57iY58,V59,Y60,Y6i,Y62,Y63 : out sid_ulogic ); end; architecture B of MSdecode64 is component MSdecode32 poa ( enable : in std_ulogic; sel :in std ulogic_veccor(4 downto 0); YO, YL, Y2, Y3# Y4~ Y5, Y6t Y7t Y8( Y9. Y10,YlUYl2,Yl3,Yl4tY15, Y16,Y17,Yl8,Y19,Y20,Y2i,Y22,Y23,Y24,Y25,Y26,Y27.Y28,Y29,Y30,Y31 : out std—ulogic ); end componenc; signal topsel, botset : std^ulogic; begin topsel < = enable and not sel(serLeft); botsd < = enable and sd(sel,Left); top32 : MSdecode32 pon map (topsel, scl(serLeft-l downto 0), YO, Yl· Y2, Y3, Y4, Y5, Y6, Y7, Y8, Y9, Υω,ΥΙΙΎαΥΠ,ΥΜ,ΥΑ Υ16,Υ17,Υ18,Υ19·Υ20,Υ21,Υ22,Υ23.Υ24,Υ25,Υ26.Υ27,Υ28,Υ29,Υ30,Υ31 ); bottom32 : MSdccodc32 port map ( botseU sel(sel'Left-1 downto 0)» Υ32,Υ33.Υ34,Υ35,Υ36,Υ37,Υ38,Υ39,Υ40,Υ41,Υ42·Υ43·Υ44,Υ45,Υ46·Υ47, Y48iY49.Y50>Y51.Y52,Y53,Y54fY55,Y56,Y57,Y581Y59eY60TY61,Y62,Y63 ); end B; 40 本紙張尺度逍用中國國家榡隼(CNS ) A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) 448662 A7 B7 五、發明説明(行) architecture B2 of MSdecode64 is begin decode64 : process ( enable, sel ) begin Υ0<=Ό,; ΥΚ=Ό,; Υ2<=Όί; Υ3<=Ό*; Υ4<='0*; Υ5< = Ό'; Υ6< = 0,: Υ7< =Ό· Υ8< =Ό*; Υ9< =_0,; Υ10< = Υ11 < ='0'; YL2< : =-〇,; Υ13< = .0,; Υ14< =ΌΡ YL5< ^Ό'; Y16< ='0' ;Υ17< =Ό*; YiS< = Ό'; Υ19< = '0', Υ20< = .〇,; Υ21 < = Υ22< = 0_ Υ23< =.0; Υ24< ^Ό'; Υ25< -Ότ; Υ26< = Υ3Κ=Ό*; ' Ό'; Υ27< =Ό+; Υ28< Υ29< = Υ30< = 0_ Υ32< ^'0' ;Υ33< -Ό'; Υ34< = Ό'; Υ35< ^Ό'; Υ36< = .〇,; Υ37< = '〇; Υ38< = ·0· Υ39< =.0; Υ40< = '0' ;Υ41 < -Ότ; Υ42< = *〇*; Υ43< = Ό'; Υ44< = Ό-; Υ45< 二 Ό'; Υ46< = '0' Υ47<=Ό'; Υ48< -=〇'; Υ49< =Ό';Υ50<=Ό,; Υ51 < ^=Ό'; Υ52< -Ό1; Υ53< ^ = Ό'; Υ54< = = Ό'; Υ55< = Ό' Υ56< -Ό*; if enable = , 1 Υ57< =Ό'; Υ58< = Υ59< Υ60< -Ό' then Υ61 < : U62< = = ΌΡ; Υ63< = '0' 經濟部智惡財產局员工消资合作社印製 case sel is when ^000000^ > Y0 < = *r; when rt000001" => Y1 < = Γ; when ”000010rt -= > Y2 < = T; when "000011" => Y3 < = Γ; when rt000100" = > Y4 < = l,; when ^00010 Γ1 => Y5 < = Γ; when ”000110” = > V6 < = when ”000111 , => Y7 < = r; when 观000,. = > Y8 < = T; when "00100 Γ* => Y9 < — r; when ^00101011 = > Y10 < = T when "00101L" => YI1 < = [. when,100·_ = > Yi2 < = T when "00110Γ => Y13 < = Ί' when -OOIUO" = > Y14 < T when "001111" => Y15 < = *r when ^010000^ = > Y16 < T when HOtOOOiH => Y17 < = T when -010010M > Y18 < = T when rt〇100lLrt -> Y19 < = '1' when "010100" = > Y20 < = T when "01010Γ => Y21 < = Γ when "OiOllCT = > Y22 < = ,r when *O101ir => Y23 < = Γ when w01i000,f ss > V24 < = rL' when "011001 => Y25 < = _r when 'Oll0I0rt 5= > Y26 < = T when H0U0LtM => Y27 < - .1, when "011100M > Y28 < = Ύ when "Oi 1101 ^ -> Y29 < = 1, when _OU11(T => Y30 < = T when "OLlllP => Y31 < = T when -100000" > Y32 < = T when "10000Γ => Y33 < = 'Γ when -1000 HT = > Y34 < - T when ΜΟΟΟΙΓ -> Y35 < = 'Γ when ^0010011 = > Y36 < = •Γ when _ 100101w => Y37 < = 1' when n 1001 KT = > Y38 < ,r when N10011Γ => Y39 < = Ί· when "101000,, = > Y40 < •r when ΜΟίΟΟΓ => Y41 < = ,r when "tOlOlO'* > Y42 < = Ί, when Ί01011" => Y43 < = T when "101100" > Y44 < = •1. when "10110Γ => Y45 < = '1' when "101110·' = > Y46 < = ,r when ”_1Γ => Y47 < = T when "110000" ϊ= > Y48 < - when "llOOOr => Y49 < = ,1. when H110010" = > Y50 < = Ύ when w 110011" => Y51 when ”1101 OCT > Y52 < Ί* when ηίΟΙΟΓ => Y53 < = ,r when "HOLIO" > Y54 < = T when _ Π011Γ => Y55 < = T when n 11000,· = > Y56 < ,t_ when ΜΠΟΟΓ => Y57 < = '1' when "U10I0" = > Y58 < X when -11101Γ => Y59 < = ,r when "11IL00,# = > Y60 < T when "111 101" => Y61 < = •Γ when "ΠΙΠΟ" = > Y62 < = T when others - > Y63 < = Γ; end case; end if; end process; end B2; 41 本紙浪尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先Μ讀背面之注意事項再填寫本頁) 448 66 2 Α7 Β7 五、發明説明(0) 參照圖6顯示巨集單元之一個低階說明,並且通例地 標示爲310。藉由巨集單元的上部,將資料傳入及傳出巨 集單元160。標號”U”312和”2x,,314乃是指一組稱爲正反 器的重置電路。 資料傳入輸入部份316和輸入部份318,並且輸入等 化RAM 320和等化RAM 322中,其中的輸入流有選擇性地 在時間上等化成爲另一個輸入流。可以等化三個或四個的 輸入流,或者可以獨立地等化兩對的輸入流。等化區塊 324 ’也可以藉由一個絕對値或者相應於另一個輸入流而故 意地延遲輸入流。在一個實施例中,容許每個輸入流爲32 個映像點。爲了緩和巨集單元在輸入端執行等化的負擔, 以及爲了適當地提供等化信號於輸出端,等化區塊324試 圖促使輸入信號在時間上盡可能地相互接近。 資料輸出326和資料輸出328藉由多工器330和多工 器332,而使得此四個單一資料流有效地充當輸出。有四 個有效的2)c資料流可以供給輸出326和輸出328 :來自等 化區塊324的兩個資料流,以及來自巨集單元190的一個 乘法輸出240和一個加法輸出280。在每一個時脈狀態334 的期間中,多工器336將控制暫存器338所產生的邏輯値 設置於多工器330的選擇線上,其選擇線致能多工器330 ,用以選擇其輸入。控制邏輯340將邏輯値設置於選擇線 341上’其選擇線將多工器332致能,在每一個時脈狀態 下,用以選擇有效的輸入。就任何理由而言,如果資料的 次序需要反轉,則能夠使用等化區塊324來完成之。 _ 42 本紙張尺度適用中國國家標牟(CNS ) Μ規格(210Χ 297公竣) (請先閱讀背面之注意事項再填寫本頁) 言 經濟部智慧財產局員工消費合作社印^ 4 4S 66 2 A7 B7 五、發明説明(叫) (請先關讀背面之注意事項再填寫本頁) 巨集單元310所使用的ιχ資料流區塊342乃是從等化 區塊324的輸出所產生的。等化區塊324所產生的兩個2x 資料流344和346,分離爲四個ιχ資料流342。這四服董 料流342可以代表來自多重流的蚩一個映像點、來自單一 資料流的多重映像點 '或此二者的組合。最後,有六個16 位元常數暫存器348 ’能夠用來提供常數値給巨集單元160 。這些常數的路徑顯示於巨集單元160之圖中。能夠限制 配置暫存器348於一個位元基本成份。依據系統電源的開 啓’配置暫存器348讀取和儲存其配置參數。可以改變暫 存器348的數値,用以允許MSIC執行各種不同應用的不 同操作功能。 經濟部智慧財產局員工消费合作社印製 圖7爲一個MSIC的高階敘述,並且其通例地標示爲 350。MSIC 350爲一種可程式/可配置陣列,其在某些方面 相似於FPGA3 (場可程式化邏輯閘陣列)。FPGA’s乃是 由數百萬個或數十個的單元所組成,其單元則是於邏輯閘 層級’使用基本集/或布林邏輯電路來規劃或配置的。不像 FPGA’s,MSIC 350只包含8個單元,稱爲巨集單元352。 可於數學運算層級(加法/減法/乘法/比較)配置這些巨集 單元352,而不於布林邏輯層級(及/或/互斥或/反向)配置 這些巨集單元352。如此減小晶片的尺寸,使其更有效率 ,並且儘管提供較佳的效能,仍然降低實際的成本。 .例如,單一個的乘法運算代表了數千個布林運算。在 一個MSIC 350中,數學的架構乃是建立於效率上,並且配 置它們如同布林邏輯運算配置於一個FPGA中。如所示的 43 本紙張又度適用中國國家標準(CNS ) A4規格(210X 297公釐) A7 B7 經濟部智慧財產局B工消費合作杜印" 五、發明説明Ul ) ’ 8個巨集單元352使用於MSIC 350,但是根據各種的實 施例,也可以想見到其它的巨集單元之配置。對此一實施 例而言’每一個巨集單元352操作於40MHz以上。就 20MHz或以下的資料速度而言,每一個巨集單元352在每 個資料時脈下,可以配置兩次,用以執行全然不同的運算 ’因而實際上提供了 16個巨集。對41—80MHz的 處理速度而言,每一對巨集單元352交替運算,用以有效 地提供4個的巨集單元352。巨集單元352包含算術邏輯單 元的一組核心,其中的算術邏輯單元則是設計來執行所定 義的數學功能。可以建構巨集單元354陣列之間的相互接 點353,用以利用性能和適用性來執行使用者所規定的功 能。MSIC 350包含一個用來支援主要巨集單元陣列354的 支援邏輯356、以及用來控制輸入和輸出埠的一個輸入區 塊358和輸出區塊360。輸入區塊358將資料從MSIC介面 輸入,並且視何種格式輸入而決定於其上執行的一些基本 處理,以使之適合於MSIC 350中的一般目的之處理。輸出 區塊360取得已經處理過並且執行一些基本的額外處理之 資料,視所需要的何種格式而定,將其資料設於MSIC 350 所存在的格式。 支援邏輯區塊356幫助規劃巨集單元352,提供有關 輸入信號的資訊給MSIC 350其它的區塊’並且在許多其它 的事務之間,加強MSIC 350所有的功能。支援邏輯356包 含數個的處理要素,例如用來執行圖像上垂直處理的影像 線條延遲(line-delays),並且包含一個總和區塊404,用 44__ (請先閱讀背面之注意事項再填寫本頁) -Φ. 本紙悵尺度逋闲中國國家榡準(CNS ) A4規格(210 X 297公釐) 4 48 66 2 Α7Β7 ϊα 經濟部智慧財產局員工消費合作社印製 1¾ 五、發明說明() 以允許任何一個或所有巨集單元352的輸出,使用可程式 的方式加在一起。同樣具有一個基於輸入影像信號的處理 時脈之合成區塊,確保系統和正在處理的資料流信號之間 的同步性。 圖8闡述一個MSIC 350的內部流程圖,並且通例地 標示爲400。MSIC 350主要包含一個支援邏輯區塊356、一 個輸入區塊358和一個輸出區塊360以及巨集單元354的 一組核心。圖號400敘述MSIC 350主要的功能區塊,環繞 著遞送區塊402。雖然現狀的路徑散佈於其他功能區塊之 間而並不集聚,但此乃是MSiC 350中資料流程最準確的表 示法。 在MSIC 350中,影像表示於所記的16位元定點數之 分數部份內。影像資料將會包含於分數位元中,並且出現 如同零和一的數字。分數格式的選擇爲±1.14、±3.12以及 ±5.10。符號位元和整數位元於中間結果的兩個方向上提 供淨空的空間。 各種MSIC 350區段所用的分數格式有考慮到不同的 需要。例如總和區塊404接受任意的輸入格式,以及產生 任意的輸出格式。巨集單元352中的乘法器244同樣能夠 操作於任意的輸入格式,並且產生任意的輸出格式。巨集 單元160中的加法器209和242則需要相同格式的輸入和 輸出。 總和區塊404連接每一個巨集單元352,並且能夠計 算任意鄰接輸入數目的總和。這種方式可以計算總和的任 45 本紙張尺度適用中國國家標準(CNS)A4規格(210 * 297公釐) {請先閱讀背面之注意事項再填寫本頁) I-------訂--------線 _ /148 66 2 A 7 B7 ___ 五、發明説明(叫) 意數目。設置這種功能主要用於實現有限脈衝響應(”FIR” )濾波器,然而也可以發現其它的效用。對此一實施例而 言,總和區塊404具有8個It入,並且能夠加總任意數目 的鄰接輸入之任意數。總和區塊404可以加總輸入範疇的 任意數目,其中每一個輸入則由鄰接輸入的任意數所組成 〇 處理器介面區塊406允許讀取/寫入,以MSIC 350非 配置的譯述,來存取所有控制暫存器和主要RAM區塊408 。在所配置的譯述中,暫存器的位址和資料通過一個交疊 裝置,基於儲存在非揮發性RAM中的配置,其交疊裝置考 慮到所定做的位址表和現制功能。MSIC設有一組定義位址 的映射交疊(mapping aliases),而使用者可以於其位址上 存取系統配置參數。 強制同步系統區塊410允許其晶片同步化一個輸入影 像流的時序,對晶片中一般目的之使用而言,如此提供水 平和垂直時序資訊。有選擇地,此一區塊410能夠產生獨 立的影像時序、所給定的一個適合的映像點時脈、或者也 能夠產生來自連續數位資料流的影像時序,其中的數位資 料流則是已經從所傳輸的類比信號轉換而來的。強制同步 系統區塊410用來產生同步於外部的影像時序或獨立的影 像時序。 •可以結合任何一個影像資料流的兩個時序信號爲水平 或垂直遮沒信號。同樣也可以使用混合 '水平、及/或垂直 同步信號。本質上,將會與影像流資料一同適當地處理一 ____46______ 本紙張尺度逋用中國國家橾準(CNS ) A4规格(210X297公釐) —Γ.—I,-----装------1T------涑 {请先閱讀背面之注意事項存填寫本X ) 經濟部智惡財產局員工消资合作杜印製 經濟部智慧財產局員X消费合作社印製 4 48^6 2 A7 B7_____ 五、發明説明(以) 個或多個的任意時序信號。最常預期的配置乃是將混合同 步以及水平和垂直遮沒,而與一個影像信號結合在一起。 隨著在輸出端重新同步化其混合同步’水平和垂直遮沒將 會與影像一起延遲。 強制同步系統區塊410將會使用水平和垂直遮沒資訊 ,來產生一整組影像同步化信號,以及產生處理器的中斷 ,並且提供代表用於區域定義的水平和垂直位置之數字流 。輸入強制同步系統區塊4丨0的影像同步化信號可能來自 影像輸入、輸出、以及也可能來自一組專用的影像時序之 輸入接腳。 由強制同步系統區塊410所產生的影像同步化信號可 以重新同步於輸出影像,並且可以用來提供影像流的混合 同步,其中的影像流最初並不可能包含如此的資訊。其中 的一個範例乃是將ITU-601轉換爲RS-170A。由於HU-601 影像並不包含任何的混合同步資訊,因此必須以製造來產 生一個有效的RS-170A流。統計的區塊412用來計算在一 個影像流上有用的統計1例如最小値、最大値、平均値等 等。此一區塊412也用來產生隨意數,並且將它們輸出到 MSIC 350的剩餘部份。此一區塊412也能夠提供用於 MSIC 350其它部份的隨意數字流。在MSIC 350上將會有 兩個隨意數字產生器;其中的一個產生器提供一組同步於 輸入影像時序的靜態隨意數字,而另一個產生器則提供非 同步於影像的隨意數字。每一個產生器將會有三個輸出’ 每一個輸出則提供不同的數序。 ___47 _____ 本紙張尺度適用中國國家標準(CNS ) Α4規格(210Χ 297公釐} --ii^----Λ------ίτ------線 (請先鬩讀背面之注意事項再填寫本頁) 4 經濟部智慧財產局員工消費合作杜印製 48 66 2 A7 B7__ 五、發明説明(砧) 試圖藉由處理器來讀取由統計區塊412所計算的圖像 統計。晶片能夠計算線、場或組織基本成份的統計。此能 夠執行於一段時間或連續的基本成份。經由一個中斷以及 經由詢訊設備兩者來設置統計計算的完成通知。當統計完 成時,在完成通知之前,其結果傳輸至暫時的處理區域。 如此則允許開始一組新的計算,而不影響之前的結果。統 計區塊412的每一個輸入可以具有不同的分數格式,且其 輸出將被轉換成爲所要的格式。統計區塊412具有來自每 一個巨集單元352的一個輸入,以及一些回授至路徑綜合 裝置(routing complex )的未定數目之輸出° 輸入和輸出區塊358、360提供其介面,用以允許影 像通過MSIC 350。有一個單一介面輸入埠,以及有一個單 一介面輸出璋。每一個介面埠接觸處理三個10位元通道或 者兩個16位元通道。每一個通道最大可以操作於4x映像 點的時脈速率,允許總數爲12個的10位元流或8個的16 位元流通過一個MSIC 350。儘管16位元流的格式允許資 料傳遞於MSIC 350之間而不會有損分數的精確,但不管分 數的格式,10位元流的能力主要則是設置來接觸處理標準 的影像裝置。 MSIC 350能夠包含12個IK X 6位元的RAM單元408 。可以些許任意地配置這些單元(和它們相關的邏輯), 如同.查閱表”Lo〇k-up Tables”(稱爲LUT’s)或延遲線 ”Delay-Lines”(於此參考 FIFO’s) 9 在晶片中 12 個 IK X 6 位元的RAM區塊能夠以各種的方式來配置,如同LUT’s或 __4S_ 本紙用中國國家標準(CNS ) A4規格(210X 297公釐) (請先閱讀背面之注意事項再填寫本頁) 訂 A7
五、發明説明(叼) FIFO’s,具有不同的寬度和深度。FIFO’s具有不定的延遲 ,大至1K,並且能夠緩衝10位元、12位元或16位元的資 料。LUT,s能夠輸入一個1〇-丨2位元的輸入,並且能夠輸出 不是12便是」6位元。能夠混合FIFO’s和LUT’s ’如同能 夠混合不同的寬度和深度。 FIFO’s可以是10位元、12位元或16位元寬。在10 位元和16位元的模式中,經由FIFO,能夠與影像一同延 遲兩個外加的影像時序信號(例如混合同步)。FIFO’s總 是有1024個字組深,而延遲爲可程式的。如果需要額外的 深度,則能夠將FIFO’s連鎖串接在一起。在10和12位元 的模式中,有六個有效的FIFO’s。在16位元的模式中’只 有四個FIFO’s爲有效的。對超過1024列的長度而言,當 考慮水平遮沒時,也有只延遲有效映像點的開始/結束模式 。此情況下,失去在水平遮沒區域中的任何資料。 例如,在查閱表(LUT)模式中,能夠如下配置12個 RAM’s : (請先閱讀背面之注意事項再填寫本貰) ,νβ 經濟部智慧財產局員工消費合作社印製 輸入位元 輸出位元 #LUT’s 註釋 10 12 6 10 16 4 11 12 3 11 16 2 12 12 1 保留4個RAM’s爲有效的 12 16 1 49 本紙張尺度適用中國國家標率(CNS ) A#規格(21 〇 X 297公釐) 448662 A7 B7 五、發明说明(砧 可以使用四個保留的有效RAM’s,例如兩個2 FIFO’s 、兩個10輸入和12輸出的LUT’s '或一個11輸入和12 輸出的LUT。也可以建構單u個的10輸入和18輸出的 LUT,而留下單一個6位元RAM爲有效的。而這個最後所 留下的RAM將不能夠使用。 圖9闡述資料如何流經輸入和輸出區塊358、360,並 通例地標示爲450。第一個/最後一個的步驟爲一個輸入介 面452和一個輸出介面454。其餘的區塊用來先/後處理資 料流,以提供適合於各種可能性的格式。 如果輸入MSIC 350的資料爲數位ITU-601格式,則 截斷SAV/EAV數碼,並且讀取ITU-601 456產生水平和垂 直遮沒資訊,與影像流一起傳送。27MHz資料流分離成爲 兩個13·5ΜΗζ的資料流。對寫入ITU-601 458而言,如此 的處理則是反向的。任何一個以偏移二進位爲格式的輸入 資料轉換成用於內部處理之2的補數格式460。在介面輸 出454,如果有需要,2的補數轉回462原來的格式。 在輸入452,強迫資料字組成爲所使用的任何分數格 式之分數位元。整數和符號位元被歸零。能夠經由數種方 式塡塞464任何一個不使用的分數位元:零塡塞、二分之 一 LSB塡塞、MSB塡塞、或以隨意數字塡塞。如果在輸出 介面上需要捨入成整數466 ’則能夠經由動態的捨入成整 數、截斷、或加二分之一的LSB來完成。 內插和抽取處理468對輸入452和輸出454而言乃是 相同的。資料流能夠具有線性的內插或抽取468,以用來 50 (請先聞讀背面之注意事項再填寫本頁)
、1T 嗛 經濟部智毪財產局貝工消費合作社印奴 < 驗 公 4 4 8 6 6 2 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明説明(θ) 轉換資料的格式。在此一觀點上’輸入/輸出資料流能夠整 形470爲任意的數値’以確保其符合所使用的任何格式。 輸入流的界限成形47厂可能具有緊接在水平遮沒476 前後的前三個映像點’水平遮沒476則是衰減來緩和低通 FIR濾波的界限條件之壓迫。此乃是藉由一條線上的前三 個映像點分別乘以〇.25 ' 0.50、和0.75來完成的。以相反 的次序,如此也用於一條線上的後三個映像點。相同於在 輸入所執行的處理,也可以在輸出執行非成形處理474, 或者可以藉由所考慮的三個映像點乘以4.00、2.00和1.50 來反轉其處理。 就輸入或輸出兩者而言,輸入影像1水平和垂直遮沒 區域可以有所選擇地和獨立地強迫爲零。爲了緩和在輸入 端巨集單元等化428的負擔,以及爲了提供在輸出端合適 的等化信號,等化區塊478試圖促使輸入/發出的信號在時 間上盡可能地靠在一起。 圖10A爲闉述MSIC 350資料格式的一個圖表,並且 通例地標示爲500。本質上,是以16位元定點2的補數表 示法502來表示數字。圖表500顯示在MSIC 350所要支 援的三種分數格式504每一個之中,不同位置上的位元數 値。每一個分數格式的範圍506和精密度508顯示於圖表 500的右邊。±1.丨4格式具有四個十進位的分數精密度508 ’然而其它的格式只具有三個十進位的分數精密度508。 每一種格式最後一個有意義的分數位元之數値如下:土 1.14 = .000061 = 2Λ-14,±3.12 = .000244 = 2Λ-12,±5.10 本紙張尺度ϋ财gi ®家CNS) Α4規格(2lGX 公董) -----:— -----1 裝------訂------京 (請先閱讀背面之注意事項再填寫本頁) 4 43 66 2 a? __ ___ B7 五’·發明説明(红) =.000976 = 2八-1〇 。 在分數的位元之中,將完全地表示出已正歸化的影像 資訊。換言之:黑色至白色映射著0,0000至0.9999。重要 的是:要注意:.一些常數以及/或者中間的結果所包含的數値 ’實質上可以高於或低於所正歸化的影像之範圍56。如此 則是完全適當的,並且其所持的理由乃是:MSIC 350支援 種種超過正規劃影像正負範圍的分數格式如果任何一個 特定的加法或乘法所產生的結果上溢於或下溢於所使用的 分數:格式’則其結果將會修整成爲其分數格式中可表示的 最高數値或最低數値。 圖10B闡述MSIC 350的處理器介面之操作,並且通 例地標示爲420。就總計16K個的位元組而言,MSIC 350 具有一個Η位元的位址匯流排以及一個8位元的雙向資料 匯流排。在此中,就總共512個位元組而言,8個巨集單 元352的每一個皆消耗掉64個位元組。就控制暫存器556 總共1Κ個位元組而言,種種控制暫存器556的另一個512 個位元組則是可能的。可能有額外的1Κ耗費在靜區暫存 器558上。12個IK X 6位元的RAM 560則是用於額外的 12K位元組之位址空間。 讀取和寫入MSIC 350將經由一種SRAM-型式的介面 552來完成:晶片選擇、輸出致能、以及讀取/寫入。除了 這些接腳之外1也會有一個經由影像時序所驅動的可程式 中斷輸出,其中的影像時序則不是由MSIC 350所產生的 ,便是輸入MSIC 350的。除了這些信號之外,也會有一 _ 52 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) (請先聞讀背面之注意事項再填寫本頁) --¾ 經濟部智慧財產局員工消費合作社印製 448662 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明説明(θ ) 些接腳用來提供硬體的重置’以及在重置之後用來指示晶 片的預備狀態。 在重置之後 > 處理器介面42〇用來立即配置MSIC 350 〇重新映射處理處理位址和暫存器重新映射晶片所 配置的譯述。這是藉由儲存在非揮發性RAM 560中的一個 位址交疊表、一個預設値表、以及一個暫存器位元遮蔽現 制表來完成的。非揮發性記憶體並不能由使用者來存取’ 且包含一組的防護位元,以防止使用者存取配置暫存器。 在重置之後,所有的暫存器立即重置於已知的狀態。就非 配置晶片而言,重置處理在此完成,並且對所有的暫存器 556和558以及RAM’s 560的直接存取,遍及處理器介面 406 ° 對配置晶片而言,在重置之後’於處理器埠552工作 之前,允許靴帶式程序區塊550將預設値寫入MSIC 350 中所有的暫存器。爲了處理器存取任意的暫存器位址,經 由位址交疊表首先映射554其位址,用以得到在MSIC 350 中所指示的暫存器之實際位址。位元遮蔽現制表指示處理 器可以存取此一暫存器的那幾個位元。就寫入而言,在實 際的寫入之前,此位元遮蔽以預設値來替代任何一個未經 允許的位元。就讀取而言,在資訊輸出之前,位元遮蔽現 制表將任何一個未經允許的位兀歸零而去除。 •圖11A經由一個RAM區塊408來闡述其流程,並且 通例地標示爲414。LUT’s和FIFO’s兩者的資料流能夠分 別說明之。在兩實例其中的一個’輸入和輸出調整區塊經 53 ------------'衣------1T------ (請先閱讀背面之注意事項再填寫本頁) 本紙張尺度適用中國國家榡準(CNS) A4規格(210X297公釐) 經濟部智慧財產局員工消費合作社印製 ^4866 2 Α7 Β7 五、發明説明(p) 由捨入成整數和塡塞來修改資料流的寬度,用以適應LUT 或FIFO的寬度。 當用作一個FIFO時,在輸入資料調整562之後,其 儲存於一個RAM陣列564的RAM之中;其中的RAM則 對應著FIFO控制器566所產生的位址,而FIFO控制器 566則是設置於位址產生區段566之中□在適當的期間, 位址產生區段566也控制著FIFO的資料讀出508。最後, 將輸出資料的寬度調整回晶片570中所要求的16位元格式 當用作一個LUT時,在輸入資料調整562之後,其 傳送至位址產生區段566,用來充當RAM陣列564中的一 個RAM之位址。當LUT超過10個位元深,數個RAM’s 將會得到相同的位址,並且藉由輸出選擇區段568,使用 來自位址產生區段566的較高位址位元,以充當選擇的標 準,而來選擇適當的輸出。最後,將輸出資料的寬度調整 回晶片570中所要求的16位元格式。 圖11B闡述如何解決資料處理問題,並且通例地標示 爲600。有兩個緊密糾結的資料處理問題,其經由RAM FIFO設備602來解決。這些問題爲補助的資料處理,並且 處理FIR濾波器的邊限條件。補助資料604存在於TTU-601影像的水平和垂直遮沒期間。FIR濾波器容易受到響聲 的影響,而其響聲則是由高頻組件在遮沒和有效影像資料 606之間急遽的瞬間所引起的。能夠使用來自信號有效影 像部份的邊緣映像點塡塞其遮沒區域,來解決此一問題。 54 本紙乐尺度適用中國國家標準(CNS ) A4说格(210X 297公釐) - ΐ— 11 „衣 - 訂 (請先閱讀背面之注意事項再填寫本頁) 4 48 66 2 A7 B7 五、發明説明(.〇 如果影像信號包含補助資料604,則其塡塞處理能夠 在遮沒期間重複地書寫補助資料604的資訊。由於其典型 包含如果使用縮尺和偏移則會變成無效的編碼資訊,因此 在巨集單元352中處理補助資料6〇4乃是不佳的。一旦補 助資料6〇4繞行巨集單元陣列3S4,則在一種多線的濾波 器應用中,其資料藉由下一個FIFO 602重新等化成爲影像 流。就應用而言,其中只有使用一條信號線,或者並不執 行濾波動作,而在輸入和輸出區塊中使用FIFO’s來重新等 化其補助資料。有效影像映像點和補助資料之間的分離也 提供塡塞於兩個FIFO級之間的遮沒區域。影像資料每次 重新輸入FIFO 602,其塡塞資訊將會因重複書寫補助資料 而遺失,所以在每一級皆重新計算其塡塞。由於FIFO 602 緩衝一列資料,因此在實際發生”之前”判斷一列資料上第 一個映像點的數値乃是平常的。複製一列資料上最後一個 映像點也是平常的。可能有' 或可能沒有一種限制的設備 來執行在垂直方向相類似的功能,而如此並不被明定。 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消费合作社印製 55 本紙張尺度逋用中國國家榡準(CNS > A4規格(2丨0X297公釐) d48 66 2 經濟部智慧財產局員工消費合作社印製 齡3.攻8日丨多正 aao ^ A7 B7 五、發明說明 () [元件符號說明] 10 數位信號處理器 11 計算單元 12 算術/邏輯單元 14 乘法器/累加器 16 偏移器 18 匯流排 20 暫存器 22 暫存器 24 匯流排 26 資料位址產生器 28 資料位址產生器 32 程式循序器 34 資料記憶體 36 程式記憶體 38 指令暫存器 40 程式記憶體位址 42 資料記憶體位址 44 程式記憶體位址 46 多工器 48 外部位址匯流排 52 高階方塊圖 60 場可程式化邏輯閘陣列 62 接線 56 裝--------訂---------線 (請先閱讀背面之注意事項再填寫本頁) 本紙張尺度適用中國國家標準(CNS)A4規格(210 x 297公釐) Λ A8 66 2 ^ A7 B7 經濟部智慧財產局員工消費合作社印製 (請先閱讀背面之注意事項再填寫本頁) 五、發明說明( 64 66 68 70 72 74 76 78 80 82 84 160 162 164 166 168 169 170 171 172 174 176 177 178 接線 反向器 反向器 電晶體 電晶體 及閘 反或閘 MOS電晶體 輸出接線 反或閘 N通道電晶體 巨集單元 輸入 輸入 第三個輸入流 輸入 多工器 加法器 多工器 延遲器 加法結果流 多工器結果 信號位元 乘法器 本紙張尺度適用中國國家標準(CNS)A4規格(210 x 297公釐) Λ 48 66 2 A7 B7 五、發明說明( 經濟部智慧財產局員工消費合作社印製 179 多工器 180 多工器結果 181 多工器 182 加法器 183 多工器 184 輸入流 186 符號位元 188 加法結果 189 加法結果 190 巨集單元 192 輸入 194 多工器 196 邏輯單元 198 輸入 200 常數 202 控制邏輯 204 多工器 206 位兀區塊 208 位元區塊 209 加法器 210 控制邏輯 212 多工器的結果 214 輸入 216 乘法器 58 <請先閱讀背面之;i意事項再填寫本頁) 本紙張尺度適用中囤國家標準(CNS>A4規格(210 X 297公釐) ΛΛ8662. A7 B7 經濟部智慧財產局員工消費合作社印製 (請先閱讀背面之注意事項再填寫本頁) 五、發明說明( 218 220 222 224 226 228 230 231 232 234 236 238 240 242 244 246 248 250 252 254 256 258 260 262 加法器結果 多工器 多工器 控制邏輯 符號元件 多工器結果 輸入流 多工器 組合邏輯電路 多工器結果 多工器結果 偏移暫存器 輸入 加法器 位元單元 位元單元 控制邏輯 輸入流 控制邏輯 多工器 多工器 時脈狀態 控制邏輯 多工器 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 448 66 2 A7 B7 五、發明說明( 經濟部智慧財產局員工消費合作社印製 264 多工器 266 加法器輸入 268 多工器 270 控制邏輯 272 符號位元 274 多工器結果 276 加法器結果 278 整形區塊 280 輸出結果 282 多工器 310 巨集單元 312 正反器 314 正反器 316 輸入部份 318 輸入部份 320 等化RAM 322 等化RAM 324 等化區塊 326 資料輸出 328 資料輸出 330 多工器 332 多工器 334 時脈狀態 336 多工器 60 (請先閱讀背面之注意事項再填寫本頁) 本纸張尺度適用令國國家標準(CNS)A4規格(210 x 297公釐) 4 4 8 6 6 2 A7 ------------訂---------- (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 五、發明說明( 338 340 341 342 344 346 348 352 353 354 356 358 360 400 402 404 406 408 410 412 414 420 428 452 控制暫存器 控制邏輯 選擇線 資料流區塊 資料流 資料流 暫存器 巨集單元 接點 巨集單元陣列 支援邏輯 輸入區塊 輸出區塊 內部流程圖 遞送區塊 總和區塊 介面區塊 RAM區塊 系統區塊 統計的區塊 流程圖 處理器介面 巨集單元等化 輸入介面 本紙張尺度適用中國國家標準(CNS)A4規格(210x297公釐) 448662 A7 B7 U ί·裝--------訂--------- (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 五、發明說明( 454 500 502 504 506 508 550 552 554 556 558 560 562 564 566 568 570 600 602 604 606 輸出介面 圖表 補數表示法 分數格式 分數格式的範圍 精密度 程序區塊 介面 重新映射處理 控制暫存器 暫存器 非揮發性RAM 資料調整 RAM陣列 位址產生區段 資料讀出 曰 tir 曰曰片 資料處理問題 RAM FIFO 設備 補助資料 影像資料 本紙張尺度適用f國國家標準(CNS)A4規格(210x 297公釐)

Claims (1)

  1. 4 4 8 6 6 2 Α8 Β8 C8 08 t、申請專利範圍 ….,1¾¾ 1. —種積體電路信號處理裝置,其包含: 一個非揮發性記憶體裝置,用來儲存多數個的配置參 (諳先閱讀背面之注意事項再填寫本頁) 數; 一個處理裝置,連接到該非揮發記性記憶體裝置,並 且包含·‘ 一個用來在時間上等化資料輸入流來產生同步信號的 裝置,該裝置則包含至少一個用來接收該資料流的輸入端 ,以及一個該同步信號在其上輸出的輸出端; 一組相互連接的算術邏輯單元,傳接到該輸出端,用 來接收該同步資料;以及 一組配置暫存器,可藉由該算術邏輯單元來存取,其 中在該配置暫存器中的資料決定該相互連接的邏輯單元之 功用。 線- 2. 根據申請直Μ範圍第1項之裝置,其中該用來自動 等化的裝置檢測該資料輸入流任何兩個或更多個之間於時 間上的不同。 經濟部智慧財產局員工消費合作社印製 3. 根據申請專利範圍第2項之裝置,其中該等化的裝 置進一步地設置爲自動補償該資料信號兩個或更多個之間 於時間上的差異。 4. 根據申請專利範圍第〗項之裝置,其中該非揮發性 記憶體裝置包含一組防護位元,其能夠有所選擇地防止使 用者存取該配置暫存器。 5. 根據申請專利範圍第1項之裝置,其中該非揮發性 記憶體裝置包含一組映射交疊,其定義使用者存取每一個 1 本紙張尺度適用中國國家標準(CNSLA4規格(210 X 297公;s ) 4 48 bb 2 as _§_ t、申請專利範圍 該配置參數的位址。 6. 根據申請專利範團第4項之裝置,其中每一個該配 置暫存器能夠被限制在一個位元基本成份上。 7. 根據申請專利範圍第1項之裝置,其中每一個該配 置暫存器在重置之後載入配置參數。 8. 根據申請專利範圍第1項之裝置,其中每一個該配 置暫存器在電源啓動之後載入配置參數。 9. 根據申請專利範圍第3項之裝置,其中可以設置該 用來等化的裝置如同一組等化RAM’s。 10. 根據申請專利範圍第3項之裝置,其中可以設置該 用來等化的裝置如同一組FIFO’s。 11. 根據申請專利範圍第1項之裝置,其中該相互連接 的算術邏輯單元包含兩個加法器和一個乘法器,用來執行 該同步信號上所選擇的一組算術運算。 12. —種用來處理多數個資料信號的積體電路,其包含 一個用來在時間上等化該資料信號來產生一個同步信 號的裝置,該裝置則包含至少一個用來接收該資料信號的 輸入端,以及一個該同步信號在其上輸出的輸出端;以及 一個連接到該輸出信號端的邏輯裝置,該裝置包含多 數個的組合邏輯,用來處理該同步信號以及輸出一個預定 的輸出。 13. 根據申請專利範圍第12項之積體電路,其中能夠 藉由一個固定的數量來偏移該用來等化該資料信號的裝置 2 (請先閱讀背面之注意事項再填寫本頁) 訂·--- 經濟部智慧財產局員工消費合作社印製 表 丨 - ϋ # n ^1« f V. n nfl VI- - 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 2 6 6 8 4 4 GO OQ 8 8 AKCD 經濟部智慧財產局員工消費合作社印製 六、申請專利範圍 〇 14. —種可雷新配置的即時數位處理雷路,茸句.含: 多數個相互連接的巨集單元,每一個該巨集單元包含 一個用來等化由其電路所接收的輸入資料流之裝置; 以及 多數個的算術邏輯單元,連接到該等化裝置,用來接 收同步化的資料; 一個連接到該多數個相互連接的巨集單元之支援區塊 ,該支援區塊提供處理電路和一個或多個內部系統之間的 介面,其中的內部系統傳送該輸入資料流; 一個連接到該多數個相互連接的巨集單元之輸入區塊 ,用來接收來自外部來源的數位資料; 一個連接到該多數個相互連接的巨集單元之輸出區塊 ,用來傳送所處理的資訊到該至少一個的外部系統。 15·根據申請專利範圍第I4項之即時數位處,理_, 其中每一個該多數個相互連接的巨集單元進一步地包含一 個處理區塊,用來等化該輸入數位資料流。 16.根據申請專利範圍第14 _項之即時數位處理電路, 其中每一個該多數個相互連接的巨集單元包含一組完整的 記憶暫存器,用來控制該巨集單元的操作。 Π.根據申請專利範圍第14項之即時數位處理電路, 其中每一個該多數個相互連接的巨集單元包含兩個加法器 和一個乘法器,設置來執行輸入數位資料上有所選擇的一 3 Ι^β I i ΙΪ n n n n n 1 » rs--r-5J I I ^^^1 (請先M讀背面之注意事項再填寫本頁) 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐〉 8888 ABCD 4 48 66 2 六、申請專利範圍 組算術運算。 18. 根據申請專利範圍第Η項之即時數位處理電路, 其中巨集單元的輸出連接到下一個巨集單元的輸入。 19. 根據申請專利範圍第14項之即睦數位路, 其中該支援區塊提供一種產生一組同步化信號的裝置。 20. 根據申請專利範圍第14項之即時數位處理電路, 其中該同步化信號乃是用來等化輸入該巨集單元的輸入信 號。 21. 根據申請專利範圍第14項之即時數位處理電路, 其中該支援區塊提供一種裝置,用來計算在該輸入流上的 統計資料,其統計資料例如最小値最大値及平均値等等。 22. 根據申請專利範圍第14項之即時數位處理電路, 其中該支援區塊提供一種裝置,用於該外部系統讀取該控 制暫存器的內容。 (請先閱讀背面之注意事項再填寫本頁) --------訂---------線i 經濟部智慧財產局員工消費合作社印製 4 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐)
TW088101865A 1998-02-05 1999-02-06 Digital signal processor using a reconfigurable array of macrocells TW448662B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/019,134 US6094726A (en) 1998-02-05 1998-02-05 Digital signal processor using a reconfigurable array of macrocells

Publications (1)

Publication Number Publication Date
TW448662B true TW448662B (en) 2001-08-01

Family

ID=21791612

Family Applications (1)

Application Number Title Priority Date Filing Date
TW088101865A TW448662B (en) 1998-02-05 1999-02-06 Digital signal processor using a reconfigurable array of macrocells

Country Status (6)

Country Link
US (1) US6094726A (zh)
EP (1) EP1051679A2 (zh)
JP (1) JP2002503003A (zh)
KR (1) KR20010040584A (zh)
TW (1) TW448662B (zh)
WO (1) WO1999040522A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI385552B (zh) * 2004-12-23 2013-02-11 劍橋展示工業有限公司 數位信號處理方法與裝置

Families Citing this family (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
US6327649B1 (en) * 1999-01-22 2001-12-04 Lucent Technologies, Inc. Apparatus for developing internal ROM code using a ROM bus external interface
AU5805300A (en) * 1999-06-10 2001-01-02 Pact Informationstechnologie Gmbh Sequence partitioning in cell structures
US6662302B1 (en) * 1999-09-29 2003-12-09 Conexant Systems, Inc. Method and apparatus of selecting one of a plurality of predetermined configurations using only necessary bus widths based on power consumption analysis for programmable logic device
US6678645B1 (en) * 1999-10-28 2004-01-13 Advantest Corp. Method and apparatus for SoC design validation
US7043312B1 (en) 2000-02-17 2006-05-09 Sonic Solutions CD playback augmentation for higher resolution and multi-channel sound
EP1377919A2 (de) * 2000-07-24 2004-01-07 PACT XPP Technologies AG Integrierter schaltkreis
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
EP1220107A3 (en) * 2000-10-26 2005-01-05 Cypress Semiconductor Corporation Programmable digital device
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US7752419B1 (en) 2001-03-22 2010-07-06 Qst Holdings, Llc Method and system for managing hardware resources to implement system functions using an adaptive computing architecture
US7962716B2 (en) 2001-03-22 2011-06-14 Qst Holdings, Inc. Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements
US7249242B2 (en) 2002-10-28 2007-07-24 Nvidia Corporation Input pipeline registers for a node in an adaptive computing engine
US6836839B2 (en) 2001-03-22 2004-12-28 Quicksilver Technology, Inc. Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements
US7653710B2 (en) 2002-06-25 2010-01-26 Qst Holdings, Llc. Hardware task manager
CN1293503C (zh) * 2001-04-27 2007-01-03 株式会社鼎新 系统芯片的设计校验方法和装置
US6577678B2 (en) * 2001-05-08 2003-06-10 Quicksilver Technology Method and system for reconfigurable channel coding
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US20030101363A1 (en) * 2001-11-27 2003-05-29 Master Paul L. Method and system for minimizing power consumption in embedded systems with clock enable control
US7046635B2 (en) 2001-11-28 2006-05-16 Quicksilver Technology, Inc. System for authorizing functionality in adaptable hardware devices
US6986021B2 (en) 2001-11-30 2006-01-10 Quick Silver Technology, Inc. Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements
US8412915B2 (en) 2001-11-30 2013-04-02 Altera Corporation Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements
US7215701B2 (en) 2001-12-12 2007-05-08 Sharad Sambhwani Low I/O bandwidth method and system for implementing detection and identification of scrambling codes
US7403981B2 (en) 2002-01-04 2008-07-22 Quicksilver Technology, Inc. Apparatus and method for adaptive multimedia reception and transmission in communication environments
US8281108B2 (en) * 2002-01-19 2012-10-02 Martin Vorbach Reconfigurable general purpose processor having time restricted configurations
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US7660984B1 (en) 2003-05-13 2010-02-09 Quicksilver Technology Method and system for achieving individualized protected space in an operating system
US7328414B1 (en) 2003-05-13 2008-02-05 Qst Holdings, Llc Method and system for creating and programming an adaptive computing engine
AU2003228062A1 (en) * 2002-06-03 2003-12-19 Koninklijke Philips Electronics N.V. Reconfigurable integrated circuit
US8051303B2 (en) * 2002-06-10 2011-11-01 Hewlett-Packard Development Company, L.P. Secure read and write access to configuration registers in computer devices
US8108656B2 (en) 2002-08-29 2012-01-31 Qst Holdings, Llc Task definition for specifying resource requirements
US7937591B1 (en) 2002-10-25 2011-05-03 Qst Holdings, Llc Method and system for providing a device which can be adapted on an ongoing basis
US8276135B2 (en) 2002-11-07 2012-09-25 Qst Holdings Llc Profiling of software and circuit designs utilizing data operation analyses
US6971083B1 (en) * 2002-11-13 2005-11-29 Altera Corporation Method for programming programmable logic device with blocks that perform multiplication and other arithmetic functions
US7225301B2 (en) 2002-11-22 2007-05-29 Quicksilver Technologies External memory controller node
US8620980B1 (en) 2005-09-27 2013-12-31 Altera Corporation Programmable device with specialized multiplier blocks
US7728744B2 (en) * 2005-10-26 2010-06-01 Analog Devices, Inc. Variable length decoder system and method
US8285972B2 (en) 2005-10-26 2012-10-09 Analog Devices, Inc. Lookup table addressing system and method
US8024551B2 (en) 2005-10-26 2011-09-20 Analog Devices, Inc. Pipelined digital signal processor
US8301681B1 (en) 2006-02-09 2012-10-30 Altera Corporation Specialized processing block for programmable logic device
US8266198B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8266199B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8041759B1 (en) 2006-02-09 2011-10-18 Altera Corporation Specialized processing block for programmable logic device
US7836117B1 (en) 2006-04-07 2010-11-16 Altera Corporation Specialized processing block for programmable logic device
US7822799B1 (en) 2006-06-26 2010-10-26 Altera Corporation Adder-rounder circuitry for specialized processing block in programmable logic device
US8386550B1 (en) 2006-09-20 2013-02-26 Altera Corporation Method for configuring a finite impulse response filter in a programmable logic device
US7930336B2 (en) 2006-12-05 2011-04-19 Altera Corporation Large multiplier for programmable logic device
US8386553B1 (en) 2006-12-05 2013-02-26 Altera Corporation Large multiplier for programmable logic device
US7814137B1 (en) 2007-01-09 2010-10-12 Altera Corporation Combined interpolation and decimation filter for programmable logic device
US8650231B1 (en) 2007-01-22 2014-02-11 Altera Corporation Configuring floating point operations in a programmable device
US7865541B1 (en) 2007-01-22 2011-01-04 Altera Corporation Configuring floating point operations in a programmable logic device
US8645450B1 (en) 2007-03-02 2014-02-04 Altera Corporation Multiplier-accumulator circuitry and methods
US7882284B2 (en) * 2007-03-26 2011-02-01 Analog Devices, Inc. Compute unit with an internal bit FIFO circuit
US7949699B1 (en) 2007-08-30 2011-05-24 Altera Corporation Implementation of decimation filter in integrated circuit device using ram-based data storage
US8103855B2 (en) * 2007-09-22 2012-01-24 Navosha Corporation Linking functional blocks for sequential operation by DONE and GO components of respective blocks pointing to same memory location to store completion indicator read as start indicator
US8301990B2 (en) * 2007-09-27 2012-10-30 Analog Devices, Inc. Programmable compute unit with internal register and bit FIFO for executing Viterbi code
DE102007051345A1 (de) * 2007-10-26 2009-04-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Explosivstoffladung
US8959137B1 (en) 2008-02-20 2015-02-17 Altera Corporation Implementing large multipliers in a programmable integrated circuit device
US8244789B1 (en) 2008-03-14 2012-08-14 Altera Corporation Normalization of floating point operations in a programmable integrated circuit device
WO2010039312A2 (en) * 2008-06-27 2010-04-08 The University Of North Carolina At Chapel Hill Systems, pipeline stages, and computer readable media for advanced asynchronous pipeline circuits
US8626815B1 (en) 2008-07-14 2014-01-07 Altera Corporation Configuring a programmable integrated circuit device to perform matrix multiplication
US8310494B2 (en) 2008-09-30 2012-11-13 Apple Inc. Method for reducing graphics rendering failures
US8255448B1 (en) 2008-10-02 2012-08-28 Altera Corporation Implementing division in a programmable integrated circuit device
US8004436B2 (en) * 2008-10-09 2011-08-23 Analog Devices, Inc. Dithering technique for reducing digital interference
US8307023B1 (en) 2008-10-10 2012-11-06 Altera Corporation DSP block for implementing large multiplier on a programmable integrated circuit device
US8706790B1 (en) 2009-03-03 2014-04-22 Altera Corporation Implementing mixed-precision floating-point operations in a programmable integrated circuit device
US8805916B2 (en) 2009-03-03 2014-08-12 Altera Corporation Digital signal processing circuitry with redundancy and bidirectional data paths
US8549055B2 (en) 2009-03-03 2013-10-01 Altera Corporation Modular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry
US8886696B1 (en) 2009-03-03 2014-11-11 Altera Corporation Digital signal processing circuitry with redundancy and ability to support larger multipliers
US8468192B1 (en) 2009-03-03 2013-06-18 Altera Corporation Implementing multipliers in a programmable integrated circuit device
US8645449B1 (en) 2009-03-03 2014-02-04 Altera Corporation Combined floating point adder and subtractor
US8868847B2 (en) * 2009-03-11 2014-10-21 Apple Inc. Multi-core processor snoop filtering
US8650236B1 (en) 2009-08-04 2014-02-11 Altera Corporation High-rate interpolation or decimation filter in integrated circuit device
US8396914B1 (en) 2009-09-11 2013-03-12 Altera Corporation Matrix decomposition in an integrated circuit device
US8412756B1 (en) 2009-09-11 2013-04-02 Altera Corporation Multi-operand floating point operations in a programmable integrated circuit device
WO2011091323A1 (en) 2010-01-21 2011-07-28 Qst Holdings, Llc A method and apparatus for a general-purpose, multiple-core system for implementing stream-based computations
US8539016B1 (en) 2010-02-09 2013-09-17 Altera Corporation QR decomposition in an integrated circuit device
US7948267B1 (en) 2010-02-09 2011-05-24 Altera Corporation Efficient rounding circuits and methods in configurable integrated circuit devices
US8601044B2 (en) 2010-03-02 2013-12-03 Altera Corporation Discrete Fourier Transform in an integrated circuit device
US8458243B1 (en) 2010-03-03 2013-06-04 Altera Corporation Digital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering
US8484265B1 (en) 2010-03-04 2013-07-09 Altera Corporation Angular range reduction in an integrated circuit device
US8510354B1 (en) 2010-03-12 2013-08-13 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8150215B2 (en) * 2010-03-24 2012-04-03 Altek Corporation Routable image pipeline device
US8539014B2 (en) 2010-03-25 2013-09-17 Altera Corporation Solving linear matrices in an integrated circuit device
US8589463B2 (en) 2010-06-25 2013-11-19 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8862650B2 (en) 2010-06-25 2014-10-14 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8577951B1 (en) 2010-08-19 2013-11-05 Altera Corporation Matrix operations in an integrated circuit device
US8645451B2 (en) 2011-03-10 2014-02-04 Altera Corporation Double-clocked specialized processing block in an integrated circuit device
US9600278B1 (en) 2011-05-09 2017-03-21 Altera Corporation Programmable device using fixed and configurable logic to implement recursive trees
US8812576B1 (en) 2011-09-12 2014-08-19 Altera Corporation QR decomposition in an integrated circuit device
US9053045B1 (en) 2011-09-16 2015-06-09 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8949298B1 (en) 2011-09-16 2015-02-03 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8762443B1 (en) 2011-11-15 2014-06-24 Altera Corporation Matrix operations in an integrated circuit device
US8543634B1 (en) 2012-03-30 2013-09-24 Altera Corporation Specialized processing block for programmable integrated circuit device
US9098332B1 (en) 2012-06-01 2015-08-04 Altera Corporation Specialized processing block with fixed- and floating-point structures
US8996600B1 (en) 2012-08-03 2015-03-31 Altera Corporation Specialized processing block for implementing floating-point multiplier with subnormal operation support
KR101906966B1 (ko) 2012-11-05 2018-12-07 삼성전자주식회사 논리 장치 및 이의 동작 방법
US9207909B1 (en) 2012-11-26 2015-12-08 Altera Corporation Polynomial calculations optimized for programmable integrated circuit device structures
US9189200B1 (en) 2013-03-14 2015-11-17 Altera Corporation Multiple-precision processing block in a programmable integrated circuit device
US9348795B1 (en) 2013-07-03 2016-05-24 Altera Corporation Programmable device using fixed and configurable logic to implement floating-point rounding
US9379687B1 (en) 2014-01-14 2016-06-28 Altera Corporation Pipelined systolic finite impulse response filter
WO2015192062A1 (en) 2014-06-12 2015-12-17 The University Of North Carolina At Chapel Hill Camera sensor with event token based image capture and reconstruction
US9684488B2 (en) 2015-03-26 2017-06-20 Altera Corporation Combined adder and pre-adder for high-radix multiplier circuit
US10224053B2 (en) * 2017-03-24 2019-03-05 Hyundai Motor Company Audio signal quality enhancement based on quantitative SNR analysis and adaptive Wiener filtering
US10942706B2 (en) 2017-05-05 2021-03-09 Intel Corporation Implementation of floating-point trigonometric functions in an integrated circuit device
US11314624B2 (en) * 2019-09-24 2022-04-26 Microsoft Technology Licensing, Llc Reducing trace recording overheads with targeted recording via partial snapshots
US11582304B2 (en) 2019-12-20 2023-02-14 Simmonds Precision Products, Inc. Distributed sensing processing systems
TWI773966B (zh) * 2020-02-20 2022-08-11 瑞昱半導體股份有限公司 運作方法以及接收裝置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4140921A (en) * 1977-08-31 1979-02-20 International Business Machines Corporation Generalized performance power optimized PLA circuits
US4542508A (en) * 1983-11-21 1985-09-17 Aerojet-General Corporation Amenable logic gate and method of testing
US4694416A (en) * 1985-02-25 1987-09-15 General Electric Company VLSI programmable digital signal processor
US4967340A (en) * 1985-06-12 1990-10-30 E-Systems, Inc. Adaptive processing system having an array of individually configurable processing components
US4937770A (en) * 1986-02-07 1990-06-26 Teradyne, Inc. Simulation system
KR900006464B1 (ko) * 1987-05-23 1990-08-31 삼성전자 주식회사 버어스트 게이트 펄스를 출력 할 수 있는 동기신호 분리 집적회로
JPH0634248B2 (ja) * 1989-12-16 1994-05-02 三菱電機株式会社 半導体神経回路網
JPH0498902A (ja) * 1990-08-17 1992-03-31 Toshiba Corp 等化装置
JPH0435213A (ja) * 1990-05-28 1992-02-06 Hitachi Ltd フィルタ回路
US5455724A (en) * 1992-03-31 1995-10-03 Fujitsu Limited Method of compensating offtrack in disk unit
US5450608A (en) * 1993-04-15 1995-09-12 Intel Corporation Programmable logic having selectable output states for initialization and resets asynchronously using control bit associated with each product term
US5487023A (en) * 1994-02-14 1996-01-23 Tektronix, Inc. Repeatable finite and infinite impulse response integrated circuit structure
JP3037582B2 (ja) * 1995-04-12 2000-04-24 シャープ株式会社 デジタルデータのバッファリング装置
JP2000513523A (ja) * 1996-06-21 2000-10-10 オーガニック システムズ インコーポレイテッド プロセスの即時制御を行う動的に再構成可能なハードウェアシステム
JPH1011966A (ja) * 1996-06-27 1998-01-16 Mitsubishi Electric Corp 同期型半導体記憶装置および同期型メモリモジュール
DE69627350D1 (de) * 1996-11-27 2003-05-15 St Microelectronics Srl Verfahren und Vorrichtung zur Erzeugung eines Addressenübergangssynchronisationsignals (ATD)
US5877718A (en) * 1997-03-24 1999-03-02 International Business Machines Corporation Differential analog-to-digital converter with low power consumption
US5912572A (en) * 1997-03-28 1999-06-15 Cypress Semiconductor Corp. Synchronizing clock pulse generator for logic derived clock signals with synchronous clock suspension capability for a programmable device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI385552B (zh) * 2004-12-23 2013-02-11 劍橋展示工業有限公司 數位信號處理方法與裝置

Also Published As

Publication number Publication date
EP1051679A2 (en) 2000-11-15
WO1999040522A3 (en) 1999-10-14
WO1999040522A2 (en) 1999-08-12
JP2002503003A (ja) 2002-01-29
US6094726A (en) 2000-07-25
KR20010040584A (ko) 2001-05-15

Similar Documents

Publication Publication Date Title
TW448662B (en) Digital signal processor using a reconfigurable array of macrocells
CN102279724B (zh) 用于布斯乘法方法和系统的功率有效符号扩展
US12045581B2 (en) Floating-point dynamic range expansion
JP4971998B2 (ja) 半導体集積回路、プログラム変換装置及びマッピング装置
US7257655B1 (en) Embedded PCI-Express implementation
US10275219B2 (en) Bit-serial multiplier for FPGA applications
Ramachandran Digital VLSI systems design: a design manual for implementation of projects on FPGAs and ASICs using Verilog
US20180373678A1 (en) Outer product multipler system and method
CN101384989B (zh) 在数字信号处理器中执行布斯乘法的方法和系统
Moreira et al. NCL synthesis with conventional EDA tools: Technology mapping and optimization
US20160314007A1 (en) Flexible physical function and virtual function mapping
US20240028295A1 (en) Efficient logic blocks architectures for dense mapping of multipliers
US20090249032A1 (en) Information apparatus
JP2008522314A (ja) 回路モデリングによるデータ処理
US7475221B1 (en) Circular buffer addressing
Silva et al. Generation of partial FPGA configurations at run-time
Note et al. Rapid prototyping of DSP systems: requirements and solutions
US10275391B2 (en) Combining of several execution units to compute a single wide scalar result
US12050532B2 (en) Routing circuit for computer resource topology
US20230205838A1 (en) System and method of tensor contraction for tensor networks
JP2018206195A (ja) 演算システム、演算システムの制御方法およびプログラム
US8395630B2 (en) Format conversion apparatus from band interleave format to band separate format
US7249239B1 (en) Using run-time generated instructions in processors supporting wider immediate addressing than register addressing
US20190042200A1 (en) Continuous Carry-Chain Packing
CN104915177A (zh) 一种混合型加法器和高效混合型加法器

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent
MM4A Annulment or lapse of patent due to non-payment of fees