LoginSignup
2
2

More than 5 years have passed since last update.

C#でVerilog生成する妄想

Last updated at Posted at 2015-12-15

HDLを書くのは面倒

HDL界の二大巨頭といえばVerilog-HDLとVHDLであるが、
2つとも書くのが面倒である。
面倒である。1
でも使わないと回路書けない。

世の中はどうしているか

諦める
大きく二通りあって

  • ある言語で書かれたコードをVerilog,VHDLに変換する。(Synthesijer等)
  • ある言語の内部DSLとしてHDLを提供し、2それをVerilog,VHDLに変換する。3(MyHDL等)

HDL知識0の人が使うならともかく、
HDL書ける人がHDLマンドクセ('A`)となって使うなら
回路レベルの細かいことを指定しやすい後者で全然問題ないんじゃないか。

なぜC#

(C#と言うかVS2015だが)

  • Analyzerを使えばポート接続忘れなどのつまらないミスをコーディング時に検出できそう。使ったことないけど。
  • Verilogコード変換もT4テンプレートで楽にできそう。使ったことないけど。
  • HDLとRxはたいへん似ているので、信号をIObservableでシミュレーションすることもできる。はず。
  • そして大正義IntelliSense。

で、成果物はあるのかね?

  • 正直そんなに困るほど複雑なVerilogコード組まないから妄想を書きましたすみません。
  • 一応Verilogの基本的な演算子をRxのオペレーターで表現できそうなことは確かめた。
  • 「ぼくのかんがえたさいきょうのHDL」は一度学習目的(言い訳)で作ってみたい。


  1. 構造体という概念のないVerilog、とにかく長ったらしい記述になるVHDL、など。 

  2. Verilog/VHDLのASTを別の言語で表現できるようにし、更にその生成をラップする。 

  3. VHDLよりVerilogのほうがよくサポートされている気がする。 

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2