Использование Quartus из командной строки

Я пытаюсь использовать Quartus II 13.0 (бесплатный веб-пакет) в Linux (Kubuntu 12.04 LTS) из командной строки для создания сетевых списков технологий Verilog из Verilog RTL. Мне это нужно для проекта, в котором я сравниваю результаты синтеза, полученные различными инструментами, для тысяч сгенерированных файлов Verilog. Так что использование графического интерфейса на самом деле не вариант..

Например, с Xilinx Vivado я могу сделать это, используя следующие команды TCL:

read_verilog input.v
synth_design -part xc7k70t -top top_module
write_verilog output.v

Большинство инструментов ASIC, с которыми я работал, предоставляют похожие интерфейсы.

С Xilinx XST все немного сложнее:

1.) создание файла work.xst:

run -ifn work.prj ..some..more..options..

2.) создание файла work.prj:

verilog work "input.v"

3.) работает синтез:

xst -ifn work.xst

4.) создание verilog netlist из двоичного файла verilog:

netgen -w -ofmt verilog work.ngc output

Но с Quartus II я не могу найти никакой документации о том, как использовать инструменты командной строки. Все, что я могу найти, это документация к графическому интерфейсу IDE. Может я просто смотрю не в тех местах?

Итак, прежде чем я начну тыкать в Quartus II IDE с помощью strace и аналогичных инструментов: кто-нибудь использует Quartus II из командной строки и может указать мне правильное направление?

4 ответа

Решение

Он очень хорошо спрятан - Quartus-II Handbook Version 13.0, стр. 2-10 (или поиск ASSIGNMENT_FILES) - создает один пример Makefile. Кажется, у него немного гниль - я удалил материал ASSIGNMENT_FILES, и штампы излишни (вы можете проверить файлы журналов), но это начало, и базовая структура работает.

Например, следующий скрипт оболочки синтезирует модуль binary_ops_00000000 из файла дизайна binary_ops_00000000.v:

PATH=$PATH:/opt/altera/13.0/quartus/bin
quartus_map binary_ops_00000000 --source=binary_ops_00000000.v --family="Cyclone III" 
quartus_fit binary_ops_00000000
quartus_eda binary_ops_00000000 --formal_verification --tool=conformal
cp -v fv/conformal/binary_ops_00000000.vo output.v

quartus_eda поддерживает широкий спектр различных режимов (см. quartus_eda --help=tool за столом). Verilog, сгенерированный для Conformal LEC, отлично подходит для моей цели.

Я бы порекомендовал запускать эти команды в другом пустом каталоге, так как они генерируют кучу файлов и в некоторых случаях выводят сообщения об ошибках, если обнаружены файлы предыдущих запусков (с другими настройками).

Вы можете найти полезную страницу примеров Quartus II Tcl на altera.com ( http://www.altera.com/support/examples/tcl/tcl.html).

Вы также можете использовать следующее для получения справки обо всех аргументах командной строки и функциях Tcl

quartus_sh --qhelp
Другие вопросы по тегам