UART送信

Terasic社のDE0ボードでUART送信を行った。

機能は以下のとおり。

  1. プッシュスイッチを押すと、スライドスイッチの値(8ビット分)をそのままUART送信する。
  2. 通信速度は115200/8N1固定

非常に単純である。

最初はそんなものだ。

 

 

他のサイトを参考にVHDLを書いてみたが、上手くいかない。

送信はできているのだが、常に文字化けしている。

ModelSimのシミュレーション上では上手く動いているのだが、

原因を特定できず2~3日悩んだ。

 

他のサイトのHDLを見てもいまいち動作が分からない。

この人はどんな回路をイメージして書いたのだろう、と思うばかり。

CQ出版の本をいくら読んでも、納得できない。

 

こんなときは急がば回れ、である。

有限状態マシーンの勉強から始めた。

状態遷移図、状態遷移表、出力表を落ち着いて作成した。

やっとどんな回路図にすればいいかが分かった。

そうしたらVHDLコードをすらすら(?)書くことができ、送信に成功した。

 

私の力量不足のため、他人のHDLコードから回路構成を読み取ることができなかったのだろう。

 

他の方はHDLを書くとき状態遷移図を描いたり、回路図を意識しているのだろうか?