ハードウェア設計特論 (5)
ハードウェア設計特論 (5)
ハードウェア設計特論 (5)
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 ハードウェア 設 計 特 論