FC2ブログ

[Quartus]QsysからFPGAプログラムまでのバッチ (まだ検証中)

気付けば4月はまだ記事書いてない。ブログ開始から毎月1記事以上書いてきたのに。
という訳で、まだ個人メモレベルですが、強引にメモ。

Qsys構成を保存したら、Generate実行して、QuartusIIコンパイルして、FPGAへ焼きこむまでを
自動化したい。
Cygwinで以下をバッチ実行すれば、(エラー無ければ)FPGAへ焼きこんでくれて、最後にSTA Slack
チェックまでして欲しい。STAチェックは途中でも良かったけど、最後の方が見易いかと。

SOPC Builderの時は以下のコマンドで出来たと記憶。QuartusIIのコンパイルコマンドもflowファイル
に記載あるやつをコピーすればOKだったはず。
QsysのGenerateはコマンドラインでどう書けば良いか分からず、GUIで出力されるログのうち、
コマンドらしきものを並べて見ただけ。Qsysの部分は未検証。

#!/bin/csh -f

set design_name = CG_2D
set qsys_name = CG_2D_qsys
set qsys_tb_name = ${qsys_name}_tb
set prj_dir = "C:/user/work/neek/CG_2D"
set qsys_dir = "C:/user/work/neek/CG_2D/CG_2D_qsys"
set qsys_sim_dir = "C:/user/work/neek/CG_2D/CG_2D_qsys/simulation"
set qsys_syn_dir = "C:/user/work/neek/CG_2D/CG_2D_qsys/synthesis"
set qsys_tb_dir = "C:/user/work/neek/CG_2D/CG_2D_qsys/testbench"

#---------------------------------------------------
# SOPC Builder Generate --> change to Qsys
#---------------------------------------------------
# sopc_builder --generate -v $qsys_name


#---------------------------------------------------
# Qsys Generate
#---------------------------------------------------
# copy from Qsys Generate log. 2012.4.30
ip-generate --project-directory=$prj_dir/ --output-directory=$qsys_sim_dir/ --file-set=SIM_VERILOG --report-file=sopcinfo:$prj_dir/$qsys_name.sopcinfo --report-file=html:$prj_dir/$qsys_name.html --report-file=csv:$prj_dir/$qsys_name.csv --report-file=spd:$prj_dir/$qsys_name.spd --system-info=DEVICE_FAMILY="Cyclone III" --component-file=$prj_dir/$qsys_name.qsys
ip-generate --project-directory=$prj_dir/ --output-directory=$prj_dir/ --report-file=sopcinfo:$prj_dir/$qsys_name.sopcinfo --report-file=html:$prj_dir/$qsys_name.html --system-info=DEVICE_FAMILY="Cyclone III" --component-file=$prj_dir/$qsys_name.qsys
ip-generate --project-directory=$qsys_tb_dir/ --output-directory=$qsys_tb_dir/CG_2D_qsys_tb/simulation/ --file-set=SIM_VERILOG --report-file=html:$qsys_tb_dir/$qsys_tb_name.html --system-info=DEVICE_FAMILY="Cyclone III" --component-file=$qsys_tb_dir/$qsys_tb_name.qsys --report-file=csv:$prj_dir/$qsys_tb_name.csv --report-file=spd:$prj_dir/$qsys_tb_name.spd
#Info: nios2_qsys_0: Generation command is [exec C:/altera/11.1sp1/quartus/../ip/altera/nios2_ip/altera_nios2/eperl.exe -I C:/altera/11.1sp1/quartus/common/ip/altera/common/perl/5.8.3 -I C:/altera/11.1sp1/quartus/sopc_builder/bin/europa -I C:/altera/11.1sp1/quartus/sopc_builder/bin/perl_lib -I C:/altera/11.1sp1/quartus/sopc_builder/bin -I C:/altera/11.1sp1/quartus/../ip/altera/nios2_ip/altera_nios2/cpu_lib -I C:/altera/11.1sp1/quartus/../ip/altera/nios2_ip/altera_nios2/nios_lib -I C:/altera/11.1sp1/quartus/../ip/altera/nios2_ip/altera_nios2 -I C:/altera/11.1sp1/quartus/../ip/altera/nios2_ip/altera_nios2 -- C:/altera/11.1sp1/quartus/../ip/altera/nios2_ip/altera_nios2/generate_rtl.epl --name=CG_2D_qsys_nios2_qsys_0 --dir=C:/Users/bob/AppData/Local/Temp/alt5459_5618068701229186475.dir/0060_nios2_qsys_0_gen/ --quartus_dir=C:/altera/11.1sp1/quartus --verilog --config=C:/Users/bob/AppData/Local/Temp/alt5459_5618068701229186475.dir/0060_nios2_qsys_0_gen//CG_2D_qsys_nios2_qsys_0_processor_configuration.pl --do_build_sim=1 --sim_dir=C:/Users/bob/AppData/Local/Temp/alt5459_5618068701229186475.dir/0060_nios2_qsys_0_gen/ --bogus ]
ip-generate --project-directory=$prj_dir/ --output-directory=$qsys_dir/ --report-file=bsf:$prj_dir/$qsys_name.bsf --system-info=DEVICE_FAMILY="Cyclone III" --component-file=$prj_dir/$qsys_name.qsys
ip-generate --project-directory=$prj_dir/ --output-directory=$qsys_syn_dir/ --file-set=QUARTUS_SYNTH --report-file=sopcinfo:$prj_dir/$qsys_name.sopcinfo --report-file=html:$prj_dir/$qsys_name.html --report-file=qip:$qsys_syn_dir/$qsys_name.qip --system-info=DEVICE_FAMILY="Cyclone III" --component-file=$prj_dir/$qsys_name.qsys
#Info: nios2_qsys_0: Generation command is [exec C:/altera/11.1sp1/quartus/../ip/altera/nios2_ip/altera_nios2/eperl.exe -I C:/altera/11.1sp1/quartus/common/ip/altera/common/perl/5.8.3 -I C:/altera/11.1sp1/quartus/sopc_builder/bin/europa -I C:/altera/11.1sp1/quartus/sopc_builder/bin/perl_lib -I C:/altera/11.1sp1/quartus/sopc_builder/bin -I C:/altera/11.1sp1/quartus/../ip/altera/nios2_ip/altera_nios2/cpu_lib -I C:/altera/11.1sp1/quartus/../ip/altera/nios2_ip/altera_nios2/nios_lib -I C:/altera/11.1sp1/quartus/../ip/altera/nios2_ip/altera_nios2 -I C:/altera/11.1sp1/quartus/../ip/altera/nios2_ip/altera_nios2 -- C:/altera/11.1sp1/quartus/../ip/altera/nios2_ip/altera_nios2/generate_rtl.epl --name=CG_2D_qsys_nios2_qsys_0 --dir=C:/Users/bob/AppData/Local/Temp/alt5459_5618068701229186475.dir/0074_nios2_qsys_0_gen/ --quartus_dir=C:/altera/11.1sp1/quartus --verilog --config=C:/Users/bob/AppData/Local/Temp/alt5459_5618068701229186475.dir/0074_nios2_qsys_0_gen//CG_2D_qsys_nios2_qsys_0_processor_configuration.pl --do_build_sim=0 --bogus ]


#---------------------------------------------------
# QuartusII Compile
#---------------------------------------------------
quartus_map --read_settings_files=on --write_settings_files=off $design_name -c $design_name
quartus_fit --read_settings_files=off --write_settings_files=off $design_name -c $design_name
quartus_asm --read_settings_files=off --write_settings_files=off $design_name -c $design_name
quartus_sta $design_name -c $design_name
quartus_drc --read_settings_files=off --write_settings_files=off $design_name -c $design_name
# quartus_eda --read_settings_files=off --write_settings_files=off $design_name -c $design_name


#---------------------------------------------------
# Program to FPGA
#---------------------------------------------------
quartus_pgm -c USB-Blaster $design_name.cdf


#---------------------------------------------------
# Check STA result
#---------------------------------------------------
echo "----------------------------------------------------------"
echo "STA Summary ---------------------------------------------"
echo "----------------------------------------------------------"
grep -A 1 "Type :" $design_name.sta.summary
echo "----------------------------------------------------------"
echo "STA Minus slack -----------------------------------------"
echo "----------------------------------------------------------"
grep '\-[0-9]' $design_name.sta.summary
echo "----------------------------------------------------------"
echo "----------------------------------------------------------"

スポンサーサイト
カレンダー
03 | 2012/04 | 05
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 - - - - -
累積訪問者
現在の訪問者
現在の閲覧者数:
最新記事
最新トラックバック
最新コメント
月別アーカイブ
カテゴリ
プロフィール

bobgosso

Author:bobgosso
FPGAのブログへようこそ!

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード