| Verilog-HDLファイルの出力とSynopsysによる論理合成 | 
VerilogライブラリとしてROHM社製、0.35μmテクノロジを使用しています。

 
出力先のディレクトリに、[top module]名でフォルダが作成されます。
| Makefile | 言わずもがな、make、g++、コマンド必須。 | |
|---|---|---|
| add.dc | top module論理合成用dc_shellスクリプト | |
| add.v | top module | |
| add_sim.v | シミュレーションmodule | |
| arbiter.v | アービタmodule,必要なくてもとりあえず。 | |
| delay.data | 遅延情報 | |
| delay.v | 遅延module群。トランジション関数の遅延は入っていません | |
| delayadd.cpp | BUFによる遅延moduleを合成するためのコード、make dc時にコンパイルされる。 | |
| kemmakixuhzi.v | シミュレーションで使用されるウージとケムマキmodule。論理合成は行われない。 | |
| muller_c.v | mullerのC素子module。リセット時に0を出力するもの(muller_c_r)と1を出力するもの(muller_c_s) | |
| pipe.v | 制御線module群。入出力数で区分 | |
| pjoint.v | 選択分岐や競合合流部分の接続module群 | |
| trafunc.v | トランジション関数module群。機能記述なので遅延なし | |
| transition.v | トランジションmodule群 | |
| udata*.txt | ウージデータ。*には番号が入る | 
シミュレーションは
| % make | 
により行います。
ライブラリが見つからないといわれる場合は、Makefileを編集してください
終わったらsignalscanで波形を確認しましょう。
 
k_12_dが出力されるデータです。QROQS上でもIDは12でした。
データは、k_12_aの立ち上がりエッジの時間の時に有効になるので、
00001と有効データが出力されていることが分かります。
また、ファイルkdata12.txtを見ることでも出力データを確認できます。
| % make dc | 
により、多少時間がかかりますが、合成を行います。詳細は、
1.遅延付加スクリプトのコンパイル 2.トランジション関数の論理合成 3.レポートファイルより遅延時間を取得 4.遅延モジュールの生成 5.トランジション関数、遅延モジュールを含めたtop moduleの論理合成となっています。
合成後、ここまでで新たに出力されるファイルとして主なものは、
| add.rep | top module合成結果レポートです。面積はここから取得してください | |
|---|---|---|
| add.vnet | 論理合成をおこなったtop module | |
| delay.vnet | トランジション関数の遅延を加算し、遅延を偶数個のINVで構成した遅延module | |
| delayadd | 遅延module生成用コマンド | |
| kdata*.txt | ケムマキに出力されるデータ。*にはIDが入る. | 
| % make sim | 
により、シミュレーションを行います。
結果は先ほどと同じように、波形及びデータ出力ファイルで確認して下さい。