- 0
- 0
- 约9.43千字
- 约 47页
- 2019-12-24 发布于湖北
- 举报
集積回路設計演習第4回 張山昌論 サンプルファイルをディレクトリごとコピーしましょう cp ~/icdsn02/HDL/*.* . 今日の内容 制御部の構成 シミュレーション用メモリの作成 基本コンポーネントを用いたデータパスの構成 全体の構成?動作テスト シミュレーションモデルとは? 今回の例 基本的なROM (Read-Only Memory)の機能 基本的なROM (Read-Only Memory)の仕様 初期データファイル test.hex シミュレーションモジュール rom_test.v シミュレーションコマンド シミュレーション結果 今回の入力データメモリのシミュレーションモデル データファイル 入力データメモリ Input_rom.v シミュレーションコマンド シミュレーション結果 今日の内容 制御部の構成 シミュレーション用メモリの作成 基本コンポーネントを用いたデータパスの構成 全体の構成?動作テスト (第2回の授業) Interconnection Bindingの最終結果 変更後のブロック図 もう少し変更?修正 レジスタにEnable制御機能がなかったため,毎クロックの立ち上がりでデータが取り込まれる問題有り COUNT, R1, R2, A1~B3のレジスタをEnable付きのレジスタに変更した. 加算器の出力が,直接データパスの出力になるため,正しい出力が出力されているステップ数が少ない データパスの出力IPを記憶するレジスタ(Enable付き) IP_REGを追加 修正後のデータパス(修正点を赤で表示) モジュール化 制御信号に対する変更点 前述のデータパスの変更に伴い,R1,R2のEnalble制御信号をC3, COUNTのEnable制御信号をC4,A1~A3のEnable制御信号をC5,IP_REGのEnable制御信号C6を制御信号に追加した. デコーダの変更,その他の部分の制御信号ビット幅の変更 MUX4,MUX5は,S4, S5で入力1を選択する必要あり ? 制御信号C1をS5で1となるように変更 デコーダの変更 修正後の制御信号 シミュレーション レポート (1) IP=A1*B1 + A2*B2 + A3*B3 + A4*B4 を乗算器2個を用いて計算するCDFGを示せ. データセット数は6個とする (2) (1)で求めたCDFGをスケジューリングせよ (3) (2)のスケジュールされたCDFGに対してバインディングを行え (4) (3)のバインディングに対応したデータパスを示せ レポートのヒント(第1回目の授業より) 例:ベクトルの内積(5個のデータセット) A=(a1,a2,a3) B=(b1,b2,b3) アルゴリズムのC言語ライク表現 int a[3], b[3]; int ip; for (i=0; i5; i=i+1) { // ファイルからa,bにデータを読み込む(オリジナル関数) Read(a, b); IP = a[0]*b[0]+a[1]*b[1]+a[2]*b[2]; // ファイルにデータを書き込む(オリジナル関数) Write(IP); } CDFG表現の前提となるアーキテクチャモデル CDFGのまとめ CDFGのスケジュール例1(おすすめ) 必要な演算器,レジスタの数をかぞえる(Unit Selection) ステップを越えてデータを渡す場合には,レジスタが必要 変数の数だけレジスタが必要なわけではない.変数のライフタイム(使用されるステップ)が重ならなければ,同じレジスタを異なる変数で共有してもよい?レジスタ数の削減 各演算器の種類毎に,全ステップの間で,最大の演算器数が,その演算器の数になる Unit selection Unit selection結果 Binding 同じステップで実行される演算ノード ? 異なる演算器へ割り当てる 同じステップでレジスタに記憶されている変数 ? 異なるレジスタに割り当てる Bindingが配線に影響するので,配線が簡単になるようなBindingが望ましい Bindingの対象は? Binding 例 データパス設計の最終段階Interconnection Binding 各ステップ毎に,Binding結果をみて,レジスタ,演算器間に必要な配線を接続 演算器,レジスタの1つポートに複数の入力が入る場合には,選択回路(Multiplexer)を挿入する(出力を直接接続するとショートするため). Binding例 Interconnection Binding: S0 Interconnection Binding: S1 Interconnecti
原创力文档

文档评论(0)