JapaneseEnglish
設計環境の準備

PDK (Process Design Kit)のアカウントへの導入

VLSI設計室用に実習環境を作成する。以下、VLSI設計室端末のコマンドプロンプトを vlsi> で表す。

  1. 実習データのコピー
    vlsi> mkdir  ~/lab
    vlsi> cp  /home/kitagawa/design/rohm180.tar  ~/lab/
    vlsi> cd  ~/lab
    vlsi> tar  xvf  rohm180.tar
    

  2. 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.libCadence統合環境のライブラリパス設定ファイル
datasheetIOセル説明書
display.drf表示設定ファイル
kyotoスタンダードセル開発環境
libraries設計ライブラリの保存ディレクトリ(※)
rohm018_icc.tfスタンダードセル設計用テクノロジファイル
rohm180technology_ic6.tfフルカスタム設計用テクノロジファイル
sampleVerilogHDL記述サンプル
setlicCADツール環境設定ファイル
spice回路シミュレーション用デバイスモデル
.cdsinit, .cdsenvCadence統合環境のカスタマイズ設定ファイル

※ 設計ライブラリ:  集積回路工学第1でも使用したが、ここで言う設計ライブラリとは、各種の設計データをまとめたものであり、Cadence社のLibrary Managerというツールによって管理を行う。この中のファイル等をUNIXコマンドを使用して操作をすると、CADツールに読み込めなくなる恐れがあるので、注意すること。

UNIX超基本操作

ソフトウエアやハードウエアの開発環境は、通常、OSとしてUNIXを想定している。本学のVLSI設計環境は、OSとしてLinux(UNIXに準拠して開発されたOS)を使用しているので、最小限の基礎知識と基本操作を覚えておこう。

  1. シェル
    mobaXtermを使ってサーバにSSH(Secure Shell)で接続するとコマンドプロンプトが表示され、コマンドを受け付ける状態となる。コマンドプロンプトに対して入力したコマンドは、シェル(OSのユーザインタフェース)が受け取り、カーネル(OSが提供するサービス)により実行される。シェルにはいろいろな種類がある。つまり、シェル言語を選ぶことができる。また、ファイルにシェルのコマンドを書き込んで、プログラム(シェルスクリプト)として実行することもできる。VLSI設計環境では、デフォルトで tcsh という最も普及しているシェルが起動するので、特にシェルの種類を変更したい場合を除いて、自分で起動する必要はない。tcsh では、以下の操作を覚えておくと、入力能率が格段によくなる。

    • TABキー: コマンドやパスの補完(タイポを防ぐことができる)
    • 上矢印キー: コマンドの履歴を遡る
    • 下矢印キー: コマンドの履歴を下る

  2. ターミナル(端末)
    CUI(Character-based User Interface)を提供するGUI(Graphical User Interface)ソフトウエア。つまり、コマンドを入力するためのウインドウ。ターミナルを起動すると、同時にシェルも起動してCUIが提供される。mobaXtermでログインした場合、mobaXtermのウインドウをターミナルとして使用することもできるが、複数のターミナルを使って操作したい場合が多いので(例えば、環境設定の異なるソフトを同時に起動するなど)、通常は、ログインした画面(コンソールともいう)は、アプリケーションソフトの起動には使用せず、コンソールからターミナルを起動して、ターミナルからアプリケーションソフトを起動する。標準的なターミナルソフトとして xterm が有名だが、日本語が表示できないので、VLSI設計環境では、gnome-terminal を使用しよう。

  3. フォアグラウンドジョブとバックグラウンドジョブ
    ターミナルで、コマンドプロンプトに対して命令を入力すると、ジョブとして実行される(シェルの実行単位はジョブ、OSの実行単位はプロセス)。コマンドをそのまま入力すると、フォアグラウンドジョブとして実行され、コマンドの後に&を付けて実行すると、バックグラウンドジョブとして実行される。これらは、下記のように使い分ける。

  4. テキストファイルの編集
    テキストファイルを編集するためのテキストエディタとして、emacs(高機能), gedit(シンプル), nano(軽い), vi(環境によらず使える) などが用意されているので好みのものを使おう。

  5. コマンドの形式とヘルプ
    コマンドは、通常、コマンド -オプション文字 操作対象 の形式で表される。オプションの文字は覚えきれないので、必要に応じて、コマンドのヘルプを使用する。

  6. ファイル, ディレクトリの表示とリンク
    ファイルシステムは、ディレクトリ(フォルダ)によるツリー構造となっており、ファイルやディレクトリに対する操作は、カレントディレクトリ(現在自分が入っているディレクトリ)内のファイルやディレクトリが対象となる。カレントディレクトリ以外のディレクトリ内のファイルやディレクトリを操作する場合は、対象ディレクトリへのパスを指定する必要がある。ソフトウエアによっては、必要なファイルが置いてあるディレクトリ(作業ディレクトリ)をカレントディレクトリにして起動しないと動作しないものもあるので、カレントディレクトリを常に意識すること。

    パスの指定方法

    • ホームディレクトリ(ログイン時のカレントディレクトリ): ~/
    • 一つ上の階層: ../
      例: cp ../../data.txt ~/ (2つ上の階層のディレクトリにあるdata.txtをホームディレクトリに同じファイル名でコピー)
    • カレントディレクトリ: ./
    • ルートディレクトリ: /
      UNIXのファイルシステムでは、ネットワーク上の記憶領域も含めたファイルシステム全体のトップ階層がルートディレクトリとなり、各種の物理的記憶領域はルートディレクトリの配下のディレクトリとして統合される。従って、絶対パス(完全なパスの表記)は、/ (ルート)から始まる。一方、最初に / を書かない場合は、カレントディレクトリに対する相対パス表記となる。

    カレントディレクトリの確認と変更

    • カレントディレクトリの確認: pwd
    • ディレクトリの変更: cd (例: cd ../../ (2つ上の階層に移動)
    • カレントディレクトリ内のリスト: ls
      • 隠しファイルも表示: ls -a
        .で始まるファイル名は隠しファイル(環境設定ファイルなど)
      • 更新日時でソート: ls -t
      • 更新日時でソート: ls -d
      • 詳細表示: ls -l
        result of ls
        先頭文字 d = ディレクトリ, l= リンク, - = ファイル
        2-4番目の文字は所有者のパーミッション(r 読み、w 書き x 実行)

    リンク(ショートカット)の作成
    • ln -s リンク先のディレクトリやファイル アンカーの文字
      例: ln -s ~/design/lab a (~/design/lab のリンクaをカレントディレクトリに作成する)

  7. ファイル, ディレクトリ操作
    ファイル, ディレクトリ操作は、原則としてコマンドで行う。操作の取り消しはできないので注意しよう。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形式のデータ圧縮/解凍コマンド。

  8. 環境設定
    シェルやアプリケーションの環境設定は、通常、テキストファイルに書かれており、テキストエディタで編集できる。tcsh シェルの環境設定は、~/.cshrcという環境設定ファイルに書かれている。環境設定ファイルを間違って編集すると、ソフトウエアが起動できなくなるので、変更を加えるときには注意が必要。.cshrcを編集したら、「source 環境設定ファイル名」で、環境設定を読み込む。環境設定ファイルは、シェルの起動時に読み込まれるため、次回以降は、環境設定ファイルを読み込む必要はない。

    .cshrc

    • 検索パスの設定: 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.