EZ-USB FX2 Slave FIFO③

e-tipsmemo.hatenablog.com
の続き。

実際にLEDに表示するのではなく、FIFOに入力していく。
イメージとしては以下のような感じ。
f:id:katakanan:20180420001850p:plain

これを実装した。

EZUSBのコードは前と同じ。
FPGAのコードは以下の部分がメイン

EMPTYフラグをみてSTATE1へ遷移し、EMPTYフラグが立つまで立ち上がりクロックでデータをラッチする。
クロックはEZUSB内部クロックと位相がπずれている。(はず)

このブロックをFIFOとEZUSBバスの間に入れる。
f:id:katakanan:20180427001516p:plain
ついでにILAでデバッグしやすいようにする。

USB Control Centerなるところから6byteおくると、16bit単位なので3回送信されるはず。
f:id:katakanan:20180427001233p:plain:w400
このときのILAの波形は
f:id:katakanan:20180427001814p:plain
トリガーとして、FIFOへのwrite enableを出している。
FIFOの書き込みカウント数が3になっている。

f:id:katakanan:20180427002119p:plain
debugの[22:7]がデータバスに直接つながっているので値をみると、
FIFOから正しく値が取り出せている様だ。

上が切れてしまったが
0x02_01
0x04_03
0x06_05
となっている

次回はFIFOから読み出して云々という流れの予定。