2014年12月7日日曜日

ZYBO 13 ( I2S コントローラの作成 4 )

レジスタ経由(AXI-SLAVE経由)でのDAC出力のシミュレーション確認は出来たので、今度はDMA(AXI-MASTER)側のシミュレーション確認を行った。 I2S側がAXI-MASTERになるので、AXI-SLAVEのモデルが必要になるが、これは以下のようなビヘイビアモデルとした。 AXI I/FはVALIDとREADY信号のハンドシェイクにより情報の転送が行われるが、AXI規格では、これら2つの信号が共にHの時にハンドシェイクが成立し、その前後の信号の状態は規定されない。すなわち、相手の信号が特定の状態にあることを期待してはいけないことになっている。
本モデルでは、モデルが駆動するVALIDやREADY信号をm_XXXX_ptn配列で、ある程度ランダムに振って確認するようにした。




ベクタ
はじめにnon-circulation modeでDMAを実行し、次にcirculation modeで実行し4msec後に停止している。


波形

non-circulation modeの終了部

circulation modeでポインタが循環(END➔BEGIN)するところ

停止部


AXI-MASTERもSLAVEも自分で作っているのでどこか大きな勘違いをしている可能性もあり、実機で動作確認をしないことには安心できないが、問題なさそうな気がする。

ADC(録音)の経路はまだ確認がとれていないで、今度はそこのシミュレーションを行う。

0 件のコメント:

コメントを投稿

自作CPUで遊ぶ 22

今使用しているモータードライバはDM556Dというものだが、このドライバはMicro Stepが 800 [pulse/rev] 〜 40000 [pulse/rev]の範囲で設定できる。 Mi...