A.2 入出力データと I/O ウィンド ウとの関係
A.2.3 出力データの場合
– アドレス0hの2ビット目にユニット0のcarry0信号のデータが格納される.
– アドレス0hの3ビット目にユニット1のend unit1信号のデータが格納される.
– アドレス0hの4ビット目にユニット1のfound1信号のデータが格納される.
– アドレス0hの5ビット目にユニット1のcarry1信号のデータが格納される.
– アドレス0hの6〜18ビット目にユニット0のcount unit0信号のデータが格納される.
– アドレス0hの19〜31ビット目にユニット1のcount unit1信号のデータが格納される.
– 上記に述べたところ以外は要約として,扱わないとする.
31
00 h
FF h 0
found0 end_unit0
1 2 6
RESERVED = 0s
carry0 count_unit1
3 4 5 18
19
count_unit0
end_unit1 found1 carry1
図62: I/Oウィンド ウと2ユニットの出力データの関係図
• 3または4ユニットの場合(図63を参照) – ユニット0の出力
∗ アドレス0hの0ビット目にend main信号のデータが格納される.
∗ アドレス0hの1ビット目にfound信号のデータが格納される.
∗ アドレス0hの2ビット目にover flow信号のデータが格納される.
∗ アドレス0hの16〜31ビット目にcount found信号のデータが格納される.
– ユニット1の出力は,基本的にユニット0と同じ配置であるが,使用されているアドレスは1hである.
– ユニット2の出力は,基本的にユニット0と同じ配置であるが,使用されているアドレスは2hである.
– ユニット3の出力は,基本的にユニット0と同じ配置であるが,使用されているアドレスは3hである.
FF h
RESERVED = 0s
04 h
0C h 08 h
RESERVED = 0s
RESERVED = 0s
RESERVED = 0s
図63: I/Oウィンド ウと4ユニットの出力データの関係図
65に示す.図中で黒太い縦線の左側にある全ての論理は,雛方ファイルに記述している基本の論理である.但し , datvldRRのフリップフロップ,datvldRRとつながっている和論理,clk d2を出力フリップフロップ,sel unit en とつながっているフリップフロップが書き加えられたものである.この分部の論理回路(左側の論理回路)は,PCI バスと同じ クロックで動作している(33MHz).一方,黒太い縦線の右側にある全ての論理はバスの倍周期で動作
している(16.5MHz). 以下,黒太い縦線の右側にある論理回路について説明する.
• XXX c2のフリップフロップ(XXXは文字列である)
PCIバスクロックで動作している回路(黒太い縦線の左側)から出力されたデータをラッチする.以下それ ぞれの信号線についての意味を説明する.
– ldiRR c2
PCI FPGAから出力された32ビットの入力データ・バスである.
– rdwrRR c2
メモリの書き込みまたは呼び出し信号である.信号レベル H の時に書き込み,レベル L の時に 呼び出しである.
– ldaRR c2
PCI FPGAから出力された32ビットのアドレス・バスである.本研究では,0〜7ビット目までをデ
コード することで,ブロック1〜4を選択する.
– datvldRRR c2
ライト・サイクルでは,Pldio上の有効データを示す信号線である.この信号レベル H の時にPldio
• 2 to 4 DeMUX with Enable(破線枠の外)
得られたアドレスをデコードし ,どのメモリを初期化するかを振り分ける.このデマルチプレクサからの出 力信号の意味を以下に説明する.
– ctrle
メモリETSA,Pα,回路のリセットのうち初期化を行うイネーブル信号である.
– MBwe
メモリM,Bを初期化するイネーブル信号である.
– ETS awe
メモリETS(A)を初期化するイネーブル信号である.
– ETS bwe
メモリETS(B)を初期化するイネーブル信号である.
• 2 to 4 DeMUX with Enable(破線枠の中)
得られた入力データをデコードし ,回路のリセット,回路の実行開始,レジスタPαの書き込みイネーブル のうち選択する.このデマルチプレクサからの出力信号の意味を以下に説明する.
– Resete
回路のリセット・イネーブル信号である.
– Starte
回路の実行開始のイネーブル信号である.
– Pawe
レジスタPαの書き込みイネーブル信号である.
• memSel
初期化を行うメモリを選択する.
ldiRwe
D Q
Q SPFD1P3AX
OBZ12 D QQ SPFD1P3AX
ldoeN ldiR
ldoRwe
ldo ldaRwe datavld clk
rdwrN D QQ FD1S3AX
D Q
Q SPFD1P3AX D QQ SPFD1P3AX
ldaR memioNmemioR
32 32 E
ldaRR_c2[7:6]
32
3232 D QQ FD1S3AX
ldaRR_c2 32
ldoR ldi rdwrRD QQ SPFD1P3AX Dec1e D QQ FD1S3AXdatvldR
datvldRRR_c2
rdwr D QQ FD1S3AX
datvldRR memioRR_c2
rdwrRR_c2
D Q
Q FD1S3AX D QQ FD1S3AX
32
ldiRR_c2 D QQ FD1S3AX ’1’
clk_d2 D QQ FD1S3AX
temp_resetN
clk use13_8 line_three datvldRrdwrR memioR
sel_unit_en
D Q
Q FD1S3AX
unit_enRR_c2unit_enR 4D QQ SPFD1P3AX
X4
use13_8 reset_system line_three datvldRrdwrR memioR
reset_allN 32
unit0_out unit1_out
ldaR[3:2] 32
0 1 2 3
unit2_out unit3_out end_unit
over_flow count_found(unit_out[2]) (unit_out[31:16]) found (unit_out[0])(unit_out[1]) clk
D SPFD1P3DX CD 図64:I/Oウィンドウを用いたインタフェース回路