PowerPoint プレゼンテーション

2005年11月2日(木)
計算機工学論A
修士1年
No,05801635
堀江準
Active-Low ロジックの実行
•
•
Active-Low信号は値がGNDのときアクティブとなる。
Active-Low信号はメモリ、周辺装置、マイクロプロセッサチップ
を制御するのに有用である。
daisy.tdfはデイジーチェーンアービトレーション回路のモジュールである。
•このモジュールはデイジーチェーン接続で前のモジュールへのバスアクセスを要求する。
•このモジュールはそれ自体と次のモジュールからチェーンでバスアクセスの要求を受け取る。
•バスアクセスはそれを要求する最優先のモジュールに最優先のモジュールに承諾される。
SUBDESIGN daisy
(
/local_request
/local_grant
/request_in
/request_out
/grant_in
/grant_out
)
BEGIN
DEFAULTS
/local_grant
/request_out
/grant_out
END DEFAULTS;
IF
:
:
:
:
:
:
INPUT;
OUTPUT;
INPUT;
OUTPUT;
INPUT;
OUTPUT;
% 低い優先順位からのリクエスト(入力)%
% 高い優先順位へのリクエスト(出力)%
% 高い優先順位からの承認(入力)%
% 低い優先順位への承認(出力)%
=
=
=
VCC;
VCC;
VCC;
% active-low output %
% signals should default %
% to VCC
%
デフォルトVCC
/request_in == GND # /local_request == GND THEN
/request_out = GND;
END IF;
IF /grant_in == GND THEN
IF /local_request == GND THEN
/local_grant = GND;
ELSIF /request_in == GND THEN
/grant_out = GND;
END IF;
END IF;
END;
daisy.tdf
*デイジーチェーン:複数のモジュールを数珠繋ぎに繋いでいく配線方式
優先順位の高い
モジュールへの
バスリクエストと
承認
優先順位の低い
モジュールへの
バスリクエストと
承認
双方向ピンの実行
• MAX+PLUS ⅡではI/Oピンを双方向のピンとして構成することができる。
• TRIの出力に接続するBIDIRポートで双方向のピンを指定できる。
• 同一プロジェクト中でI/OピンとTRI間の信号は他のロジックを作動させる
のに使用できる双方向の信号である。
SUBDESIGN bus_reg2
(
clk
:
oe
:
io
:
)
BEGIN
io = TRI(DFF(io,clk, , ), oe);
END;
IN
bus_reg2.tdf
INPUT;
INPUT;
BIDIR;
双方向ピン
TRI(tri-state buffer)の真理値表
IN OE
OUT
X 0
Z
1
1
1
1
0
0
FUNCTION bus_reg2 (clk, oe) RETURNS (io);
出力
入力
SUBDESIGN bidir1
(
clk, oe :
INPUT;
io[3..0] :
BIDIR;
)
BEGIN
io0 = bus_reg2(clk, oe);
io1 = bus_reg2(clk, oe);
io2 = bus_reg2(clk, oe);
io3 = bus_reg2(clk, oe);
END;
bus_reg2を呼び出し
4ビットの双方向ピンを宣言
bidir1.tdf
高レベルのTDFファイル(bidir1)が低レベルTDFファイルを呼び出している。
その際、双方向ピン(io)が階層構造間を繋いでいる。
レジスタの宣言
レジスタは、データ値を保存してクロック信号と同期させる。
• いったんレジスタを宣言すると、ポートを使用することによってTDFの他の
ロジックに関連付けることができる。
• インスタンスのポート名は以下の形式である。
<インスタンス名>.<ポート名>
8ビット入力
クロック信号
Enable信号
8ビット出力
入
力
出
力
• クロック信号の立ち上がりに同期した出力が得られる(入力の値を
保持し、遅延した結果となっている)。
• Enable信号はhighでDFF=on、low=offとなる。今回は常にhighとした。