バッチモードリンティング用のスクリプト作成

はじめに

多くALINTユーザーは、グラフィカル·ユーザー·インターフェース(GUI)でインタラクティブにツールを実行し、マウスやホットキーを使用して必要なすべてのアクションを実行します。しかしながら、ツールはもう2つのモードで機能できます:

  1. インタラクティブ・コマンドライン

  2. バッチ

ALINTが作動できるどんなモードでも効率的にスクリプトとマクロコマンドに利用できますが、それらはインタラクティブ・コマンドラインおよびバッチ・モードの絶対的な必須アイテムです。このドキュメントでは、あなたが効率的にデザイン·リンティングのスクリプトを作成する必要不可欠なコマンドを紹介します。

ツールの動作モード

表1に記載したようにALINTは、3つの異なるモードで動作することが出来ます。

表1: 動作モード

モード

内容

起動方法

GUI

インタラクティブ・グラフィカルインタフェース: ウィンドウ、メニュー、プッシュボタンとコンソールウィンドウでのコマンドライン

デスクトップのアイコン、またはOSコマンドシェルから下記コマンドを実行します:

> runalint

インタラクティブ・コマンドライン

インタラクティブ・コマンドライン、GUI無し

デスクトップのアイコン、またはOSコマンドシェルから下記コマンドを実行します:

> runalintcon

バッチ

非インタラクティブバッチ実行。GUI、およびインタラクティブ・コマンドライン無し

OSコマンドシェルからコマンドを実行します:

> vlint

Typical Script Line-by-Line

このセクションは、TCLスクリプトでリンティングを実行する際に使用するコマンドの例を紹介します:

ワーキングディレクトリの設定

set DSN (c:/my_designs/alint_demo)

cd $DSN

変数'DSN'にワーキングディレクトリパスを保存

ワーキングディレクトリの設定

ワーキングライブラリの作成とクリア

Note: コンパイル結果は、ワーキングライブラリ内に保存される

alib work

set worklib work

adel -all

ライブラリ'work'を作成

'work'をでデフォルトライブラリに設定

デフォルトライブラリをクリア

リンティング·プロセスを実行

ヒント: マルチラインでコマンドを使用する場合、'\' を使用

alint -f "$DSN/src/files.lst" \

-alint_policy DEFAULT \

-alint_avdb results.avdb \

-alint_gclk top.CLK1 -alint_gclk top.CLK2 \

-alint_grst top.RST \

'files.lst'内のファイルリストをチェック

ビルドインされている'DEFAULT'ポリシーを使用

'results.avdb'に結果を保存

クロック信号として'CLK1'と'CLK2'を扱う

リセット信号として'RST'を扱う

Manipulate the results

avdb2html results.avdb -report critical.html \

-rulelevel rule -rulelevel r1 \

-order_asc source -order_asc rule

.html レポート生成 [1]、含める情報:

- 'Rule'と Recommendation-1'のみ

- ファイル名とルールによるグループ化

avdbcopy results.avdb results_uut_a.avdb \

-instance_regexp {UUT_A.*}

別データベースにコピーするサブセット:

- 'UUT_A' 階層構造内のバイオレーション

avdbcompare res1.avdb res2.avdb \

-source "./src/tx.v" \

-report tx_comparison.txt \

-o tx_comparison.avdb \

-summary console

データベース'res1'と'res2'をコンペあ:

- tx.vファイルだけにおける違反を考察

- コンペあ結果を'tx_comparison.txt'に保存

- 'comparison.avdb'にも保存

- 高レベルサマリをコンソールに表示

NOTE: 変数にリンティングオプションをすべて保存してからALINTにこの変数値を渡したい場合は、evalのコマンドを使用する必要があります。たとえば:

set ALINT_OPTS {-alint_policy DEFAULT \ 
-alint_avdb results.avdb \ 
-alint_gclk top.CLK1 -alint_gclk top.CLK2 \ 
-alint_grst top.RST} 

eval alint $ALINT_OPTS -f "$DSN/src/files.lst"

通常、スクリプトは.doか.tcl拡張子があるファイルとして保存します。スクリプトがいったん保存されると、GUIかインタラクティブ・コマンドラインモードの何れかからそれを実行することが可能です:

バッチモードでの注意事項

バッチモードの場合、覚えやすいいくつかのスタンドアローンのコマンドがあります:

下記シーケンスは、デザインリンティングを使用するためのスタンドアロンコマンドの例になります:

# Create the working library (library work is used by vlint by default)
> vlib work
ALIB: Library `work' attached.
work = c:\my_designs\alint_demo\work\work.lib

# Clear the working library
> vdel -lib work -all
ADEL: All units removed from library `work'.

# Run linting for VHDL file (-c stands for Console)
> vlint -c -acom mux.vhd

# Run linting for Verilog file, use STARC_RTL policy
> vlint -c -alint_policy STARC_RTL -alog mux.v

リンティングスクリプトを持っている場合、-do 引数でvlintで実行することが可能です:

> vlint -c -do run.do 

ヒント: 自動的にvlint を終了しOSシェルに戻りたい場合、quit コマンドをスクリプトの最後で使用してください

リファレンス



Printed version of site: www.aldec.com/jp/support/resources/documentation/articles/1520