• 沒有找到結果。

National Sun Yat-sen University Institutional Repository:Item 987654321/30424

N/A
N/A
Protected

Academic year: 2021

Share "National Sun Yat-sen University Institutional Repository:Item 987654321/30424"

Copied!
5
0
0

加載中.... (立即查看全文)

全文

(1)

行政院國家科學委員會專題研究計畫 成果報告

以開關電晶體元件庫為主的邏輯合成器和佈局產生器

計畫類別: 個別型計畫 計畫編號: NSC91-2215-E-110-026- 執行期間: 91 年 08 月 01 日至 92 年 07 月 31 日 執行單位: 國立中山大學資訊工程學系(所) 計畫主持人: 蕭勝夫 報告類型: 精簡報告 處理方式: 本計畫可公開查詢

中 華 民 國 92 年 12 月 8 日

(2)

行政院國家科學委員會專題研究計畫期中報告

以開關電晶體元件庫為主的邏輯合成器和佈局產生器

Logic Synthesis and Layout Generator Based on Pass-Transistor Cell Library

計畫編號︰NSC91-2215-E-110-026 執行期限︰91/08/01 - 92/07/31 主持人︰蕭勝夫 中山大學資訊工程系 教授 計畫參與人員: 李友仁、李婉萍、李崇漢 中山大學資訊工程研究所 碩士班學生 蔡明諭 中山大學資訊工程研究所 博士班學生 一、中文摘要︰ 本 計 畫 主要是提出二種新的partition 方 法 來 切 割 BDD Tree , 將 BDD Tree 的 critical Path 有 效 的 縮 短 , 以 改 善 pass-transistor-based邏輯合成的電路速度。 一種為 "類似Carry Select Adder 架構切割 法" 它可以有效的縮短Critical Path,但是面 積卻會呈倍數成長。另一種的Partition 方 法,我們稱為"Direct Map BDD tree 產生法 ", 它 也 可 以 有 效 的 降 低 BDD Tree 的 Critical Path,而且在BDD Tree 的面積方面 也不會有大幅的成長,但是必須有效的取出 Boolean Function 的公因數。此外我們再提 出另外一個新方法,稱為”Cut-Set切割法”, 他的方法是從樹的中間切割,他也可以得到 很好的效果。 關鍵詞:合成器,開關電晶體,二元決定樹 ,BDD。 英文摘要︰

This project proposes two partitioning methods to reduce the length of the critical paths. The first method can effectively reduce the critical path delay at the cost of much higher area cost. The second method explores the common factors in the Boolean functions to reduce the critical path delay with reasonably increased area cost. In addition, we also present a new method by dividing the BDD tree into several cut sets.

二、緣由及目的 傳統的數位電路設計是以 CMOS 邏輯 為主流,但是最近有許多新的靜態和動態邏 輯 電 路 設 計 方 法 表 現 也 相 當 的 好 , 而 且 CMOS 邏輯電路需要建立為數眾多的元件 庫 , 相 當 的 費 時 , 分 析 後 發 現 若 改 用 pass-transistor-based 電路為元件庫的基本元 件,在效能/面積/耗電方面,皆比 CMOS 邏 輯電路要好很多,而且以 pass-transistor 電路 為基本元件的元件庫元件很少,很適合用在 單晶片系統 SOC 上,作為 cell-based 設計流 程 邏 輯 合 成 使 用 , 但 是 目 前 缺 少 合 成 pass-transistor 電路的合成器,所以需要開發 此新的合成器。 由 於 目 前 業 界 所 廣 為 使 用 的 Logic Synthesis CAD Tool—Synopsys,無法完全合 成只有內含 MUX(多工器)與 Inverter(反 向器)這兩種元件的元件庫的電路﹐而以開 關電晶體電路來當成元件庫,裡面的元件可 僅以 MUX 和 INV 所構成,所以除非使用間 接的方式—使用 Not、and、or 或 NAND 或 NOR 兜出 MUX 與 Inverter,然後再利用 Synopsys 之類的 Logic Synthesis CAD Tool 去做 Synthesis,但這樣便無法有效地合成出 理想的 pass-transistor-based 電路,也完全喪 失使用開關電晶體所帶來的優點。 三、結果與討論: 下圖一是本計畫所開發之邏輯合成器 之流程圖.主要包括格式轉換單元、BDD Tree 產生器單元、切割單元、最佳化單元、和佈 局產生器單元等五大部分。。當 BDD 樹狀圖 的變數個數增加時﹐BDD Tree 的高度也會隨 著增加,而造成 critical path 變長﹐本期計畫 主要是針對切割單元﹐提出三種新的縮短電 路的最長路徑的切割方法.

(3)

Direct Mapping ISCAS’85 Benchmark SoP Truth Table 化簡 Boolean Function Dynamic ordering-prediction method Dot Graphic Script Dot Partition ll 幾層加入Inv 推動能力的 選擇 Partition I 1倍 2倍 4倍 8倍 Speed Optimization Power Optimization Verilog gate level code Netlist Layout Generator 化簡 Graphic Y N Select Better Result 圖一:以開關電晶體為主的邏輯電路合成器 流程圖. 切割方法一: 藉由 Boolean decomposition 觀念,將複 雜的函數分解成數個較簡單的函數,再利用 類似 carry-select adder 架構的平行處理之觀 念,來縮短最長路徑的長度。以下圖二為例, 假設將原來 BDD 樹狀圖中的最長路徑切割 成三段,第二段和第三段有兩份複製硬體﹐ 分別假設它的切斷點輸入為 0 和 1,因此每 段會產生兩組輸出,真正的輸出值是由前一 段的輸出來決定。最好的分割狀況應該是, 前一段輸出的同時,這一段的兩個平行電路 剛剛好執行完成產生兩組輸出。 1 P P2 P2 P3 P3 圖二:最長路徑經過切割成三段後的示意圖 假設原來的 Critical Path 長度為 L,預備 切 割 為 n 段 , 切 完 後 每 k 層 加 入 一 個 inverter,第一段的 Path Length 為 x,則

  n n n L n n n L x 2 2 3 2 2 / )) 2 ( * )) 2 ( 1 (( − 2− + = − − + − = 在需要加入 Inverter 的個數方面,也可以藉此 粗略估計一下,如下列所示: 2 * ) 2 ( ... 2 * 1 2 * k n x k x k x k x + − + + + + + 上面這兩個式子,可以在使用在程式中,用 來粗略估計電路的面積。本計畫的自動切割 程式﹐會先將BDD Tree切割為2段、3段、 4 段……然後分別用上面兩個算式估計BDD

Tree的Critical Path Delay和面積的node數, 再來程式會trade off面積和速度,如果當切 割成太多段時,面積增加的很大,但速度卻 沒有相對提昇時,此時程式就會往回改用上 一個結果。 表一是針對一些電路﹐使用上述切割方 法的實現數據,可以看出,只有在BDD Tree 不是完整二元樹的時候有比較好的效果,而 其它大部分的狀況,也是比較接近真實情況 的狀況,則是效果有限。

(4)

表一:類似carry-select adder切割法之結果。 電路 面積 最長路徑(後/前) 切割段 Ex 1 21/9 4/9 2 Ex 2 23/6 3/4 2 Ex 3 93/21 7/7 2 Ex 4 33/11 6/7 2 Ex 5 27/7 3/4 2 Ex 6 20/6 3/4 2

註:Area和critical path欄位的單位:node

切割方法二:

此方法是將BDD tree分成多個cut-set。

圖三為一個進位預測加法器 CLA8 的 BDD

tree,在每條 Path 上選出相同的要分割 node

個數,在此例中為3。此時將BDD Tree一分 為二,在這個例子中將會產生 4 個切口,然 後找出對應的新BDD Tree,如圖四。 圖三:CLA8 的 BDD tree。 圖四:經過切割方法二後的BDD Tree。 切割方法三: 此方法以 Boolean Equation 中的 OR 為 界,將 Boolean Equation 分為許多項,然後 這每個項單獨依照 Direct mapping 法來產生 BDD Tree﹐然後用預先建立好的 operator BDD Tree 代換﹐如圖五所示。 A 1 B OR gate A 0 B NOR gate A 0 B AND gate A 1 B NAND gate A B XOR gate A B XNOR gate B B 圖五:基本的邏輯運算所對應的 BDD tree。 以下以 CLA4 為例﹐列舉 5 種提出公因式的方 式: Method1

F = b + cd + cef + cegh + cegij Method2

F = b + cd + ce(f + gh + gij) Method3

F = b + cd + ce(f + g(h + ij)) Method4

F = b + cd + cef + ceg(h + ij) Method5

F = b + c(d + ef) + ceg(h + ij)

將以上五種以 CLA4 為例提出公因數方式跟 使用方法一的分割方法、Cut-set 切割和不 使用分割加速電路的方法所產生的結果列於 下表二。 由於 Method 3 可達到面積最佳,且提出 公因子較為 Method 4 容易,目前先採用 Method 3 來實作。表三是用切割方法三來實 作六種不同電路的數據。

(5)

f0 f1 F 1 1 b i c f1 d 0 e 0 g h j 1 c 0 1 f0 f 0 圖六: CLA4 經方法三切割後後的 BDD tree。 表二:以 CLA4 為例﹐利用上述各種切割方法 所產生的 BDD tree 的面積和最長路徑。

Method Area Critical Path Typical BDD Tree 8 8 Partition Like Carry Select

Adder Architecture 10 5

Cut-set 二段 10 5

Cut-set 三段 11 4* partition for Direct

Mapping Method 1 14 5 partition for Direct

Mapping Method 2 10 5 partition for Direct

Mapping Method 3 9* 6 partition for Direct

Mapping Method 4 11 4* partition for Direct

Mapping Method 5 10 5

表三 以 Method 3 來實作六個電路。

Area Critical pPath

Ex1 15 7 Ex2 12 2 Ex3 48 11 Ex4 17 7 Ex5 18 7 Ex6 25 7 四、計畫成果自評︰ 本計畫是三年期計畫,負責在三年內完成以 開關電晶體元件庫為主的邏輯合成器和佈局 產生器之設計。根據總計畫所訂定之進度時 程,本計畫第一年須完成 BDD Tree 的產生 器,第二年完成 BDD Tree 電路之加速。第三 年完成佈局產生器,並產生實體佈局。目前 已完成第一年和第二年之進度,第三年進度 則正在進行。未來工作重點將加快電路之速 度表現,並降低面積複雜度,減少功率消耗。 五、參考文獻︰

[1] S.-B. Akers, “Binary decision diagram”, IEEE Trans. on Computer, vol.C-27, no.10, pp.509-516, June. 1978.

[2] R. Bryant, “Graph-Base Algorithms for Boolean Function Manipulation”, IEEE Trans. on Computers, C-35, no.8, pp.677-691, Aug.1986.

[3] P. Buch, et al., ”Logic Synthesis for Large Pass Transistor Circuits”, International Conference on Computer-Aided Design, 1997. Digest of Technical Papers, 1997 IEEE/ACM, pp.663 –670, 1997.

[4] B. Bolling, I. Wegener, “Improving the variable ordering of OBDDs is NP-complete,” IEEE Trans. Computer., vol. 45, pp 993-1002, Sep. 1996

[5] Shin-ichi Minato, ”Binary Decision Diagrams and Applications for VLSL CAD”, Kluwer Academic Publishers. Page 9-10 [6] J. Jain, et al., “Decomposition techniques for efficient ROBDD construction.”, Int’l Conf. in FM-CAD,1996.

參考文獻

相關文件

• helps teachers collect learning evidence to provide timely feedback & refine teaching strategies.. AaL • engages students in reflecting on & monitoring their progress

Robinson Crusoe is an Englishman from the 1) t_______ of York in the seventeenth century, the youngest son of a merchant of German origin. This trip is financially successful,

fostering independent application of reading strategies Strategy 7: Provide opportunities for students to track, reflect on, and share their learning progress (destination). •

Strategy 3: Offer descriptive feedback during the learning process (enabling strategy). Where the

How does drama help to develop English language skills.. In Forms 2-6, students develop their self-expression by participating in a wide range of activities

Now, nearly all of the current flows through wire S since it has a much lower resistance than the light bulb. The light bulb does not glow because the current flowing through it

O.K., let’s study chiral phase transition. Quark

In this paper, we extend this class of merit functions to the second-order cone complementarity problem (SOCCP) and show analogous properties as in NCP and SDCP cases.. In addition,