15.03.2015 Views

ハードウェア設計特論 (5)

ハードウェア設計特論 (5)

ハードウェア設計特論 (5)

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ハードウェア 設 計 特 論 (5)<br />

安 浦 寛 人<br />

2006.5.18<br />

06.5.18 ハードウェア 設 計 特 論


EDA 技 術<br />

• EDA:Electric Design Automation<br />

• CAD:Computer Aided Design<br />

– 設 計 検 証 : 設 計 の 正 しさ、 性 能 を 確 認<br />

– 自 動 合 成 : 設 計 の 自 動 詳 細 化 、 最 適 化<br />

– 設 計 記 述 : 設 計 データの 表 現 法<br />

06.5.18 ハードウェア 設 計 特 論


システム 設 計 のモデル<br />

モデル 化 と 記 述<br />

•モデル 化 技 術<br />

• 記 述 言 語<br />

• 設 計 者 インタ<br />

フェース<br />

詳 細 化<br />

最 適 化<br />

• 自 動 合 成<br />

•ライブラリ<br />

• 最 適 化 手 法<br />

• 標 準 化<br />

評 価 ・ 検 証<br />

•シミュレーション<br />

• 試 作 ・ 実 験<br />

• 解 析 技 術<br />

• 数 学 的 検 証<br />

06.5.18 ハードウェア 設 計 特 論


EDA 技 術 の 進 展<br />

設 計 の 抽 象 化<br />

EDA 技 術 の 進 歩<br />

10 4<br />

10 5<br />

設 計 量 の 削 減<br />

10 6<br />

10 7<br />

10 8<br />

動 作<br />

RTL<br />

ゲート<br />

レイアウトデータ<br />

(シンボル 図 )<br />

マスク 図 形 データ<br />

( 実 体 図 )<br />

動 作 合 成 (2000s)<br />

論 理 合 成 (’90s)<br />

自 動 レイアウト (’80s)<br />

マスク 図 形 処 理 (‘70)<br />

06.5.18 ハードウェア 設 計 特 論


設 計 の 検 証<br />

機 能 検 証<br />

アーキテクチャ 設 計<br />

アーキテクチャ<br />

RTL 設 計<br />

HDL 記 述<br />

プロセスパラメータ<br />

デバイスパラメータ<br />

デバイス 開 発<br />

ライブラリ 開 発<br />

プロセス 開 発<br />

論 理 検 証<br />

テスト 生 成<br />

テストベクタ<br />

論 理 合 成<br />

ネットリスト<br />

レイアウト 設 計<br />

LVS<br />

マスクデータ<br />

ライブラリ 情 報<br />

テスト<br />

製 造 プロセス<br />

デザインルール<br />

DRC<br />

機 器 の<br />

制 御 パラ<br />

メータ<br />

チップ<br />

06.5.18 ハードウェア 設 計 特 論


設 計 フローの 基 本 要 素<br />

記 述<br />

HDL<br />

ネットリスト<br />

レイアウトデータ<br />

変 換 / 最 適 化<br />

論 理 合 成<br />

レイアウト 合 成<br />

検 証<br />

シミュレーション<br />

形 式 的 検 証<br />

タイミング 検 証<br />

DRC<br />

06.5.18 ハードウェア 設 計 特 論


論 理 検 証<br />

• 仕 様 ・アーキテクチャ 設 計 ・RTL 設 計 と 論 理 設 計 結<br />

果 (ネットリスト)の 等 価 性 を 確 認 する。<br />

• シミュレーションと 形 式 的 検 証<br />

RTL 設 計<br />

検 証 入 力<br />

比 較<br />

ネットリスト<br />

06.5.18 ハードウェア 設 計 特 論


シミュレーションに 関 する 問 題 点<br />

• 回 路 のモデル 化 ( 近 似 のレベル)<br />

• シミュレーションアルゴリズムの 精 度<br />

とスピード<br />

• 入 力 系 列 の 生 成 の 方 法<br />

06.5.18 ハードウェア 設 計 特 論


回 路 のモデル 化<br />

1) 基 本 素 子 のモデル 化<br />

• 電 子 回 路 モデル:トランジスタ, 抵 抗 ,コンデンサなどを 基 本<br />

単 位 とする.(Spiceモデルなど。 回 路 シミュレータ)<br />

• 論 理 回 路 モデル: 論 理 ゲート(NAND, NOR , AND, OR, NOT)<br />

やフリップフロップなどを 基 本 単 位 とする.( 論 理 シミュレー<br />

タ)<br />

• 機 能 素 子 レベル: 論 理 ゲート,フリップフロップ,カウンタ,<br />

レジスタ,セレクタなどを 基 本 単 位 とする.( 論 理 ・ 機 能 シ<br />

ミュレータ)<br />

• レジスタ 転 送 レベル (RTL):レジスタとその 間 のデータの 移 動<br />

と 論 理 変 換 を 記 述 したモデル.( 機 能 シミュレータ)<br />

• 命 令 サイクルレベル:プロセッサなどの 命 令 サイクルを 一 つの<br />

単 位 とする.(ISS: 命 令 セットシミュレータ)<br />

06.5.18 ハードウェア 設 計 特 論


回 路 のモデル 化 2<br />

2) 信 号 値<br />

* 物 理 的 な 信 号 値<br />

D<br />

アナログ 信 号<br />

0,1,Z(ハイインンピーダンス)<br />

強 い0/1, 弱 い0/1<br />

P(パルス)<br />

S( 発 振 )<br />

非 論 理 値<br />

* 仮 想 的 な 信 号 値<br />

X 不 定 ( 未 知 ) 値<br />

U 立 ち 上 がり<br />

D 立 ち 下 がり<br />

Don't Care ( 禁 止 , 未 定 義 )<br />

ハザード,レース<br />

慣 性 遅 延<br />

P<br />

φ<br />

U<br />

トランスファゲート<br />

Q<br />

S<br />

D<br />

X:UやD,Don’t Care<br />

未 定 値 など<br />

06.5.18 ハードウェア 設 計 特 論


回 路 のモデル 化 3<br />

3) 遅 延<br />

遅 延 モデル<br />

– 0 遅 延 モデル: 各 素 子 の 遅 延 を0と 仮 定<br />

– 単 位 遅 延 モデル: 各 素 子 の 遅 延 を 単 位 時 間 と 仮 定<br />

– 標 準 遅 延 モデル: 各 素 子 の 遅 延 を 整 数 値 で 定 義<br />

– 最 大 / 最 小 遅 延 モデル: 各 素 子 の 遅 延 はばらつくと 仮 定 する. 上 下 限 を 指 定 .<br />

– 慣 性 遅 延 / 純 粋 遅 延 モデル:アナログ 回 路 の 効 果 を 考 慮<br />

– クロック/サイクルベースモデル:すべての 動 作 はクロックに 同 期 して 決 められたクロック<br />

サイクルや 命 令 サイクル 内 に 確 実 に 終 了 することを 前 提 とする.<br />

遅 延 の 位 置<br />

– 素 子 単 位 : 前 置 遅 延 と 後 置 遅 延<br />

– 端 子 単 位<br />

d1<br />

– 端 子 の 組 み 合 わせ 単 位<br />

– 配 線 遅 延 :ファンアウト/ 配 線 長 の 考 慮 d2<br />

– 立 ち 上 がり/ 立 ち 下 がり 遅 延 : 立 ち 上 がりと 立 ち 下 がりの 遅 延 を 区 別 .<br />

d3<br />

06.5.18 ハードウェア 設 計 特 論


モデル 化 の 単 位 ( 粒 度 )<br />

回 路 シミュレータ: 電 子 回 路 モデルでで 扱 う.<br />

アナログ 信 号 までを 扱 うことが 多 い.<br />

論 理 シミュレータ: 離 散 信 号<br />

トランジスタレベル<br />

双 方 向 信 号 (トランスファゲート)<br />

論 理 ゲートレベル<br />

NAND, NOR , AND, OR, NOT<br />

出 力 端 子 は1つ<br />

機 能 素 子 レベル<br />

論 理 ゲート<br />

フリップフロップ,カウンタ,レジスタ<br />

セレクタ, 等<br />

レジスタ 転 送 レベル (RTL)<br />

レジスタ 転 送 レベル 言 語<br />

DDL, UDL/I, VHDLなど<br />

実 回 路 (HWエミュレータ)<br />

実 際 の 回 路 そのものを 利 用<br />

Field Programmable Gate Array (FPGA)<br />

SPICEなど<br />

06.5.18 ハードウェア 設 計 特 論


06.5.18 シミュレーション<br />

ハードウェア 設 計 特 論


論 理 シミュレータの 構 成<br />

テストパターン<br />

時 刻 進 行 管 理<br />

ネットリスト<br />

コンパイル<br />

リスト 出 力<br />

データ 構 造<br />

パターン<br />

コンパイル<br />

表 示 出 力<br />

イベント 処 理<br />

素 子 モデル<br />

N2 101011<br />

P15 000110<br />

1<br />

0<br />

06.5.18 ハードウェア 設 計 特 論<br />

C


論 理 シミュレーションのしくみ<br />

a<br />

b<br />

c<br />

d<br />

素 子 名<br />

端 子 名<br />

a<br />

b<br />

c<br />

d<br />

A<br />

B<br />

C<br />

z<br />

A<br />

B<br />

種 類<br />

PI<br />

PI<br />

PI<br />

PI<br />

2NAND<br />

2NAND<br />

2NAND<br />

PO<br />

入 力 1<br />

-<br />

-<br />

-<br />

-<br />

a<br />

c<br />

A.out<br />

C.out<br />

C<br />

入 力 2<br />

06.5.18 ハードウェア 設 計 特 論<br />

-<br />

-<br />

-<br />

-<br />

b<br />

d<br />

B.out<br />

-<br />

z<br />

出 力 値<br />

0<br />

0<br />

1<br />

0<br />

1<br />

1<br />

0<br />

0<br />

遅 延<br />

0<br />

0<br />

0<br />

0<br />

2<br />

2<br />

2<br />

1<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

d=1<br />

b=1<br />

a=1<br />

d=0


論 理 シミュレーションのしくみ<br />

a<br />

b<br />

c<br />

d<br />

素 子 名<br />

端 子 名<br />

a<br />

b<br />

c<br />

d<br />

A<br />

B<br />

C<br />

z<br />

A<br />

B<br />

種 類<br />

PI<br />

PI<br />

PI<br />

PI<br />

2NAND<br />

2NAND<br />

2NAND<br />

PO<br />

入 力 1<br />

-<br />

-<br />

-<br />

-<br />

a<br />

c<br />

A.out<br />

C.out<br />

C<br />

入 力 2<br />

06.5.18 ハードウェア 設 計 特 論<br />

-<br />

-<br />

-<br />

-<br />

b<br />

d<br />

B.out<br />

-<br />

z<br />

出 力 値<br />

0<br />

0<br />

1<br />

0→1<br />

1<br />

1<br />

0<br />

0<br />

遅 延<br />

0<br />

0<br />

0<br />

0<br />

2<br />

2<br />

2<br />

1<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

d=1<br />

b=1 B.0ut=0<br />

a=1<br />

d=0


論 理 シミュレーションのしくみ<br />

a<br />

b<br />

c<br />

d<br />

素 子 名<br />

端 子 名<br />

a<br />

b<br />

c<br />

d<br />

A<br />

B<br />

C<br />

z<br />

A<br />

B<br />

種 類<br />

PI<br />

PI<br />

PI<br />

PI<br />

2NAND<br />

2NAND<br />

2NAND<br />

PO<br />

入 力 1<br />

-<br />

-<br />

-<br />

-<br />

a<br />

c<br />

A.out<br />

C.out<br />

C<br />

入 力 2<br />

06.5.18 ハードウェア 設 計 特 論<br />

-<br />

-<br />

-<br />

-<br />

b<br />

d<br />

B.out<br />

-<br />

z<br />

出 力 値<br />

0<br />

0→1<br />

1<br />

1<br />

1<br />

1→0<br />

0<br />

0<br />

遅 延<br />

0<br />

0<br />

0<br />

0<br />

2<br />

2<br />

2<br />

1<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

d=1 ×<br />

b=1 B.0ut=0<br />

C.out=1<br />

a=1<br />

d=0


論 理 シミュレーションのしくみ<br />

a<br />

b<br />

c<br />

d<br />

素 子 名<br />

端 子 名<br />

a<br />

b<br />

c<br />

d<br />

A<br />

B<br />

C<br />

z<br />

A<br />

B<br />

種 類<br />

PI<br />

PI<br />

PI<br />

PI<br />

2NAND<br />

2NAND<br />

2NAND<br />

PO<br />

入 力 1<br />

-<br />

-<br />

-<br />

-<br />

a<br />

c<br />

A.out<br />

C.out<br />

C<br />

入 力 2<br />

06.5.18 ハードウェア 設 計 特 論<br />

-<br />

-<br />

-<br />

-<br />

b<br />

d<br />

B.out<br />

-<br />

z<br />

出 力 値<br />

0<br />

1<br />

1<br />

1<br />

1<br />

0<br />

0→1<br />

0<br />

遅 延<br />

0<br />

0<br />

0<br />

0<br />

2<br />

2<br />

2<br />

1<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

d=1 ×<br />

× ×<br />

b=1 B.0ut=0<br />

C.out=1<br />

z=1<br />

a=1<br />

d=0


論 理 シミュレーションのしくみ<br />

a<br />

b<br />

c<br />

d<br />

素 子 名<br />

端 子 名<br />

a<br />

b<br />

c<br />

d<br />

A<br />

B<br />

C<br />

z<br />

A<br />

B<br />

種 類<br />

PI<br />

PI<br />

PI<br />

PI<br />

2NAND<br />

2NAND<br />

2NAND<br />

PO<br />

入 力 1<br />

-<br />

-<br />

-<br />

-<br />

a<br />

c<br />

A.out<br />

C.out<br />

C<br />

入 力 2<br />

06.5.18 ハードウェア 設 計 特 論<br />

-<br />

-<br />

-<br />

-<br />

b<br />

d<br />

B.out<br />

-<br />

z<br />

出 力 値<br />

0<br />

1<br />

1<br />

1<br />

1<br />

0<br />

1<br />

0→1<br />

遅 延<br />

0<br />

0<br />

0<br />

0<br />

2<br />

2<br />

2<br />

1<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

d=1 ×<br />

× ×<br />

b=1 B.0ut=0<br />

×<br />

C.out=1<br />

z=1<br />

a=1<br />

d=0


論 理 シミュレーションのしくみ<br />

a<br />

b<br />

c<br />

d<br />

素 子 名<br />

端 子 名<br />

a<br />

b<br />

c<br />

d<br />

A<br />

B<br />

C<br />

z<br />

A<br />

B<br />

種 類<br />

PI<br />

PI<br />

PI<br />

PI<br />

2NAND<br />

2NAND<br />

2NAND<br />

PO<br />

入 力 1<br />

-<br />

-<br />

-<br />

-<br />

a<br />

c<br />

A.out<br />

C.out<br />

C<br />

入 力 2<br />

06.5.18 ハードウェア 設 計 特 論<br />

-<br />

-<br />

-<br />

-<br />

b<br />

d<br />

B.out<br />

-<br />

z<br />

出 力 値<br />

0→1<br />

1<br />

1<br />

1<br />

1<br />

0<br />

1<br />

1<br />

遅 延<br />

0<br />

0<br />

0<br />

0<br />

2<br />

2<br />

2<br />

1<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

d=1 ×<br />

× ×<br />

b=1 B.0ut=0<br />

×<br />

× z=1<br />

C.out=1<br />

a=1<br />

A.out=0<br />

d=0


論 理 シミュレーションのしくみ<br />

a<br />

b<br />

c<br />

d<br />

素 子 名<br />

端 子 名<br />

a<br />

b<br />

c<br />

d<br />

A<br />

B<br />

C<br />

z<br />

A<br />

B<br />

種 類<br />

PI<br />

PI<br />

PI<br />

PI<br />

2NAND<br />

2NAND<br />

2NAND<br />

PO<br />

入 力 1<br />

-<br />

-<br />

-<br />

-<br />

a<br />

c<br />

A.out<br />

C.out<br />

C<br />

入 力 2<br />

06.5.18 ハードウェア 設 計 特 論<br />

-<br />

-<br />

-<br />

-<br />

b<br />

d<br />

B.out<br />

-<br />

z<br />

出 力 値<br />

1<br />

1<br />

1<br />

1<br />

1→0<br />

0<br />

1<br />

1<br />

遅 延<br />

0<br />

0<br />

0<br />

0<br />

2<br />

2<br />

2<br />

1<br />

Time Wheel<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

d=1 ×<br />

× ×<br />

b=1 B.0ut=0<br />

×<br />

× z=1<br />

a=1 ×<br />

C.out=1<br />

A.out=0<br />

d=0<br />

Event Driven<br />

Table Look-up


シミュレーションパターンの 生 成<br />

• いくら 高 速 のシミュレータがあっても,すべての 入 力 系 列 に 対<br />

する 回 路 の 動 作 を 検 証 することはできない. 設 計 の 誤 り(バ<br />

グ)を 効 率 良 く 見 つけるためには,バグを 検 出 するような 入 力<br />

パターンをうまく 作 ることが 重 要 である.<br />

• 定 義 :(パターン 生 成 問 題 ) 与 えられた 回 路 の 設 計 のバグを 発<br />

見 する 回 路 への 必 要 十 分 な 入 力 パターンを 効 率 良 く 生 成 する 問<br />

題<br />

• 一 般 的 には、NPハード( 組 み 合 わせ 回 路 )またはP-Spaceハー<br />

ド( 順 序 回 路 )<br />

• 経 験 的 な 手 法 が 用 いられる<br />

06.5.18 ハードウェア 設 計 特 論


...<br />

...<br />

形 式 的 検 証<br />

• 与 えられた 順 序 回 路 の 機 能 が、 仕 様 ( 順 序 機<br />

械 )を 満 たしているかを 数 学 的 に 証 明 する 手<br />

法 。<br />

仕 様 :M = (I, O, S, δ, λ)<br />

– I : 入 力 アルファベット( 入 力 記 号 の 集 合 )<br />

– O : 出 力 アルファベット( 出 力 記 号 の 集 合 )<br />

– S : 状 態 集 合<br />

– δ :S×I→S 状 態 遷 移 関 数<br />

s(t+1) = δ(s(t), i(t))<br />

– λ : S×I→O 出 力 関 数 (Mealy 型 )<br />

o(t) = λ(s(t), i(t))<br />

符 号 割 当 がわかっているなら<br />

Mのδとλがfとgに 一 致 するかを<br />

確 認 する 問 題 ( 論 理 関 数 の 一 致 判 定 )<br />

06.5.18 ハードウェア 設 計 特 論<br />

入 力<br />

...<br />

NP 完 全 !<br />

p 本 x<br />

r 本 y<br />

組 み 合 わせ 論 理 回 路<br />

f:{0,1} p+r →{0,1} r<br />

g: {0,1} p+r →{0,1} q<br />

clock<br />

Q D<br />

...<br />

Q D<br />

q 本 z<br />

r 本 Y<br />

...<br />

出 力<br />

フリップフロップ<br />

( 記 憶 素 子 )


実 効 的 な 方 法<br />

• 論 理 関 数 の 表 現 方 法<br />

– Binary Decision Diagram<br />

– 実 用 的 な 関 数 には 有 効<br />

x<br />

0 1<br />

0<br />

x<br />

1<br />

y<br />

y<br />

y<br />

y<br />

0 1 0 1<br />

0<br />

0<br />

z z z z<br />

1 0 1 0 1 0 1<br />

0<br />

0<br />

z<br />

1<br />

1<br />

1 1 1 0 1 0 0 0<br />

0 1<br />

06.5.18 ハードウェア 設 計 特 論


BDD<br />

変 数 に 順 序 付 けをして,その 順 序 に 従 った2 分 決 定 木 を 構 成 する. 各 節 点 には 変 数 がラベルと<br />

して 付 けられ,0 枝 と1 枝 の2 本 の 枝 が 出 る.<br />

変 数 xをラベルとして 持 つ 各 節 点 vの 表 す 関 数 fを,vの 子 節 点 v0,v1の 表 す 関 数 f0,<br />

f1とするとき<br />

f=xf0+x’f1<br />

と 定 める.<br />

この2 分 決 定 木 に 対 し, 以 下 のような 規 則 を 適 用 し, 節 点 を 減 らす.<br />

1) 同 じ 関 数 を 表 現 する 節 点 v,v’があるとき,v’の 親 からの 枝 をvへ 付 け 替 え,v’とv’か<br />

ら 出 る 枝 を 削 除 する.すなわち, 同 じ 関 数 をあらわす 部 分 グラフを 共 有 する.<br />

2)0 枝 と1 枝 が 同 じ 節 点 を 指 している 節 点 vを 削 除 して,vの 親 から 直 接 vの 子 に 枝 を 付 け<br />

る.<br />

この 規 則 を 適 用 できるかぎり 適 用 して 得 られる 有 向 グラフを 既 約 な2 分 決 定 図 (Binary<br />

Decision Diagram: BDD)と 言 う. 変 数 の 順 序 を 固 定 すれば,ある 論 理 関 数 を 表 す 既 約 な2<br />

分 決 定 図 はユニークである. 多 くの 実 用 的 な 関 数 が 適 当 な 変 数 順 序 の 元 で 多 項 式 サイズの<br />

BDDで 表 される.<br />

06.5.18 ハードウェア 設 計 特 論


性 能 の 検 証<br />

• 論 理 検 証 ー> 遅 延 検 証<br />

•LVS ー> 回 路 パラメータ 抽 出 、 回 路 シ<br />

ミュレーション( 主 にライブラリ 開 発<br />

で 行 う。)<br />

06.5.18 ハードウェア 設 計 特 論


STA(タイミング 検 証 )<br />

SDF:Standard Delay Format<br />

ネットリスト<br />

タイミング<br />

制 約<br />

配 置 配 線 後<br />

遅 延 情 報<br />

(SDF)<br />

配 置 配 線 後<br />

負 荷 情 報<br />

容 量 、 抵 抗<br />

LSIテクノロジ<br />

ライブラリ<br />

STA<br />

(Static<br />

Timing<br />

Analysis)<br />

素 子 遅 延<br />

F/F<br />

Q<br />

Q<br />

配 線 遅 延<br />

F/F<br />

Q<br />

Q<br />

CLK<br />

論 理 設 計 工 程 では、 経 験 値 の 配 線 遅 延 でタイミング 検 証<br />

超 微 細 化 の 進 行 で、 配 線 遅 延 > 素 子 遅 延 と 大 小 関 係 が 逆 転<br />

⇒ レイアウト 設 計 結 果 の 配 線 遅 延 でのタイミング 検 証 が 必 須<br />

06.5.18 ハードウェア 設 計 特 論


同 期 システム<br />

同 期 システム<br />

内 部 記 憶 を 持 つ 回 路 ( 例 :フリップフロップFF)の 出 力 を<br />

クロックの 立 上 がり(または 立 下 がり)でのみ 変 わるように 制 御<br />

FF 間 パスのディレイ<br />

最 大 パスディレイ≦Tc ・・・ クロックサイクル 時 間 より 長 すぎてはいけない<br />

最 小 パスディレイ≧Tp ・・・ クロックアクティブ 時 間 より 短 くてもいけない<br />

Tc :クロックサイクル 時 間<br />

Tp :クロックアクティブ 時 間 (クロックの 立 上 がりから 立 下 がりまでの 時 間 )<br />

クロックスキュー : FFに 分 配 されるクロック 信 号 の 時 間 差<br />

クロック 信 号 のパスディレイのばらつきの 最 小 化 も 必 要<br />

06.5.18 ハードウェア 設 計 特 論


D<br />

D<br />

C<br />

D<br />

ラッチ<br />

Q<br />

Q<br />

Dフリップフロップ<br />

D<br />

C<br />

D<br />

ラッチ<br />

Q<br />

Q<br />

Q<br />

Q<br />

Dラッチ<br />

D<br />

SRラッチ<br />

Q<br />

C<br />

C<br />

Q<br />

Dフリップフロップは、クロックの 立 上 がりで 入 力 Dの 値 を 取 込 み、<br />

クロックの 立 下 がりで 出 力 Qが 変 化 する<br />

Dラッチは、クロックの 立 上 がりで、 入 力 Dの 値 を 取 込 み、 出 力 Qが 変 化 する<br />

クロック<br />

C<br />

入 力<br />

D<br />

出 力<br />

Q<br />

クロックの<br />

立 上 がり<br />

セットアップ<br />

時 間<br />

ホールド<br />

時 間<br />

クロックの<br />

立 下 がり<br />

06.5.18 ハードウェア 設 計 特 論<br />

クロックサイクル<br />

時 間


パスディレイ<br />

パスディレイ 時 間<br />

D<br />

C<br />

FF1<br />

Q<br />

Q<br />

D<br />

C<br />

FF2<br />

Q<br />

Q<br />

Tc<br />

組 合 せ 論 理 回 路<br />

Tp<br />

Tp≦パスディレイ≦Tc<br />

最 小 パスディレイの 調 整<br />

パ<br />

ス<br />

数<br />

最 大 パスディレイの 最 小 化<br />

Tp<br />

06.5.18 ハードウェア 設 計 特 論<br />

Tc<br />

パスディレイ


CTS(Clock Tree Synthesis)<br />

クロック 木<br />

クロック 外 部 端 子 から 各 FFまでの<br />

クロック 信 号 の 配 線 長 を 等 しくする<br />

CLK<br />

T1<br />

D Q<br />

C<br />

組 合 せ<br />

回 路<br />

T2<br />

D Q<br />

C<br />

FF<br />

クロック<br />

バッファ<br />

クロック 伝 播 遅 延 T1


クロックスキュー<br />

クロックスキュー=クロック 信 号 パスの 最 大 ディレイ 値 − 最 小 ディレイ 値<br />

・FFに 分 配 されるクロック 信 号 には 時 間 差 がある(skew:ゆがみ、 不 均 斉 、 非 対 称 )<br />

・クロック 信 号 のクロック 供 給 源 から<br />

各 FFまでの 配 線 設 計 において<br />

パスディレイのばらつきの 最 小 化<br />

Max(Tcd i )−Min(Tcd i )≦⊿Ts<br />

Tcd i :FF i のクロック 信 号 パスディレイ 値<br />

⊿Ts:ばらつきの 許 容 値<br />

クロック 供 給 源 の<br />

クロック 信 号<br />

FF1に 供 給 される<br />

クロック 信 号<br />

Tcd 1 +Tc<br />

t0 Tcd 1 Tcd 2<br />

t0+Tc Tcd 2 +Tc<br />

Tc<br />

Tp<br />

FF2に 供 給 される<br />

クロック 信 号<br />

Tp+⊿Ts≦パスディレイ≦Tc−⊿Ts<br />

06.5.18 ハードウェア 設 計 特 論


ディレイチェックの 精 度<br />

設 計 フェーズ<br />

論 理 設 計<br />

ディレイチェックの 特 徴 点<br />

負 荷 ディレイ: 論 理 段 数 制 約 の 設 定<br />

配 線 ディレイ: 経 験 値<br />

フロアプラン<br />

(モジュール 配 置 )<br />

モジュール 相 対 配 置 情 報 に 基 づく<br />

クリティカルパスディレイの 評 価<br />

モジュール 内<br />

セル 配 置<br />

仮 想 配 線 長 による<br />

全 パスのディレイ 計 算<br />

モジュール 内 配 線<br />

モジュール 間 配 線<br />

実 配 線 長 (back annotation)による<br />

全 パスのディレイ 計 算<br />

06.5.18 ハードウェア 設 計 特 論


実 負 荷 抽 出 項 目 の 例<br />

配 線 のシート 抵 抗 値<br />

1<br />

配 線<br />

シート 抵 抗<br />

Rs<br />

Rs: 単 位 面 積 当 たりの 抵 抗<br />

クロスする 配 線 間 の 容 量 値<br />

2<br />

交 差 配 線 間<br />

容 量<br />

A 層<br />

Cl BA<br />

Cs AB<br />

Cl AB<br />

Cs AB :A 層 とB 層 の<br />

面 積 依 存 容 量<br />

Cl AB :A 層 →B 層 の<br />

周 辺 長 依 存 容 量<br />

Cl BA :B 層 →A 層 の<br />

周 辺 長 依 存 容 量<br />

B 層<br />

平 行 して 走 る 配 線 間 の 容 量 値<br />

3<br />

並 走 配 線 間<br />

容 量<br />

L<br />

C p<br />

06.5.18 ハードウェア 設 計 特 論<br />

d


SI(Signal Integrity) 問 題<br />

LSIの 高 速 化 ・ 微 細 化 により 顕 著 となってきた<br />

信 号 波 形 の 品 質 (SI)が 低 下 する 問 題 。<br />

特 性 パラメータの 大 小 関 係 の 逆 転 現 象 ( 配 線 間 容 量 > 基 板 間 容 量 など)<br />

により、 影 響 を 無 視 できない 各 種 ノイズ( 雑 音 )が 発 生 。<br />

クロストークノイズ<br />

配 線 間 のインダクタンス、キャパシタンスによる 電 磁 界 の 影 響 で、<br />

隣 接 信 号 線 間 の 結 合 により 雑 音 や 信 号 遅 延 が 発 生 。<br />

信 号 A<br />

信 号 B<br />

v<br />

v<br />

影 響 を 与 える<br />

隣 接 信 号 A<br />

t<br />

影 響 を 受 けた 信 号 Bの 波 形<br />

本 来 伝 わるべき 信 号 Bの 波 形<br />

06.5.18 ハードウェア 設 計 特 論<br />

t


設 計 の 検 証<br />

機 能 検 証<br />

アーキテクチャ 設 計<br />

アーキテクチャ<br />

RTL 設 計<br />

HDL 記 述<br />

プロセスパラメータ<br />

デバイスパラメータ<br />

デバイス 開 発<br />

ライブラリ 開 発<br />

プロセス 開 発<br />

論 理 検 証<br />

テスト 生 成<br />

テストベクタ<br />

論 理 合 成<br />

ネットリスト<br />

レイアウト 設 計<br />

LVS<br />

マスクデータ<br />

ライブラリ 情 報<br />

テスト<br />

製 造 プロセス<br />

デザインルール<br />

DRC<br />

機 器 の<br />

制 御 パラ<br />

メータ<br />

チップ<br />

06.5.18 ハードウェア 設 計 特 論


LVS (Layout v.s. Schematic)<br />

• ネットリスト 通 りレイアウトがなされ<br />

ているかをチェックする<br />

元 のネットリスト<br />

レイアウトデータ<br />

回 路 抽 出<br />

比 較 (グラフの 等 価 性 判 定 )<br />

ネットリスト<br />

06.5.18 ハードウェア 設 計 特 論


設 計 の 検 証<br />

機 能 検 証<br />

アーキテクチャ 設 計<br />

アーキテクチャ<br />

RTL 設 計<br />

HDL 記 述<br />

プロセスパラメータ<br />

デバイスパラメータ<br />

デバイス 開 発<br />

ライブラリ 開 発<br />

プロセス 開 発<br />

論 理 検 証<br />

テスト 生 成<br />

テストベクタ<br />

論 理 合 成<br />

ネットリスト<br />

レイアウト 設 計<br />

LVS<br />

マスクデータ<br />

ライブラリ 情 報<br />

テスト<br />

製 造 プロセス<br />

デザインルール<br />

DRC<br />

機 器 の<br />

制 御 パラ<br />

メータ<br />

チップ<br />

06.5.18 ハードウェア 設 計 特 論


Design Rule Check<br />

• マスクデータの<br />

中 に 設 計 ルール<br />

違 反 がないかを<br />

検 証 する。<br />

• 図 形 処 理<br />

DZÇÃÉsÉNÉ`ÉÉǾå©ÇÈǞǽDžÇÕÅA<br />

ÅgQuickTimeýÅhã@î\ägí£Ç²ÅA<br />

ÅgGIFÅhêLí£ÉvÉçÉOÉâÉÄÇïKóvÇ-ÇÅB<br />

06.5.18 ハードウェア 設 計 特 論

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!