忍者ブログ

EDA Blog

Verilog、SystemVerilog、SystemCなど、ハードウェア記述言語についてのブログです。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

[Quartus] Quartus II Tcl API を使用したHardCopy II フローの自動化 (3)

今回は、example1.tcl で使用したTcl コマンドの詳細について説明します。

(1) load_package flow

Qaurtus II の提供するflow というパッケージをロードします。

Quartus II のTcl API で提供されるコマンドは、それぞれ関連するTcl パッケージの中に入っています。いくつかのTcl パッケージはロード済みですが、ロードされていないパッケージについてはload_package コマンドで明示的にロードする必要があります。

example1.tcl で使用しているexecute_flow execute_hardcopyii というTcl コマンドはflow パッケージに含まれていますが、このパッケージはロードされていないので、明示的にロードする必要があります。

(2) execute_flow –compile
フルコンパイルを実行します。GUI 上では、Processing→Start Compilation をクリックしたのと等価なフローが実行されます。

execute_flow コマンドは、flow パッケージに含まれているコマンドで、オプションによってAnalysis & Elaboration、I/O アサインメント・アナリシス等のあらかじめ決められたフローを実行することができます。

(3) execute_flow –create_companion_revision
HardCopy II コンパニオン・リビジョンを作成します。コンパニオン・リビジョン名は、Stratix II リビジョン名に_hcii をつけたものになります。例ではStratix II リビジョン名はdes56 ですので、HardCopy II コンパニオン・リビジョン名はdes56_hcii に設定されます。

GUI 上の等価な操作は、Project→HardCopy II Utilities→Create/Overwrite
HardCopy II Companion Revision…
です。

(4) set_current_revision des56_hcii
現在のリビジョンを、(3)で作成したHardCopy II コンパニオン・リビジョンをdes56_hcii に変更します。example1.tcl では、このコマンドでHardCopy II コンパニオン・リビジョンのdes56_hcii に変更しています。
set_current_revision では、現在のリビジョンを指定したリビジョンに変更することが出来ます。

(5) execute_flow -compile

HardCopy II コンパニオン・リビジョンでフルコンパイルを実行します。

(6) execute_hardcopyii –compare
Stratix II リビジョンとHardCopy II コンパニオン・リビジョンの比較を行います。

GUI上の等価な操作は、Project →HardCopy II Utilities → Compare HardCopy IICompanion Revisions です。

execute_hardcopyii は、flow パッケージに入っているコマンドです。使用する場合は、load_package コマンドでflow パッケージをロードする必要があります。

(7) execute_hardcopyii –handoff_report
HardCopy II コンパニオン・リビジョンのハンドオフ・レポートを作成します。

GUI上の等価な操作は、Project→HardCopy II Utilities→Genrate HardCopy II Handoff
Report
です。

(8) execute_hardcopyii –archive des56_hcii_handoff.qar
HardCopy II コンパニオン・リビジョンのハンドオフ・アーカイブを作成します。作成されるアーカイブファイル名はdes56_hcii_handoff.qar です。

execute_hardcopyii コマンドの-archive オプションでは、指定した名前のハンドオフ・
アーカイブを作成します。

GUI 上の等価な操作は、Project→HardCopy II Utilities→Archive HardCopy II Handoff Files…です。

次回からは、Quartus II Tcl API のさまざまな機能を使い、より洗練されたスクリプトを記述できることを説明します。

拍手[2回]

PR

[Quartus] Quartus II Tcl API を使用したHardCopy II フローの自動化 (2)

昨日書いた第1回のTclコマンドをexample1.tclとして保存し、Tcl Consoleからsource example1.tclと入力すると、一連のTclコマンドを実行できます。sourceコマンドは、指定したTcl スクリプトファイルを読み込み、実行するコマンドです。
hcii_fig5.PNG









example1.tcl を実行すると、Stratix II リビジョンのコンパイル後、HardCopy II コンパニオン・リビジョンを作成してコンパイルし、HardCopy II ハンドオフ・アーカイブの作成までを自動で行います。実行終了後にポップアップ・ウィンドウは表示されませんが、TclConsole 上でプロンプト#が表示されます。example1.tcl の実行終了後、プロジェクト・ディレクトリにHardCopy II ハンドオフ・アーカイブ(des56_hcii_handoff.qar)が作成されていること、リビジョンがdes56からdes56_hcii に変わっていることを確認してください。
hcii_fig6.PNG

Quartus II のTcl API を使用することで、Stratix II ファースト・フローを1 つのコマンドで実行することができるようになりました。




拍手[0回]

[Quartus] Quartus II Tcl API を使用したHardCopy II フローの自動化 (1)

Quartus II にはTcl API が用意されています。Tcl API を使用することにより、さまざまな作業を自動化することが可能になります。ここでは、Quartus II のTcl API を利用して、HardCopy II のコンパイル作業を自動化する手順を説明します。

Quartus II のGUI 上では、Tcl Console からTcl コマンドを実行します。Tcl Console は、View→Utility Windows→Tcl Console から開くことができます。
hcii_fig2.PNG

通常はQuartus II GUI の右下に、下図のような画面が表示されます。
hcii_fig3.PNG







HardCopy II をStratix II ファースト・フローで設計する場合の大まかなフローは以下のようになります。
HardCopy IIIやHardCopy IVの場合でもほぼ同じです。
  1. Stratix II リビジョンのコンパイル
  2. HardCopy II コンパニオン・リビジョンの作成
  3. リビジョンをHardCopy II コンパニオン・リビジョンに設定
  4. HardCopy II コンパニオン・リビジョンのコンパイル
  5. Stratix II リビジョンとHardCopy II コンパニオン・リビジョンの比較
  6. HardCopy II ハンドオフ・レポートの生成
  7. HardCopy II ハンドオフ・アーカイブの生成

上記のフローは、下記の一連のTclコマンドを使用して、一括して実行することが可能です。各Tclコマンドについては、後ほど説明します。
なお、ここではStratix IIリビジョンをdes56、HardCopy IIリビジョンをdes56_hciiとしています。
load_package flow
execute_flow –compile
execute_flow –create_companion_revision
set_current_revision des56_hcii
execute_flow –compile
execute_hardcopyii –compare
execute_hardcopyii –handoff_report
execute_hardcopyii –archive des56_hcii_handoff.qar

拍手[1回]

[Quartus II] Tcl について

2年ほど前に、Quartus IIでのTclの使い方についてまとめました。

明日ファイルを探して、分割してブログに記述しようと考えています。

拍手[1回]

[Quartus II] HardCopyリビジョンまで一気にコンパイルする方法

HardCopyをターゲットとする場合、Quartus IIのGUIを使用している場合には下記の手順を踏むことになり、FPGAリビジョンでのコンパイル後に手作業でHardCopyリビジョンを作成するという操作が必要になってしまいます。
  1. FPGAリビジョンのコンパイル
  2. HardCopyリビジョンの作成
  3. HardCopyリビジョンに移行
  4. HardCopyリビジョンのコンパイル


下記のTclスクリプトを使うと、上記の作業を自動化できます。

なお、Tclスクリプト実行時にプロジェクトを開いてあり、カレントリビジョンはFPGAリビジョンになっている必要があります。

load_package flow

set fpga_revision [get_current_revision] ;# FPGAリビジョン名
set hc_revision "${fpga_revision}_hc" ;# HardCopyリビジョン名

execute_flow -compile ;# FPGAリビジョンのコンパイル
execute_hc -create_companion $hc_revision ;# HardCopyリビジョンの作成
set_current_revision $hc_revision ;# HardCopyリビジョンをカレントリビジョンに設定
execute_flow -compile ;# HardCopyリビジョンの設定

拍手[0回]

[Quartus II] Nios II EDSのインストール

Nios II EDS 9.0がようやくインストールできました。
先日ダウンロードしたときはファイルが壊れていたのですが、FirefoxではなくInternet Explorerでダウンロードしたら正常にダウンロードできました。
ブラウザの違いなのかどうかは不明ですが。

拍手[0回]

[Quartus II] Quartus II v9.0のインストール

Quartus II version 9.0が公開されました。
ここからダウンロードできます。

Quartus IIとModelSim-Alteraはインストールできたのですが、Nios II EDSはダウンロードしたファイルが壊れているようでインストールできていません。
2回ダウンロードしてもダメだったので、後日再挑戦しようと思います。

拍手[0回]

[Quartus II] Quartus IIでTkを使用する

Quartus IIでは、Tcl/Tkを使ってGUIを作成できます。
Quartus II Command-Line and Tcl API Helpに下記のサンプルがあります。
注意点として、最初にinit_tkを呼ぶ必要があります。

init_tk

# トップレベルの作成、タイトル追加
toplevel .top
wm title .top "Hello World"

# ウィジェット追加
button .top.hello -text Hello -command { puts "Hello, World!" }
pack .top.hello -padx 20 -pady 10

# tkwaitを実行することで、作成されたウィンドウがクローズされるまで
# 実行されます
tkwait window .top


上記のコードをhello.tclという名前で保存し、Tools→Tcl Scriptsから実行すると、Hello Worldというボタンが表示されます。

拍手[0回]

カレンダー

03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

フリーエリア

最新CM

[04/11 なつたん]

最新TB

プロフィール

HN:
aston_martin
性別:
非公開

ブログ内検索

カウンター

アクセス解析