1 / 11

VLSI 設計工学4

VLSI 設計工学4. テクノロジマッピングの説明 ハードウェア設計の流れ VLSI の基本素子: 組合せ素子について. 面積最小のマッピング -対象が Tree 回路の場合-. 動的プログラミング( Dynamic Programming) の典型 要点 入力から現在のゲートまでの部分回路の最適マッピングは、現在のゲートより出力側のゲートには依存しない 遅延最小化のマッピングでは成立しない 第1ステップ 回路を入力から順に辿り、入力から現在のゲートまでの部分回路に対する最適マッピングのみを保存していく 第2ステップ

boaz
Download Presentation

VLSI 設計工学4

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. VLSI設計工学4 テクノロジマッピングの説明 ハードウェア設計の流れ VLSIの基本素子: 組合せ素子について

  2. 面積最小のマッピング-対象がTree回路の場合-面積最小のマッピング-対象がTree回路の場合- • 動的プログラミング(Dynamic Programming)の典型 • 要点 • 入力から現在のゲートまでの部分回路の最適マッピングは、現在のゲートより出力側のゲートには依存しない • 遅延最小化のマッピングでは成立しない • 第1ステップ • 回路を入力から順に辿り、入力から現在のゲートまでの部分回路に対する最適マッピングのみを保存していく • 第2ステップ • 回路を出力から入力へ辿りながら、最適マッピングを決定していく

  3. nand2 (3) not (2) nand3 (4) nand4 (5) and2 (4) aio21 (4) oai21 (4) library (a) 図6 (b)

  4. nand2(3) not(10) aoi21(8) 5 6 7 not(6) and2(8) nand2(12) nand3(11) nand4(8) 8 not(5) and2(4) nand2(3) nand2(11) nand3(13) nand4(12) nand2(7) nand3(4) 4 1 2 3 (c) 図6

  5. nand2(3) aoi21(8) 5 6 7 nand4(8) 8 not(6) and2(4) nand2(3) nand2(11) nand3(4) 4 1 2 3 (c) 図6

  6. aoi21(8) 5 6 7 8 nand2(11) nand3(4) 4 1 2 3 (c) 図6

  7. aoi21 5 6 7 8 nand2 nand3 4 1 2 3 (d) 図6

  8. 設計の流れ(基本) module WaitState(load,lo input load; input [1:0] loadValue always @(positive Clk) if (load) 仕様(RTL) 動作合成 論理合成 より詳細な設計レベルほど: ・ 面積・遅延見積もりはより正確 ・ 回路変換の余地はより小さい 配置 配線 LSIの大規模化により、計算機設計支援技術(CAD: Computer Aided Design)なしでは設計できない!

  9. ハードウェア設計言語と対応するハードウェアの例(組合せ回路の場合)ハードウェア設計言語と対応するハードウェアの例(組合せ回路の場合) Register a[32], b[32], c[32], d[32]; Terminal y[32] If c==d then y = a+b else y = a-b; • 32ビットのレジスタが4個必要 • 32ビットの加算器1つと、減算器1つ必要 • 32ビットの比較器1つ必要 • データの切り替えのためのセレクタが必要 • 全体を制御する回路が必要(ランダムロジックと呼ばれる) a + c y Comp Sel d - b

  10. 組合せ基本素子 • 組合せ回路=回路の出力は現在の入力値のみから決まる • データパス内で主に利用される。通常、すでに設計されており、自分では設計しない • 加算器(ripple carry, carry look-ahead) • 減算器 • 乗算器(booth, array, etc) • 論理演算器(AND, OR, Complement, EOR, …) • まとめたもの(ALU) • セレクタ、マルチプレクサ • デマルチプレクサ • シフタ、ローテイタ • パリティチェッカ(EOR, ENOR) • メモリの利用 • などなど...

  11. c0 s0 a0 b0 p0 c1 s1 a1 b1 p1 1 c2 0 Ripple carry 加算器とcarry look ahead 加算器 • キャリーチェインをスキップする

More Related