ここでは,spiceIn を実行する時のパラメータを記述した SKILL ファイルを用意する方法について述べる.
(a) conn2sch parameter file
spiceIn した schematic のオブジェクトの配置やラベルの大きさを制御している様だ.GUI で実行する時は用意する必要がなく,一方で実行後に勝手にできている.(しかし CUI では必要)
% cat schOpts_spiceIn.params
-- conn2sch parameter file prepared by Spice In:
sheet_symbol := none
page_row_limit := 1024
page_col_limit := 1024
label_height := 10
line_line_spacing := 0.200000
line_component_spacing := 0.500000
density_level := 0
pin_placement := left_and_right_sides
(2) DeviceMap file
ネットリスト中のトランジスタを schematic (正確にはトランジスタライブラリの)のトランジスタに対応させるファイル.これは GUI で実行する時であっても必要.PDK に依存する.
以下は,ネットリスト中のトランジスタ(*mos_net)を schematic のトランジスタ(*mos_sch)にマップしている.
% cat fet_map.spicein_map
-- Device Mapping file generated from SpiceIn GUI
devSelect := pmos_net pmos_sch
propMatch := pmos_sch
devSelect := nmos_net nmos_sch
propMatch := nmos_sch
(3) spiceIn.param file
spiceIn に入力するファイル.
%cat spiceIn.param
piceInParams = list(nil
'conn2schParamFile "schOpts_spiceIn.params"
'language "CDL"
'netlistFile "NAND4_4X.cdl"
'outputLib "CellLibrary"
'refLibList "cmos"
'outputViewName "schematic"
'simName "auCdl"
'outputSimName "auCdl"
'devMapFile "fet_map.spicein_map"
)
(1)~(3)は,一度 GUI で spiceIn を実行すると生成されるので,保存してテンプレートとして利用するのも手である.
(4) spiceInの実行
Terminal において以下の様に実行すれば,spiceIn が起動する.
%spiceIn -param spiceIn.param
spiceIn は,上記に挙げたパラメータファイルをあらかじめ用意する方法と,引数にオプションとして記述する方法の2つの方法がある.
私の環境では後者は"conn2schParamFile"の場所を指定できず正しく動かない ($HOME/cadence/以下を探しに行く).
また,私の環境だと以下の2つのエラーがでてしまう,が schematic 生成には特に問題はない様だ.
*Error* eval: undefined function - ls
*Error* eval: undefined function - drLoadDrf
0 件のコメント:
コメントを投稿