• 検索結果がありません。

Microsoft PowerPoint - 3.3タイミング制御.pptx

N/A
N/A
Protected

Academic year: 2021

シェア "Microsoft PowerPoint - 3.3タイミング制御.pptx"

Copied!
26
0
0

読み込み中.... (全文を見る)

全文

(1)

3.3 タイミング制御

(2)

2

同期式回路と非同期式回路

1.同期式回路:

– 回路全体で共通なクロックに合わせてデータの受

け渡しをする

– 通信における例:I

2

C(1対N通信)

2.非同期式回路:

– 同一のクロックを使用せず、データを受け渡す回

路間の制御信号を用いてデータの受け渡しをす

– 通信における例:UART(1対1通信)

(3)

3.3.1 ハザード

(4)

4

1出力回路のハザード

T=0 a b c 0 0 0 0 1 0 1 0 1 1 1 0 真理値表 0 0 0 0 1 1 遅延を考慮しな い場合のcの値 0 1 1 1 0 1 T=0 0 1 0 T=0 c a b inv and invの遅延 invの遅延 andの遅延 ハザード

2入力以上の組合せ回路は遅延時間が経過する

まで、誤った演算結果(ハザード)が出力される。

(5)

多出力回路のハザード

5

ハザード(

Hazard)

正しい値

正しい値

出力端子毎に遅延時間が異なる

組合わせ回路

(6)

6

順序制御(重要)

• ハザードを避ける方法

– クロックによる同期回路を構成すると、組合せ回路が出すハザードを取り

除くことができる

– 論理合成を行う回路は原則としてクロックによる同期回路となる

組合せ回路 ain a D-FF bin clk D-FF cout D-FF b c c a b ハザード0 0 clk c b a clk cout clk 0 0 bin ain clk

(7)

7

応用例(レジスタ)

入出力レジスタ

パイプラインレジスタ

命令・アドレスレジスタ

演算回路(組合せ回路)

の動作をクロックに同期さ

せる働き

D Q CLK D Q CLK D Q CLK D Q CLK D0 D1 DN-2 DN-1 CLK Q0 Q1 QN-2 QN-1 Add REG REG REG

X

Y

Z

CLK

N bit Register

D-FF D-FF D-FF D-FF 入力レジスタ 出力レジスタ (結果を1周期 保持する) N N 加算器(Add)のハザードを取り除く

(8)

8

(参考)レジスタファイルと

SRAM

• メモリ機能を実現するには2種類の方法がある

– レジスタファイル

• レジスタを多数並べてaddressでアクセスするレジスタを指定する。HDLが書 ければ論理合成により作成できるが、回路の面積が大きいため数kbit程度 まで。

– SRAM(Static Random Access Memory)

• 通常は、メーカから供給された部品(コア)をチップ上に配置して利用する。 SRAMは自分でも設計できるが、論理合成ができないためトランジスタレベ ルの回路設計に関する知識が必要。 data_out data_in address wr_en rd_en clk Single-Port Memory wr_en =1 : 書き込みモード

rd_en =1 and wr_en =0 : 読み出しモード rd_en =0 and wr_en =0 : 出力は変化しない

(9)

3.3.2 クロック周波数

(10)

10

最大遅延制約

REG REG

組合せ回路

F(x)

X1

X2

D2

D1

CLK

X1入力からX2出力までに

t

d

延時間(=ハザードのない正しい

結果が出力されるまでの時間)

ある(最も

t

d

の長い信号伝達経路

クリティカルパス

と呼ぶ)

CLK D1 X1 X2 D2 0 1 2 3 0 1 2 3 F(0) F(1) F(2) td td F(0) F(1) F(2) X

常に

1周期後に演算

結果が出力される

ただし、

t

d

< T

clk

でなければならない

T clk Tclk

(11)

11

クリティカルパスを決める要因

R E G R E G CLK td 組合せ回路 組合せ回路の中で最も入出力間の遅延時間が長い経路=クリティカルパス。 クリティカルパスの遅延時間は td < 1/fclk = Tclk でなければならない。 同期式回路では、クリティカルパスの遅延が、最高クロック周波数を決定している ことに注意 クリティカルパスを決める要因 ・ ゲート段数が多い ・ 途中の配線のファンアウト数が大きい ・ 配線が長い(これは配置配線してみな いとわからない) ファンアウト数が多い ゲート段数が多い この経路が危険

(12)

クロックスキュー

12

入力レジスタと出力レジスタの間の

CLKタイミングのずれ

= クロックスキュー

t

skew R E G R E G td 組合せ回路 CLK

t

skew

t

d

< t

skew

:同じクロックエッジで演算結果を出力してしまう。

実際には、

1サイクル後のクロックエッジで処理結果を出

力しなければならないので、エラーとなる。この状態は、レ

ーシング(クロックと処理の競合)と呼ばれる。

(13)

レーシングの回避

13 R E G R E G td 組合せ回路 CLK

-t

skew

t

d

> 0 > -t

skew

となるため、レーシングを起こさない。

実際には、

D-FFのCLK端子-出力端子間の遅延、ハザ

ードの発生期間、レジスタのホールドタイムなども考慮す

る必要がある。詳しくは、

3.3.3節を参照。

D1

Q1

D2

Q2

(14)

タイミングチャートのまとめ

14

T

clk

> t

d

- t

skew

t

d

> t

skew

(正常)

T

clk

> t

d

- t

skew

t

d

< t

skew

(エラー)

本来は、1サイクル後で出力 [注] スライド13の回路ではtskewは負

(15)

15

クリティカルパスの短縮方法

= =

B

A

B

A

B

A

B

A

ド・モルガンの定理の記号表現 正論理と負論理を 使い分ける 4段 2段

(注)クリティカルパスの最適化は論理合

成ツールが行う。人手で行うことは危険。

ゲート段数の短縮

(16)

16

STA (Static Timing Analysis)

• クリティカルパスをゲート段数とファンアウト数から求める

手法は、

STA (Static Timing Analysis)と呼ばれる

– STAは論理シミュレーションや回路シミュレーションをしなくてもクリ

ティカルパスの遅延時間が算出できるので短時間で実行できる

– クリティカルパスを短くするような回路を合成するために、論理合

成の際に使用される

• STAでは、ゲートの遅延時間と配線の遅延時間(第7章で

扱う)を別々に求める

– ゲートの遅延時間は各ゲートの実測値から求められる(半導体

メーカが測定)

– 配線の遅延時間は配線長と遅延時間の関係を統計的に求めた遅

延モデル(半導体メーカが作成)を利用する

(17)

3.3.3 タイミング制約の詳細

(18)

18

同期式回路のタイミング(1)

R E G R E G clk td 組合せ回路

t

skew

t

dFF

t

s

t

dFF

:

レジスタ

(D-FF)の遅延時間

t

d

:

クリティカルパスの遅延時間

t

skew

:

クロックの配線遅延(クロックスキュー)

[注]3.3.2節と向きが逆

t

s

:

セットアップタイム

T

C クロックは出力レ ジスタ側から入力

T

C

> t

dFF

+ t

d

+ t

skew

+ t

s

の場合に正しい結果が得られる

組合せ回路が大きい回路では、tdが支配的 クロックが高速な回路では、tskewにも注意が必要 セットアップタイムに対する制約

D

1

Q

1

D

2

Q

2

(19)

19

同期式回路のタイミング(2)

R E G R E G clk thaz 組合せ回路

t

skew

t

dFF

t

h

t

dFF

:

レジスタ

(D-FF)の遅延時間

t

haz

:

ハザードが出始める

最短の

時間

t

skew

:

クロックの配線遅延(クロックスキューと呼ばれる)

t

h

:

ホールドタイム

t

h

< t

dFF

+ t

haz

+ t

skew

の場合に正しい結果が得られる

ホールドタイムに対する制約

t

skew

< 0 (入力レジスタ側からクロックを入力)の場合は危険。

この条件による誤動作をクロックと信号の「レーシング」と呼ぶ

D

1

Q

1

D

2

Q

2

(20)

20

タイミングチャート(詳細)

t

skew

clk(入力側)

clk(出力側)

t

dFF

t

d

t

dFF

t

s

t

h

t

s

t

h

T

C タイミング余裕がなくなると誤動作する D1 D2 Q2 Q1

t

s

t

h D2の変化がこれより速くなると誤動作する hazard

t

haz

(21)

3.3.4 クロックの生成

(22)

22

基準周波数

• コルピッツ発振回路のインダクタLを水晶振動子に置き換えたもの

• 水晶振動子は特定の周波数で非常にQが大きいインダクタとして動作

• 水晶振動子のQは100000以上、共振周波数の精度は6桁以上

– ディジタル回路の基準クロック – 時間の基準周波数(32.768kHz) – 無線通信回路の基準周波数(各種) – オーディオのオーバサンプリングクロック(5.6448MHz)

コルピッツ発振回路

水晶発振回路

(水晶

/セラミック振動子はLとして働く)

+ -L C1 C2 反転増幅回路 反転増幅回路 制限抵抗

(23)

23

基準クロックと内部クロック

• LSI外部と内部の回路全体の動作タイミング基準となるクロックを与える – 外部クロック発生回路に周波数が正確な水晶発振回路やそこそこ周波数が正確で安 価なセラミック発振回路が使用できる • 外部クロックは、1MHz~100MHz程度と周波数が低いため、高速集積回路内部 にはクロック周波数を定数倍するPLLまたはDLLという回路を置く • 低速で動作させる回路には、クロック周波数を「1/整数」にする分周回路を使用し てクロック周波数を下げることができる(次スライド) 内部クロック 基準クロック

PLL: Phase Locked Loop DLL: Delay Locked Loop

水晶/セラミック

発振回路 DLL or PLL

高速ロジック

LSI内部

(24)

24

2

i

分周回路

Clear (Reset) CLR CLK1 CLK2 CLK4 CLK8 TC 2TC 4TC 8TC

(25)

練習問題(1)

• 遅延時間から最高クロック周波数を求めよ

25

回路例

1

Q D Q Q D Q Q D Q Q D Q Q D Q Q D Q Q D Q Q D Q Clock Q D Q Q D Q Q D Q Q D Q Q D Q Q D Q Q D Q Q D Q Clock

回路例

2

回路例

3

回路例

4

tdEXOR= 2ns tdEXOR = 2ns

(26)

26

練習問題(2)

(2) 32.768kHzの水晶発振回路から1秒周期のクロックを作

り出すために、何分周する分周回路を通せばよいか

CLK N

f

T

1

2

(3)スライド24の分周回路の出力は、バイナリカウンタ(デク

リメントカウンタ)と同じとなるが、実際には、カウンタとし

ては使用しない。その理由は何か

ヒント

(1) 5.6448MHzのクロックで音声データのサンプリングを行

うとき、

CDのサンプリング周波数44.1kHz(ナイキスト

レート)に対して何倍オーバサンプリングとなるか

参照

関連したドキュメント

充電器内のAC系統部と高電圧部を共通設計,車両とのイ

[r]

学期 指導計画(学習内容) 小学校との連携 評価の観点 評価基準 主な評価方法 主な判定基準. (おおむね満足できる

平成 30 年度介護報酬改定動向の把握と対応準備 運営管理と業務の標準化

活断層の評価 中越沖地震の 知見の反映 地質調査.

基準の電力は,原則として次のいずれかを基準として決定するも

以上の基準を仮に想定し得るが︑おそらくこの基準によっても︑小売市場事件は合憲と考えることができよう︒