VLSI設計方法

以下の設計方法は Rohm0.6um プロセス用東大版ライブラリを用いたもので、 チップ試作申込を行ないローム株式会社と秘密保守契約を結ばなければならない。 秘密保守契約を結ぶことにより、<必要ファイル>に示してある [Web] は VDECホームページから、[CDROM] は VDEC から送られてくる CDROM から得ることが 出来る。
このライブラリは、以下のような内容になっている。

1.個人の環境設定(平田研用)

.cshrcに以下の内容を書き加える。

#
# CAD setting
#
setenv XKEYSYMDB /usr/local/X11/lib/X11/XKeysymDB
setenv XAPPLRESDIR /usr/local/X11/lib/X11
set path = ( /usr/bin/X11 \
$path )

# Avant!
setenv AVANT /vdec/avant/98.4.0.25
setenv LM_LICENSE_FILE ${AVANT}/etc/licenses/license.dat
set path = ( $AVANT/bin $AVANT/viewer/bin \
$path )

# Synopsys
setenv SYNOPSYS /vdec/synopsys/1999.05
setenv ARCH sparcOS5
setenv SYNOPSYS_KEY_FILE ${SYNOPSYS}/admin/license/key
set path = ( $SYNOPSYS $SYNOPSYS/$ARCH/syn/bin \
$path )

# Cadence
setenv CADENCE /vdec/cadence/97B
setenv CDS_IC443 ${CADENCE}/IC443
setenv CDS_LDV21 ${CADENCE}/LDV21
setenv CDS_LIC_FILE ${CDS_IC443}/share/license/license.dat
set path = ( $CDS_IC443/tools/bin $CDS_IC443/tools/dfII/bin \
$CDS_IC443/tools/dracula/bin \
$CDS_LDV21/tools/bin $CDS_LDV21/tools/dfII/bin \
$path )

2.Verilog-HDLによる機能設計

Verilog-HDL でテキストエディタに回路を記述する。また、シミュレーション用の モジュールの作成も行なう。

3.機能シミュレーション

<必要ファイル> Verilog-HDLで設計した回路について、Verilog-XLを用いて動作レベルの シミュレーションを行なう。

% verilog systolic_hairetu_test.v systolic_hairetu.v

4.Synopsysのツールによる論理合成

<必要ファイル> 論理合成ツールには、design_analyzer(GUI)とdc_shell(コマンドライン)の 2つがある。コマンドスクリプトファイル(cmd.scr)を作成することで、 以下のように合成の実行が出来る。

% dc_shell < cmd.scr

5.論理シミュレーション

<必要ファイル> 論理合成により生成されたネットリストに対してシミュレーションを行なう。 バス配線を用いている場合は展開される為、適切に処理を行なう。

% verilog -v rohm06.v -v RohmIO.v systolic_hairetu_test.v systolic_hairetu_out.v

6.Avant!のツールによる配置配線

パッド配置用データの作成

<必要ファイル> CellInfo.logファイルから、RZIBUF、RZOBUF、RZIOBUF等のIOインスタンスを 抽出する。-Sオプションはチップの寸法で 0(4.5mm角)、1(8.9角)、2(3.9mm角)の いずれかを指定する。

% RohmIOPlace.pl -S 2 -C CellInfo.log -PO pin.dat

得られた pin.dat の1カラム目を使用するバッド番号に修正し、pinN.datという ファイル名で保存する。使用可能なパッド番号は、設計規則のパッド配列の 図面[Web]を参照する。
次にApollo用のパッド制約ファイルを作成する。

% RohmIOPlace.pl -S 2 -PI pinN.dat -TDF pin.tdf -CLF pin.clf -ED pin.edtext

pin.edtextは、LVSで使用する。

Milkywayを用いたネットリストの読み込み

<必要ファイル> Milkywayを用いてネットリスト(systolic_hairetu_out.v)の読み込みを行なう。 スクリプトファイル(NetIn.cmd)を用いる場合は以下のようにする。

% Milkyway -replay NetIn.cmd

Apolloを用いた配置配線

<必要ファイル> Apolloを用いて配置配線を行なう。スクリプトファイル(PR.cmd)を用いる場合は 以下のようにする。

% Apollo -replay PR.cmd

ストリームアウト

Milkywayを用いて、配置配線したデザインをGDSIIストリームファイルに出力する。 スクリプトファイル(StrmOut.cmd)を用いる場合は以下のようにする。

% Milkyway -replay StrmOut.cmd

7.設計回路の検証

DRC

<必要ファイル> 設計規則検査を Dracula(Cadence) を用いて行なう。gbu14n1z.rul に必要な 修正を行なう。

% PDRACULA << !
? /get gbu14n1b.drc
? /finish
? !

この操作で jxrun.com が生成されるので、これをログを取りながら実行する。

% jxrun.com >& drc.log

error.erc、error.drcなどにエラーがないか確認する。エラーがある場合は layoutPlus 等のレイアウトエディタで修正する。

LVS

<必要ファイル> 1.ネットリストの作成(LOGLVSの実行)

% LOGLVS < ? fpin
? cir rohm06.cir
? cir rohm06io.cir
? ver systolic_hairetu_out.v
? link
? con
? x
? !

以上の操作により LVSLOGIN.DAT というファイルが生成される。

2.Dracula の実行

gbu18.n1b.lvs に必要な修正を行なう。

% PDRACULA < ? /get gbu18n1b.lvs
? /finish
? !

この操作で jxrun.com が生成されるので、これをログを取りながら実行する。

% jxrun.com >& lvs.log

lvs.erc、lvs.drcなどにエラーがないか確認する。



戻る