RINV (Reducer for logic INVerters) は階層表現されたネットリスト(NLD,PCDによる形式)を入力とし,回路全体に対して大域的に極性の最適化(インバータの削減)を行い,結果を階層表現のネットリスト(NLD,PCDによる形式)として出力します.
a:\par\example.dir にある test.sfl を auto.bat で合成する場合と同様の RINVの実行例を示します.test.2nd,a:\par\celldemo\start,a:\par\celldemo\start_e から NLD,PCDを入力して(この例の場合,start,start_e の指定は必ずしも必要ではない),test をトップ・モジュールとする回路の極性最適化を行い,結果のネットリストを test.3rd に格納します.
この場合の実行例をリスト9.1に示します.また,RINV の適用前後の回路を図9.1に示します.
<リスト9.1> RINVの起動と実行時のメッセージ出力の例
1: A>rinv test test.2nd a:\par\celldemo\start a:\par\celldemo\start_e -w test.3rd 2: 3: *************************************************************** 4: * RINV Version 2.3.0 1994/07/05 * 5: * This program is a part of the PARTHENON system. * 6: * Copyright (C) 1989-1994 NTT * 7: *************************************************************** 8: 9: Start to read NLD/PCD files 10: Read test.2nd/test.nld 11: Done 12: There are 6 inverters 13: Start inverter reduction 14: Done 15: There are 0 inverters 16: Start to write NLD files 17: Wrote test.3rd/test.nld 18: Done 19: Number of inverters 20: 6 ---> 0 21: 22: A>
<図9.1> RINVの適用前後の回路例