タグ: VHDL97

SERDESテスト用VHDLの記述2

前回に引き続きSERDESをテストするためのVHDLの記述を行った。

前回までのコードでは、100MHzクロックの分周に5ビットの変数を複数組み合わせることでカウントを行っていた。これは、100MHzから1秒周期までカウントするのに30ビット必要であり、2進数で書いた場合に視認性が極度に低下するからである。しかし、VHDL93及びVHDL97で記述を行うことで、16進数での数値記述が可能であると判明し、32ビット変数を設定することで、ひとつの変数での分周に成功した。これにより、入力クロックの動作のみで1秒まで分周することが可能となった。

前回の動作不良の原因として挙げていたPapilioの不調だが、別の機材を用いたところ動作が確認された。使用していたPapilioのピンがうまく動いていなかったようだ。しかし動作不良になった原因は不明である。

今回、拡張ボードにSERDESを乗せずにジャンパで接続しテストを行ったのち、SERDESを実装して実験を行った。送信信号は100MHzを1秒まで分周した際の上位14ビットの予定だったが、8ビット以降の点滅が確認できないほど高速であったため、上位7ビットを2回送信した。

OLYMPUS DIGITAL CAMERA
SERDES未実装状態での動作テスト

 

OLYMPUS DIGITAL CAMERA
SERDESを実装しての動作テスト
P9050292
SERDESを使用した動作の様子

データの送受信には成功したが、拡張ボードのパターンが剥離した関係で、いくつかの受信ピンがうまく接触せず、信号が乱れてしまっていた。拡張ボードは2号機を切削したので、こちらが完成次第実験機材を移行する予定である。

波形としては想定通りのものが出力されていたので、動作に問題はないと思われる。

出力波形20170831
送信波形。上から0~10番ピン。

 

広告