
PDK (Process Design Kit)のアカウントへの導入 |
VLSI設計室用に実習環境を作成する。以下、VLSI設計室端末のコマンドプロンプトを vlsi> で表す。
- 実習データのコピー
vlsi> mkdir ~/lab
vlsi> cp /home/kitagawa/design/rohm180.tar ~/lab/
vlsi> cd ~/lab
vlsi> tar xvf rohm180.tar
- CADツール環境の設定
vlsi> cd
vlsi> mv .cshrc .cshrc.org2
vlsi> cp /home/kitagawa/design/ex.cshrc ~/.cshrc
vlsi> cp /home/kitagawa/design/ex.setlic ~/setlic
vlsi> source ~/.cshrc
vlsi> ln -s ~/lab/rohm180 d
以後、cd ~/d で、ローム社CMOS180nmテクノロジ用の作業ディレクトリに移動できる。
設計環境の説明
ファイル, ディレクトリ名 | 内容 |
DRC | 設計規則チェック用作業ディレクトリ |
LVS | レイアウト-回路図対応チェック用作業ディレクトリ |
cds.lib | Cadence統合環境のライブラリパス設定ファイル |
datasheet | IOセル説明書 |
display.drf | 表示設定ファイル |
kyoto | スタンダードセル開発環境 |
libraries | 設計ライブラリの保存ディレクトリ(※) |
rohm018_icc.tf | スタンダードセル設計用テクノロジファイル |
rohm180technology_ic6.tf | フルカスタム設計用テクノロジファイル |
sample | VerilogHDL記述サンプル |
setlic | CADツール環境設定ファイル |
spice | 回路シミュレーション用デバイスモデル |
.cdsinit, .cdsenv | Cadence統合環境のカスタマイズ設定ファイル |
※ 設計ライブラリ:
集積回路工学第1でも使用したが、ここで言う設計ライブラリとは、各種の設計データをまとめたものであり、Cadence社のLibrary Managerというツールによって管理を行う。この中のファイル等をUNIXコマンドを使用して操作をすると、CADツールに読み込めなくなる恐れがあるので、注意すること。
ソフトウエアやハードウエアの開発環境は、通常、OSとしてUNIXを想定している。本学のVLSI設計環境は、OSとしてLinux(UNIXに準拠して開発されたOS)を使用しているので、最小限の基礎知識と基本操作を覚えておこう。
- シェル
- mobaXtermを使ってサーバにSSH(Secure Shell)で接続するとコマンドプロンプトが表示され、コマンドを受け付ける状態となる。コマンドプロンプトに対して入力したコマンドは、シェル(OSのユーザインタフェース)が受け取り、カーネル(OSが提供するサービス)により実行される。シェルにはいろいろな種類がある。つまり、シェル言語を選ぶことができる。また、ファイルにシェルのコマンドを書き込んで、プログラム(シェルスクリプト)として実行することもできる。VLSI設計環境では、デフォルトで tcsh という最も普及しているシェルが起動するので、特にシェルの種類を変更したい場合を除いて、自分で起動する必要はない。tcsh では、以下の操作を覚えておくと、入力能率が格段によくなる。
- TABキー: コマンドやパスの補完(タイポを防ぐことができる)
- 上矢印キー: コマンドの履歴を遡る
- 下矢印キー: コマンドの履歴を下る
- ターミナル(端末)
- CUI(Character-based User Interface)を提供するGUI(Graphical User Interface)ソフトウエア。つまり、コマンドを入力するためのウインドウ。ターミナルを起動すると、同時にシェルも起動してCUIが提供される。mobaXtermでログインした場合、mobaXtermのウインドウをターミナルとして使用することもできるが、複数のターミナルを使って操作したい場合が多いので(例えば、環境設定の異なるソフトを同時に起動するなど)、通常は、ログインした画面(コンソールともいう)は、アプリケーションソフトの起動には使用せず、コンソールからターミナルを起動して、ターミナルからアプリケーションソフトを起動する。標準的なターミナルソフトとして xterm が有名だが、日本語が表示できないので、VLSI設計環境では、gnome-terminal を使用しよう。
- フォアグラウンドジョブとバックグラウンドジョブ
- ターミナルで、コマンドプロンプトに対して命令を入力すると、ジョブとして実行される(シェルの実行単位はジョブ、OSの実行単位はプロセス)。コマンドをそのまま入力すると、フォアグラウンドジョブとして実行され、コマンドの後に&を付けて実行すると、バックグラウンドジョブとして実行される。これらは、下記のように使い分ける。
- フォアグラウンドジョブ
- フォアグラウンドジョブを終了するまで、その起動ターミナルが他のコマンドやアプリケーションの起動を受け付けない代わりに、フォアグラウンドジョブに対するキー操作ができる。GUIを持たないプログラムやGUIと同時に独自のシェルを起動するプログラムは、フォアグラウンドで実行する。フォアグラウンドジョブの終了キー操作は、CTRL + c
- バックグラウンドジョブ
- コマンドの後に&を付けて起動する。起動したバックグラウンドジョブを終了しなくても、起動ターミナルで別のコマンドを実行できる代わりにフォアグラウンドジョブに対するキー操作は使えない。GUIプログラムの場合は、メニュー等で操作ができるので、バックグラウンドジョブとして実行すれば、プログラムを終了しなくてもターミナルを他のコマンドに使えるため便利である。
- テキストファイルの編集
- テキストファイルを編集するためのテキストエディタとして、emacs(高機能), gedit(シンプル), nano(軽い), vi(環境によらず使える) などが用意されているので好みのものを使おう。
- コマンドの形式とヘルプ
- コマンドは、通常、コマンド -オプション文字 操作対象 の形式で表される。オプションの文字は覚えきれないので、必要に応じて、コマンドのヘルプを使用する。
- ファイル, ディレクトリの表示とリンク
- ファイルシステムは、ディレクトリ(フォルダ)によるツリー構造となっており、ファイルやディレクトリに対する操作は、カレントディレクトリ(現在自分が入っているディレクトリ)内のファイルやディレクトリが対象となる。カレントディレクトリ以外のディレクトリ内のファイルやディレクトリを操作する場合は、対象ディレクトリへのパスを指定する必要がある。ソフトウエアによっては、必要なファイルが置いてあるディレクトリ(作業ディレクトリ)をカレントディレクトリにして起動しないと動作しないものもあるので、カレントディレクトリを常に意識すること。
パスの指定方法
- ホームディレクトリ(ログイン時のカレントディレクトリ): ~/
- 一つ上の階層: ../
- 例: cp ../../data.txt ~/ (2つ上の階層のディレクトリにあるdata.txtをホームディレクトリに同じファイル名でコピー)
- カレントディレクトリ: ./
- ルートディレクトリ: /
- UNIXのファイルシステムでは、ネットワーク上の記憶領域も含めたファイルシステム全体のトップ階層がルートディレクトリとなり、各種の物理的記憶領域はルートディレクトリの配下のディレクトリとして統合される。従って、絶対パス(完全なパスの表記)は、/ (ルート)から始まる。一方、最初に / を書かない場合は、カレントディレクトリに対する相対パス表記となる。
- カレントディレクトリの確認と変更
- カレントディレクトリの確認: pwd
- ディレクトリの変更: cd (例: cd ../../ (2つ上の階層に移動)
- カレントディレクトリ内のリスト: ls
- 隠しファイルも表示: ls -a
- .で始まるファイル名は隠しファイル(環境設定ファイルなど)
- 更新日時でソート: ls -t
- 更新日時でソート: ls -d
- 詳細表示: ls -l

先頭文字 d = ディレクトリ, l= リンク, - = ファイル
2-4番目の文字は所有者のパーミッション(r 読み、w 書き x 実行)
- リンク(ショートカット)の作成
- ln -s リンク先のディレクトリやファイル アンカーの文字
- 例: ln -s ~/design/lab a (~/design/lab のリンクaをカレントディレクトリに作成する)
- ファイル, ディレクトリ操作
- ファイル, ディレクトリ操作は、原則としてコマンドで行う。操作の取り消しはできないので注意しよう。mobaXterm の左ペインでもファイル, ディレクトリ操作が可能だが、カレントディレクトリの変更はできない。
- コピー: cp コピー元 コピー先 (ディレクトリの場合は cp -r)
- 名前変更または移動: mv 現在の名前 変更後の名前
- 削除: rm 名前 (ディレクトリの場合は rm -rf)
- 書庫の作成: tar cvf TARファイル名.tar ディレクトリ名(スペース区切りのリスト)
- 書庫の解凍: tar xvf TARファイル名
- データ圧縮: gzip -f 対象ファイル名
- データ解凍: gzip -d 圧縮ファイル名
- テキストファイルの内容表示: less ファイル名 (ページ送りは上下矢印キー、終了はqキー)
tarは、複数のファイルやディレクトリを1個の書庫ファイルにまとめることができるでの、データの受け渡しに便利。ディレクトリのままでのcpコマンドを使用すると、リンク切れの原因となるので、tarを使用すること。gzipは、UNIX上でよく使用されるGNU zip形式のデータ圧縮/解凍コマンド。
- 環境設定
- シェルやアプリケーションの環境設定は、通常、テキストファイルに書かれており、テキストエディタで編集できる。tcsh シェルの環境設定は、~/.cshrcという環境設定ファイルに書かれている。環境設定ファイルを間違って編集すると、ソフトウエアが起動できなくなるので、変更を加えるときには注意が必要。.cshrcを編集したら、「source 環境設定ファイル名」で、環境設定を読み込む。環境設定ファイルは、シェルの起動時に読み込まれるため、次回以降は、環境設定ファイルを読み込む必要はない。

- 検索パスの設定: set path={.......}
- コマンドプロンプトの表示を制御: set prompt="......"
- 例: %/ カレントディレクトリのパス, \! コマンドヒストリの番号
- エイリアス(別名)の設定: alias エイリアス名 実際のコマンドやパス
- 環境変数の設定: setenv 変数名 変数内容
また、source コマンドを用いて、シェルごとに異なる環境ファイルを読み込むことができる。複数のターミナル上で別の環境設定ファイルを読み込ませることにより、バージョンの異なるソフトウエアを同時に起動するようなことも可能になる。VLSI設計環境では、setlic というプログラム(シェルスクリプト)内で、source コマンドを用いて各種CADツール用の環境ファイルをシェルに読み込ませている。従って、適切なCADツール環境設定を読み込んだターミナルから、CADツールを起動する必要がある。また、setlicは、シェル毎に1度だけ実行すればよい。
[Table of Contents] [Next]
お問い合わせはこちらまで: kitagawa@is.t.kanazawa-u.ac.jp
Copyright (C) 2016- Akio Kitagawa, Kanazawa Univ.