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