2015.07.27ANDやORといった基本ゲートで構成されたネットリストを生成したくて、yosysを試してみました。license)のVerilog-HDL合成ツールです。Veriligで回路設計を行った時、最終的には論理合成ツールでネットリストに変換します。論理合成ツールは、各FPGAメーカーから無償で提供されているものが利用できます。これらの論理合成ツールは、各FPGAメーカーのデバイスで使用されているLUTを組み合わせたネットリストしか生成できません。yosysでANDやORといった基本ゲートのネットリストが生成できるか試してみました。表示セルライブラリを使った論理合成セルライブラリを使った論理合成結果まとめインストールubuntuの場合は、apt-getでインストールできます。僕はubuntsu14.04LTSの環境にインストールしました。合成用のコード1ビットの加算回路で論理合成を試してみます。合成できれば、XORの等価回路が生成されるはずです。in1+in2;endmodule合成用スクリプト次のような合成スクリプト(test.ys)を作成します。このスクリプトではtest.vというverilogファイルを読み込み、合成後にsynth.vというファイルを出力しています。synth.vcleanyosysの実行スクリプトを指定してyosysを実行します。次のようなファイル(synth.v)が生成されます。この段階ではセルライブラリを指定していないので、XOR”^”が合成されています。in1;endmodule接続関係図の表示yosysでは、”show”というコマンドで次のような回路図を表示することができます。論理合成では、通常マッピングするセルライブラリを指定します。ASICなどでは、ベンダーが提供するセルライブラリを使いますが、入手するのが簡単ではありません。適当なセルライブラリが手元に無い場合は、yosysのソースコードに格納されているcmos_cells.libが利用できます。セルライブラリにマッピングする場合のスクリプトは以下です。synth.vcleanセルライブラリを使った論理合成結果NOTとNORを使ったネットリストが生成されました。_02_;endmoduleshowで回路図を表示した様子です。ゲートのシンボルは、一般的なものとは少し違っています。0.5)、基本的な論理合成は問題なく実行できました。次はクロックを使った同期回路を試してみたいと思います。64bit環境でModelSimにPLIライブラリをロードする場合は、32bitのシェアード・ライブラリを生成します。具体的には、生成時に次のオプションを指定します。ModelSimコマンドラインのVerilogとVHDLのサンプル・データについて、テストベンチの記述を比較しました。(データはこちらです。Cverはオープンソースのインタプリタ型Verilogシミュレータです。10年位利用していますが、CVerのシミュレーションで問題が起きた記憶はありません。Modeは、Verilogのキーワードを色付けして見やすくしたり、またインデントを自動的に調整したりしてくれます。Verilogをインストールしました。License)のVerilogシミュレータです。10.10.2)のターミナルでコンパイルしてみました。ソースコードを展開してsrcディレクトリに移動します。ディジタル技術資料タイトルとURLをコピーしました。