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とした。
© Copyright 2025 ExpyDoc