1 search_path = ". search_path = ". /usr/designs/Library/ROHM/EXD/synopsys/" ライブラリサーチパスの設定。 2 link_library = "rohm06_lin.db RohmIO_lin.db" 3 target_library = "rohm06_lin.db RohmIO_lin.db" ライブラリファイルの設定。 4 symbol_library = "" 適宜 EXD.sdb をダウンロードして設定すること。 5 default_schematic_options = "-size infinite" 6 read -format verilog {"cnt.v"} ソースファイルの読み込み 必要に応じて {"FileA.v","FileB.v","FileC.v"}の ように列挙すること。ただし、1999.05から記述方法が変わっているので要注意。 7 create_schematic -size infinite -gen_database 8 check_design 9 set_port_is_pad all_inputs() 10 set_port_is_pad all_outputs() 最上位階層の入出力のポートがパッドであることの定義。 11 set_pad_type -exact RZIBUFB all_inputs() 入力ポートに RZIBUF(入力バッファー)を設定 12 set_pad_type -exact RZOBUF all_outputs() 出力ポートに RZOBUF(出力バッファー)を設定 13 set_pad_type -exact RZIOBUFB find( port "DIO*" ) 双方向ポートに RZIOBUF(双方向バッファー)を設定。自動的に双方向を検出 できないようなので、各自の設計にしたがって、双方向端子名を記述する 必要がある 14 insert_pads -respect_hierarchy IOセルの挿入。後述の配置配線の際のIOセル配置情報の抽出のためにはIOセルは 最上位階層に存在する必要がある。そのため -respect_hierarchy オプションが 必要である。ただし、設計上どうしても -respect_hierarchy が使えない/ 使用したくない場合には、IOセル抽出を手動で行なう必要があるので注意すること。 また、必要に応じて適宜制約条件を設定すること。 16 current_design "Counter" ここでは、階層を保持したまま一括して合成を行なうこととするので、 current_design を最上位モジュールとする。ただし、同一モジュールを複数回使用 している場合などは uniqufy などを実行する必要があるので、設計に応じて十分 注意すること。 17 compile -map_effort high -boundary_optimization 合成最適化。map_effort はmedium でも良い。各自の設計規模に応じて設定すること。 19 report_cell 20 report_area 21 report_timing -path full -delay max -max_paths 1 -nworst 1 -to all_registers(-data_pins) + all_outputs() 特には本質的では無いが適宜レポート機能を用いて合成結果の評価を行なうこと 22 write -format db -hierarchy -output cnt.db Synopsys内部形式(db形式)での結果のセーブ(current_designが最上位階層となって いない場合には最上位階層に設定すること) 24 verilogout_no_tri = true 25 verilogout_single_bit = false 配置配線に受け渡すおよび合成後のシミュレーションを行なうVerilogの出力の際には tristage ネットを使用してはならないので no_tri = trueとし、また、バスを保った まま出力することが望ましいので single_bit=false とする。 26 write -format verilog -hierarchy -output cntout.v verilogネットリストの出力。全階層を同時に合成している場合には、必ず -hierarchy を使用して全階層分のネットリストを出力すること。(current_design が最上位階層 となっていない場合には最上位階層に設定すること) 27 report_cell -nosplit -connections -verbose > CellInfo.log 配置配線のIOセル位置情報を作成するためのセル情報の出力。 (current_design が最上位階層となっていない場合には最上位階層に設定すること)