うらおブログ(移転しました)スマートフォン用の表示で見るやねうらおブログ(移転しました)この広告は、90日以上更新していないブログに表示しています。shogiなんか寝て起きたら頭のなかにコンパイラのコードが詰まっていたので数時間かけて書き出した。VHDL/C#コードが生成できるようにはなった。サンプルとしてCRCエンコーダを書いたのでこのエントリの下のほうにつけておく。(実はまだ一部未実装なのでこのコードはまだコンパイルできない。ように式ifを書けるようにしたり細かな拡張をしているのだが、こういう拡張をするとVisualC#でコードを書いたときにことごとくエラー表示されて気分が悪い。見かけだけでもC#風にして、VisualC#のソースエディタ上でエラー表示が出ないようにしたい。するとどんどん言語が冗長になってくる。これでは、VHDLと比べてそれほどすっきり、というわけでもない。パソコンの上で高速にシミュレートできるというのが唯一の利点だが、それならVHDL→Cのトランスレータを書いたほうがよっぽど役に立つのではないだろうか。そもそも、世間のVHDL用のシミュレータが何故そんなに遅いのかと言うとよほど手抜き余計な機能をごてごてつけているからではなかろうか。Cのコードに変換して実行するだけならかなり高速だと思う。開発するのでVHDLのシミュレーションが遅かろうがそんなことは知ったこっちゃないのである。以下、ここで作成した言語で書いたCRCエンコーダのソース*1とこの言語の仕様。クロック信号をCurcuit.DoEventが呼び出されるごとに変化させる。クロックごとにDATA_OUTの出力値をモニタする。processのようにセンシビティがあるのではないassginmentはここに書く。