UART送信
Terasic社のDE0ボードでUART送信を行った。
機能は以下のとおり。
- プッシュスイッチを押すと、スライドスイッチの値(8ビット分)をそのままUART送信する。
- 通信速度は115200/8N1固定
非常に単純である。
最初はそんなものだ。
他のサイトを参考にVHDLを書いてみたが、上手くいかない。
送信はできているのだが、常に文字化けしている。
ModelSimのシミュレーション上では上手く動いているのだが、
原因を特定できず2~3日悩んだ。
他のサイトのHDLを見てもいまいち動作が分からない。
この人はどんな回路をイメージして書いたのだろう、と思うばかり。
CQ出版の本をいくら読んでも、納得できない。
こんなときは急がば回れ、である。
有限状態マシーンの勉強から始めた。
状態遷移図、状態遷移表、出力表を落ち着いて作成した。
やっとどんな回路図にすればいいかが分かった。
そうしたらVHDLコードをすらすら(?)書くことができ、送信に成功した。
私の力量不足のため、他人のHDLコードから回路構成を読み取ることができなかったのだろう。
他の方はHDLを書くとき状態遷移図を描いたり、回路図を意識しているのだろうか?