Quartus II Scripting Reference Manual For Command-Line Operation & Tool Command Language (Tcl) Scripting

101 Innovation Drive San Jose, CA 95134 www..com

MNL-Q2101904-9.1.1 Copyright © 2013 Altera Corporation. All rights reserved. Altera, The Programmable Solutions Company, the stylized Altera logo, specific device designations, and all other words and logos that are identified as trademarks and/or service marks are, unless noted otherwise, the trademarks and service marks of Altera Corporation in the U.S. and other countries. All other product or service names are the property of their respective holders. Altera products are protected under numerous U.S. and foreign patents and pending ap- plications, maskwork rights, and copyrights. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera Corporation. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.

MNL-Q2101904-9.1.1 Contents

About this Reference Manual Revision ...... xvii How to Contact Altera ...... xvii Typographic Conventions ...... xviii

Chapter 1. Introduction to the Quartus II Scripting Reference Manual Introduction ...... 1–1 Overview ...... 1–1 Quartus II Software Command-Line Operation Support ...... 1–1 Quartus II Software Tcl Scripting Support ...... 1–2 Command-Line Executables ...... 1–2 Tcl Commands ...... 1–5 Related Documentation ...... 1–7

Chapter 2. Command-line Executables quartus_asm ...... 2–1 Usage ...... 2–1 quartus_cdb ...... 2–2 Usage ...... 2–2 --back_annotate= ...... 2–4 --bottom_up_scripts_output_directory[=] ...... 2–4 --bottom_up_scripts_virtual_input_pin_delay[=] ...... 2–5 --bottom_up_scripts_virtual_output_pin_delay[=] ...... 2–5 --create_companion[=] ...... 2–5 --disable_auto_global_promotion_in_bottom_up_scripts[=on|off] ...... 2–6 --export_database= ...... 2–6 --generate_bottom_up_scripts[=on|off] ...... 2–6 --generate_hc_files ...... 2–7 --generate_hc_pll_delay ...... 2–7 --hc_archive[=] ...... 2–8 --hc_min_archive ...... 2–8 --hc_ready ...... 2–8 --hc_review ...... 2–9 --import_database= ...... 2–9 --include_all_logiclock_regions_in_bottom_up_scripts[=on|off] ...... 2–10 --include_design_partitions_in_bottom_up_scripts[=on|off] ...... 2–10 --include_global_signal_promotion_in_bottom_up_scripts[=on|off] ...... 2–10 --include_logiclock_regions_in_bottom_up_scripts[=on|off] ...... 2–10 --include_makefiles_with_bottom_up_scripts[=on|off] ...... 2–10 --include_pin_locations_in_bottom_up_scripts[=on|off] ...... 2–11 --include_project_creation_in_bottom_up_scripts[=on|off] ...... 2–11 --include_timing_assignments_in_bottom_up_scripts[=on|off] ...... 2–11 --include_virtual_input_pin_timing_in_bottom_up_scripts[=on|off] ...... 2–11 --include_virtual_output_pin_timing_in_bottom_up_scripts[=on|off] ...... 2–12 --include_virtual_pin_locations_in_bottom_up_scripts[=on|off] ...... 2–12 --include_virtual_pins_in_bottom_up_scripts[=on|off] ...... 2–12 --incremental_compilation_export[=<.qxp file>] ...... 2–12 --incremental_compilation_export_netlist_type= ...... 2–13

© July 2013 Altera Corporation Quartus II Scripting Reference Manual iv Contents

--incremental_compilation_export_partition_name[=] ...... 2–13 --incremental_compilation_export_routing[=on|off] ...... 2–13 --incremental_compilation_import[=on|off] ...... 2–13 --merge[=on|off] ...... 2–13 --mif_dependency= ...... 2–13 --netlist_type= ...... 2–14 --override_partition_netlist_type= ...... 2–14 --post_map[=on|off] ...... 2–14 --remove_existing_regions_in_bottom_up_scripts[=on|off] ...... 2–14 --update_mif ...... 2–15 --vqm[=<.vqm file>] ...... 2–15 --write_eqn_file[=<.eqn file>] ...... 2–15 --write_rcf_for_vqm[=on|off] ...... 2–15 quartus_cpf ...... 2–16 Usage ...... 2–16 -a= ...... 2–17 -c ...... 2–17 -d= ...... 2–17 -g= ...... 2–17 -k= ...... 2–17 -m= ...... 2–17 -n= ...... 2–17 -o= ...... 2–17 -q= ...... 2–18 -s= ...... 2–18 -u= ...... 2–18 -w ...... 2–18 --configuration_mode= ...... 2–18 --convert ...... 2–18 --count_dir= ...... 2–18 --device= ...... 2–18 --frequency= ...... 2–19 --key= ...... 2–19 --operation= ...... 2–19 --option= ...... 2–19 --sfl_device= ...... 2–20 --start_address= ...... 2–20 --voltage= ...... 2–20 --write ...... 2–20 design_security ...... 2–20 hexout ...... 2–21 isc ...... 2–21 jam ...... 2–22 jbc ...... 2–22 jic ...... 2–22 pof ...... 2–22 rbf ...... 2–23 rpd ...... 2–23 svf ...... 2–23 ttf ...... 2–24 quartus_drc ...... 2–25 Usage ...... 2–25 --hc[=on|off] ...... 2–26 --post_fit[=on|off] ...... 2–26

Quartus II Scripting Reference Manual © July 2013 Altera Corporation Contents v

--post_syn[=on|off] ...... 2–26 --rtl[=on|off] ...... 2–26 quartus_eda ...... 2–27 Usage ...... 2–27 --board_boundary_scan[=on|off] ...... 2–28 --board_signal_integrity[=on|off] ...... 2–29 --board_symbol[=on|off] ...... 2–29 --board_timing[=on|off] ...... 2–29 --formal_verification[=on|off] ...... 2–29 --format= ...... 2–29 --gen_script= ...... 2–30 --gen_testbench ...... 2–30 --glitch_filtering[=on|off] ...... 2–30 --output_directory= ...... 2–30 --resynthesis[=on|off] ...... 2–30 --simulation[=on|off] ...... 2–31 --timing_analysis[=on|off] ...... 2–31 --tool=<3rd-party eda tool> ...... 2–31 --user_compiled_simlib_dir= ...... 2–33 --vcd_tb_design_instance_name= ...... 2–33 --vcd_type= ...... 2–33 quartus_fit ...... 2–34 Usage ...... 2–34 --check_ios ...... 2–35 --check_netlist ...... 2–35 --early_timing_estimate[=] ...... 2–35 --effort= ...... 2–35 --fmax=

© July 2013 Altera Corporation Quartus II Scripting Reference Manual vi Contents

-j ...... 2–43 -l ...... 2–43 -n ...... 2–43 --action= ...... 2–43 --cable= ...... 2–43 --disable= ...... 2–43 --dont_reset_jtag ...... 2–43 --enable= ...... 2–43 --enumerate_hardware ...... 2–44 --info ...... 2–44 --loquacious ...... 2–44 quartus_map ...... 2–45 Usage ...... 2–45 -l= ...... 2–46 --analysis_and_elaboration ...... 2–46 --analyze_file= ...... 2–46 --convert_bdf_to_verilog=<.bdf file> ...... 2–46 --convert_bdf_to_vhdl=<.bdf file> ...... 2–46 --effort= ...... 2–46 --enable_wysiwyg_resynthesis[=on|off] ...... 2–46 --family= ...... 2–47 --generate_cmp_file= ...... 2–47 --generate_functional_sim_netlist ...... 2–47 --generate_inc_file= ...... 2–47 --generate_inst_file= ...... 2–47 --generate_symbol= ...... 2–47 --ignore_carry_buffers[=on|off] ...... 2–47 --ignore_cascade_buffers[=on|off] ...... 2–47 --incremental_compilation= ...... 2–47 --lib_path= ...... 2–48 --optimize= ...... 2–48 --parallel[=on|off] ...... 2–48 --part= ...... 2–48 --partition= ...... 2–48 --source= ...... 2–49 --state_machine_encoding= ...... 2–49 --update_wysiwyg_parameters ...... 2–49 --verilog_macro= ...... 2–49 quartus_pgm ...... 2–50 Usage ...... 2–50 -a ...... 2–51 -b ...... 2–51 -c= ...... 2–51 -i ...... 2–51 -l ...... 2–51 -m= ...... 2–51 -o= ...... 2–51 -z ...... 2–51 --auto ...... 2–51 --bgp ...... 2–51 --cable= ...... 2–51 --haltcc ...... 2–52 --initcfg ...... 2–52 --list ...... 2–52

Quartus II Scripting Reference Manual © July 2013 Altera Corporation Contents vii

--mode= ...... 2–52 --operation= ...... 2–52 quartus_pow ...... 2–54 Usage ...... 2–54 --default_input_io_toggle_rate= ...... 2–55 --default_toggle_rate= ...... 2–55 --estimate_power[=on|off] ...... 2–55 --input_saf[=] ...... 2–55 --input_vcd[=] ...... 2–56 --no_input_file ...... 2–56 --output_epe= ...... 2–56 --output_saf= ...... 2–56 --use_vectorless_estimation[=on|off] ...... 2–56 --vcd_filter_glitches[=on|off] ...... 2–57 --voltage= ...... 2–57 quartus_sh ...... 2–58 Usage ...... 2–58 --archive ...... 2–59 --determine_smart_action ...... 2–60 --dse ...... 2–61 --dtw ...... 2–65 --flow ...... 2–65 --prepare ...... 2–66 --qboard ...... 2–66 --qhelp ...... 2–66 --qinstall ...... 2–66 --qslave ...... 2–67 --relcon ...... 2–68 --restore ...... 2–68 --set ...... 2–69 --simlib_comp ...... 2–69 quartus_si ...... 2–72 Usage ...... 2–72 -g[=on|off] ...... 2–72 --bank= ...... 2–73 --grouping[=on|off] ...... 2–73 --sso_inputs[=on|off] ...... 2–73 quartus_sim ...... 2–74 Usage ...... 2–74 -c= ...... 2–76 --cell_delay_model_type= ...... 2–76 --check_outputs[=on|off] ...... 2–76 --interconnect_delay_model_type= ...... 2–76 --memory_limiter[=on|off] ...... 2–76 --mode= ...... 2–76 --overwrite_waveform[=on|off] ...... 2–76 --perform_glitch_filtering= ...... 2–76 --power_vcd_output= ...... 2–76 --pvt_multicorner[=on|off] ...... 2–76 --pvt_temperature= ...... 2–77 --pvt_timing_model_type= ...... 2–77 --pvt_voltage= ...... 2–77 --rev= ...... 2–77 --saf_output= ...... 2–77

© July 2013 Altera Corporation Quartus II Scripting Reference Manual viii Contents

--simulation_results_format= ...... 2–77 --vector_comparison_rule_value_0=<0,1,X,L,H,W,Z,U and/or DC> ...... 2–77 --vector_comparison_rule_value_1=<0,1,X,L,H,W,Z,U and/or DC> ...... 2–77 --vector_comparison_rule_value_dc=<0,1,X,L,H,W,Z,U and/or DC> ...... 2–77 --vector_comparison_rule_value_h=<0,1,X,L,H,W,Z,U and/or DC> ...... 2–77 --vector_comparison_rule_value_l=<0,1,X,L,H,W,Z,U and/or DC> ...... 2–78 --vector_comparison_rule_value_u=<0,1,X,L,H,W,Z,U and/or DC> ...... 2–78 --vector_comparison_rule_value_w=<0,1,X,L,H,W,Z,U and/or DC> ...... 2–78 --vector_comparison_rule_value_x=<0,1,X,L,H,W,Z,U and/or DC> ...... 2–78 --vector_comparison_rule_value_z=<0,1,X,L,H,W,Z,U and/or DC> ...... 2–78 --vector_source= ...... 2–78 quartus_sta ...... 2–79 Usage ...... 2–79 --do_report_timing ...... 2–80 --force_dat ...... 2–80 --model= ...... 2–80 --multicorner[=on|off] ...... 2–80 --post_map ...... 2–80 --qsf2sdc ...... 2–80 --report_script= ...... 2–81 --sdc= ...... 2–81 --speed= ...... 2–81 --temperature= ...... 2–81 --tq2hc ...... 2–81 --tq2pt ...... 2–82 --voltage= ...... 2–82 quartus_stp ...... 2–83 Usage ...... 2–83 -c= ...... 2–84 -d ...... 2–84 -e ...... 2–84 --create_signaltap_hdl_file ...... 2–84 --disable ...... 2–85 --enable ...... 2–85 --lai_file=<.lai file> ...... 2–85 --logic_analyzer_interface ...... 2–85 --rev= ...... 2–85 --signaltap ...... 2–85 --stp_file=<.stp> ...... 2–85 quartus_tan ...... 2–86 Usage ...... 2–86 --check_constraints[=] ...... 2–88 --combined_model[=on|off] ...... 2–88 --create_timing_netlist ...... 2–88 --datasheet[=] ...... 2–88 --delay_annotation_only ...... 2–88 --do_min_analysis[=on|off] ...... 2–89 --dump_atom_generated_clocks ...... 2–89 --fast_model[=on|off] ...... 2–89 --fmax=

Quartus II Scripting Reference Manual © July 2013 Altera Corporation Contents ix

--tco=