PythonでVHDLテスト用の動作モデルを作ることの検討

先日すこしツイッターで呟きましたが、C言語というのはどうも余計な記述が多すぎる気がします。

{}を閉じるとかそういうことならともかく、クラスの宣言を丸々ヘッダファイルに持つなど、いくら分割コンパイルが切実な時代の設計とは言え、ちょっとやり過ぎに思えます。一方、コードに対する記述量の少なさならPython、ということで試してみました。

そして結論から書けば、私の場合Pythonで今後VHDLテスト用の動作モデルを書かないという結論に至りました。

一番大きな理由は、整数型の抽象度が高すぎて固定ビット長のビット列として扱うことに無理があることです。Pythonにおける整数には値の上下限がありません。必要に応じて適宜必要なビット数が整数オブジェクトに割り当てられます。この方法は通常のユーザーには便利ですが、固定長ビット列でのデータ操作を必要とする組み込みには決して相性が良くありません。特に符号付き2の補数表現は、ビット数が固定である事に依存していると言っても過言ではなく、そのビット数が場所によって変るディジタル回路設計は、ビット数が「値によって変る」というPythonとはかみ合わせが悪いのも仕方ありません。

そういうわけで、今後もモデル作成はC++にする予定です。

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください