1038
Vivado Design Suite Tcl コマンド リファレン ス ガイド UG835 (v 2013.2) 2013 年 6 月 19 日

Vivado Design Suite Tcl コマンド リファレンス ガイド UG835 (v 2013.2)

  • Upload
    lytuyen

  • View
    264

  • Download
    13

Embed Size (px)

Citation preview

  • Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19

  • Notice of Disclaimer

    The information disclosed to you hereunder (the Materials) is provided solely for the selection and use of Xilinx products.

    To the maximum extent permitted by applicable law: (1) Materials are made available "AS IS" and with all faults, Xilinx

    hereby DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING

    BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY

    PARTICULAR PURPOSE; and (2) Xilinx shall not be liable (whether in contract or tort, including negligence, or under any

    other theory of liability) for any loss or damage of any kind or nature related to, arising under, or in connection with, the

    Materials (including your use of the Materials), including for any direct, indirect, special, incidental, or consequential loss

    or damage (including loss of data, profits, goodwill, or any type of loss or damage suffered as a result of any action brought

    by a third party) even if such damage or loss was reasonably foreseeable or Xilinx had been advised of the possibility of the

    same. Xilinx assumes no obligation to correct any errors contained in the Materials or to notify you of updates to the

    Materials or to product specifications. You may not reproduce, modify, distribute, or publicly display the Materials without

    prior written consent. Certain products are subject to the terms and conditions of the Limited Warranties which can be

    viewed at http://www.xilinx.com/warranty.htm; IP cores may be subject to warranty and support terms contained in a

    license issued to you by Xilinx. Xilinx products are not designed or intended to be fail-safe or for use in any application

    requiring fail-safe performance; you assume sole risk and liability for use of Xilinx products in Critical Applications:

    http://www.xilinx.com/warranty.htm#critapps.

    Copyright 2002-2013 Xilinx Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Vivado, Zynq, and other

    designated brands included herein are trademarks of Xilinx in the United States and other countries. The PowerPC name

    and logo are registered trademarks of IBM Corp., and used under license. All other trademarks are the property of their

    respective owners.

    (v 2013.2)

    [email protected]

    Vivado Design Suite Tcl UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 2

    http://www.xilinx.com/warranty.htmhttp://www.xilinx.com/warranty.htm#critapps

  • 1

    Vivado Tcl

    Tcl (Tool Command Language) Vivado Tcl

    SDC (Synopsys Design Constraints)

    SDC Synopsis Synplify FPGA

    Tcl

    Tcl

    Tcl

    Vivado Tcl

    : Tcl Vivado Design Suite Tcl Tcl

    Vivado Design Suite

    Vivado Design Suite

    Tcl

    Tcl Vivado IDE

    Vivado Design Suite :

    (UG892)

    Tcl

    Tcl Tcl

    Vivado IDE Vivado Design Suite Tcl Tcl

    Vivado IDE [Tcl Console] Tcl

    Vivado Design Suite Tcl Tcl

    Vivado IDE Tcl

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 3

  • Vivado Design Suite Tcl Linux Windows

    vivado -mode tcl

    : Windows [] [] [Xilinx Design Tools] [Vivado 2013.x] [Vivado2013.x Tcl Shell]

    Tcl Tcl Vivado Design Suite : Tcl

    (UG894) Vivado Tcl Vivado Design

    Suite : (UG888)

    Tcl

    Tcl Vivado

    Linux Windows

    vivado -mode batch -source

    Vivado Design Suite Tcl Tcl

    Tcl

    Vivado IDE

    GUI Windows Linux Vivado IDE Vivado IDE Vivado

    Design Suite : Vivado IDE (UG893)

    Vivado IDE Vivado

    Vivado

    Windows OS [] [] [Xilinx Design Tools] [Vivado 2013.x] [Vivado 2013.x]

    : Windows Vivado IDE

    Linux OS

    vivado

    -or-

    vivado -mode gui

    Vivado

    vivado -help

    Vivado Vivado Design Suite Tcl Tcl start_guistart_guistart_gui

    Vivado IDE

    Vivado IDE Vivado Tcl Vivado IDE stop_guistop_guistop_gui

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 4

  • Tcl

    Vivado vivado.log vivado.jou Tcl Tcl

    : vivado_.backup.jou Vivado Tcl

    Tcl

    Tcl help Tcl

    help : Tcl

    help

    File I/O

    help -category category :

    help -category object

    Tcl

    help pattern :

    help get_*

    get_ Tcl

    help command :

    help get_cells

    get_cells

    help -args command :

    help -args get_cells

    help -syntax command :

    help -syntax get_cells

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 5

  • Tcl

    Vivado 2 Tcl

    1. : installdir/Vivado/version/scripts/init.tcl

    2. :

    Windows 7 : %APPDATA%/Roaming/Xilinx/Vivado/init.tcl

    Linux : $HOME/.Xilinx/Vivado/init.tcl

    :

    installdir : Vivado Design Suite

    init.tcl Vivado

    init.tcl

    Vivado

    init.tcl

    init.tcl

    Vivado Design Suite init.tcl init.tcl

    init.tcl Tcl Vivado Tcl init.tcl Tcl

    source path_to_file/file_name.tcl

    : Vivado Design Suite -init-init-init vivadovivadovivado -help-help-help

    Tcl

    Tcl 1 GUI Vivado

    (IDE) Tcl [Tools] [Run Tcl Script]

    Tcl

    source file_name

    Tcl Vivado IDE IDE

    OS

    (kill)

    Tcl helphelphelp sourcesourcesourcesourcesourcesource

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 6

  • Tcl.pre Tcl.post

    Tcl run run

    (tcl.pre) (tcl.post) Tcl run Tcl

    Tcl

    Tcl Tcl

    : Tcl

    (phys_opt_design )

    Tcl Vivado Design Suite : Tcl (UG894)

    Tcl

    Tcl OS Linux (/)

    Vivado Design Suite Tcl

    eval

    Tcl Tcl

    Tcl evalevaleval Tcl

    help -category-category-category 1

    help -category ipflow

    set cat "ipflow"

    :

    setsetset : Tcl

    catcatcat :

    "ipflow""ipflow""ipflow" :

    Tcl

    eval help -category $cat

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 7

  • set cat "category ipflow"

    eval help $cat

    () ({})

    set runblocksOptDesignOpts { -sweep -retarget -propconst -remap }

    eval opt_design $runblocksOptDesignOpts

    Tcl helphelphelp evalevalevalevalevaleval

    Tcl Tcl

    ( {} )

    : [] Tcl () 4

    Vivado

    add_wave {bus[4]}

    Tcl

    add_wave bus(4)

    Verilog : Verilog Verilog Verilog

    (\)

    Tcl

    : Tcl

    VHDL

    my wire Vivado

    add_wave {\my wire }

    :

    Verilog Tcl

    w Vivado

    Vivado

    add_wave {\w }

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 8

  • w

    add_wave w

    VHDL : VHDL Tcl (\)

    ( \} )Tcl VHDL

    Tcl \my sig\

    add_wave \\my\ sig\\

    : 2

    Vivado Design Suite Tcl

    command [optional_parameters] required_parameters

    ( _ ) - - -

    get_

    set_

    report_

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 9

  • get_cells -help

    get_cells

    Description:

    Get a list of cells in the current design

    Syntax:

    get_cells [-hsc arg ] [-hierarchical] [-regexp] [-nocase] [-filter arg ]

    [-of_objects args ] [-match_style arg ] [-quiet] [ patterns ]

    Returns:

    list of cell objects

    Usage:

    Name Optional Default Description

    ---------------------------------------------

    -hsc yes / Hierarchy separator

    -hierarchical yes Search level-by-level in current instance

    -regexp yes Patterns are full regular expressions

    -nocase yes Perform case-insensitive matching (valid

    only when -regexp specified)

    -filter yes Filter list with expression

    -of_objects yes Get cells of these pins or nets

    -match_style yes sdc Style of pattern matching, valid values are

    ucf, sdc

    -quiet yes Ignore command errors

    patterns yes * Match cell names against patterns

    Categories:

    SDC, XDC, Object

    Tcl Tcl Vivado

    OS exec

    OS

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 10

  • Tcl

    Tcl

    0 1

    Tcl Tcl catch

    catch // Tcl

    Vivado Tcl TCL_OK TCL_ERROR Tcl

    $ERRORINFO

    $ERRORINFO Tcl

    puts $ERRORINFO

    Tcl (procs.tcl)

    (loads) 5

    Line 1: Vivado % source procs.tcl

    Line 2: Vivado% loads

    Line 3: Found 180 driving FFs

    Line 4: Processing pin a_reg_reg[1]/Q...

    Line 5: ERROR: [HD-Tcl 53] Cannot specify -patterns with -of_objects.

    Line 6: Vivado% puts $errorInfo

    Line 7: ERROR: [HD-Tcl 53] Cannot specify -patterns with -of_objects. While executing

    "get_ports -of objects $pin" (procedure "my_report" line 6) invoked from within procs.tcl

    Tcl catch puts $errorInfo Tcl puts $errorInfo

    6 puts $errorInfo7

    Tcl

    Vivado Design Suite Tcl

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 11

  • Vivado Design Suite

    LUTI/O RAMDSP

    I/O FPGA

    1

    DCMPLLMMCM UCF TIMESPEC

    PERIOD

    Tcl get_

    get_object_type pattern

    pattern

    get_cells */inst_1

    inst_1

    get_cells -hierarchical inst_1

    inst_1

    help get_cells

    get_cells -help

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 12

  • get_property property_name object

    lib_cell UniSim

    get_property lib_cell [get_cell inst_1]

    report_propertyreport_propertyreport_property

    report_property [get_cells inst_1]

    bel OLOGICE1.OUTFF string

    class cell string

    iob TRUE string

    is_blackbox 0 bool

    is_fixed 0 bool

    is_partition 0 bool

    is_primitive 1 bool

    is_reconfigurable 0 bool

    is_sequential 1 bool

    lib_cell FD string

    LOC OLOGIC_X1Y27 string

    name error string

    primitive_group FD_LD string

    primitive_subgroup flop string

    site OLOGIC_X1Y27 string

    type FD & LD string

    XSTLIB 1 bool

    UCF HDL

    Tcl set_property

    set_property loc OLOGIC_X1Y27 [get_cell inst_1]

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 13

  • get_*

    FD

    get_cells * -hierarchical -filter lib_cell == FD

    =~

    get_cells * -hierarchical -filter lib_cell =~ FD*

    OR (||) AND (&&)

    get_cells * -hierarchical filter {lib_cell =~ FD* && loc != }

    : " " { } Tcl loc

    Tcl ()

    Tcl foreach_in_collection

    Tcl foreachforeachforeach

    GUI Tcl Tcl get_*get_*get_*

    ...

    1

    ()

    get_cells inst_1

    inst_1

    get_cells * -hierarchical

    XST_VCC XST_GND error readIngressFifo wbDataForInputReg fifoSelect_0 fifoSelect_1 fifoSelect_2 fifoSelect_3 ...

    %set x [get_cells * -hierarchical]

    XST_VCC XST_GND error readIngressFifo wbDataForInputReg fifoSelect_0 fifoSelect_1 fifoSelect_2 fifoSelect_3 ...

    %lindex $x end

    bftClk_BUFGP/bufg

    %llength $x

    4454

    4000 ...

    Tcl

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 14

  • get_*get_*get_* -of-of-of

    get_pins -of [get_cells inst_1]

    get_*get_*get_* -of-of-of

    Tcl

    GUI

    INFOWARNING

    CRITICAL_WARNINGERROR

    INFO

    INFO: [HD-LIB 1] Done reading timing library

    Tcl Tcl

    Tcl

    Tcl Tcl catch

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 15

  • 2

    Tcl ()

    Board ()

    ChipScope

    DRC

    FileIO ()

    Floorplan ()

    GUIControl (GUI )

    Hardware ()

    IPFlow (IP )

    IPIntegrator (IP )

    Netlist ()

    Object ()

    PinPlanning ()

    Power ()

    Project ()

    PropertyAndParameter ()

    Report ()

    SDC

    Simulation ()

    SysGen (System Generator)

    Timing ()

    ToolLaunch ()

    Tools ()

    Waveform ()

    XDC

    XPS

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 16

  • Tcl ()

    Board ()

    current_board

    get_board_interfaces

    get_board_pins

    ChipScope

    launch_chipscope_analyzer

    launch_impact

    write_chipscope_cdc

    DRC

    add_drc_checks

    create_drc_check

    create_drc_ruledeck

    create_drc_violation

    delete_drc_check

    delete_drc_ruledeck

    get_drc_checks

    get_drc_ruledecks

    get_drc_vios

    remove_drc_checks

    report_drc

    reset_drc

    reset_drc_check

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 17

  • Tcl ()

    FileIO ()

    config_webtalk

    infer_diff_pairs

    pr_verify

    read_checkpoint

    read_csv

    read_edif

    read_ip

    read_saif

    read_schematic

    read_twx

    read_vcd

    read_verilog

    read_vhdl

    read_xdc

    write_bitstream

    write_bmm

    write_checkpoint

    write_chipscope_cdc

    write_csv

    write_debug_probes

    write_edif

    write_ibis

    write_schematic

    write_sdf

    write_verilog

    write_vhdl

    write_xdc

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 18

  • Tcl ()

    Floorplan ()

    add_cells_to_pblock

    create_pblock

    delete_pblock

    delete_rpm

    get_pblocks

    place_cell

    place_pblocks

    remove_cells_from_pblock

    reset_ucf

    resize_pblock

    swap_locs

    unplace_cell

    GUIControl (GUI )

    endgroup

    get_selected_objects

    highlight_objects

    mark_objects

    redo

    select_objects

    show_objects

    show_schematic

    start_gui

    startgroup

    stop_gui

    undo

    unhighlight_objects

    unmark_objects

    unselect_objects

    Hardware ()

    close_hw

    close_hw_target

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 19

  • Tcl ()

    commit_hw_sio

    commit_hw_vio

    connect_hw_server

    create_hw_sio_link

    create_hw_sio_linkgroup

    create_hw_sio_scan

    current_hw_device

    current_hw_ila

    current_hw_ila_data

    current_hw_server

    current_hw_target

    disconnect_hw_server

    display_hw_ila_data

    display_hw_sio_scan

    get_hw_devices

    get_hw_ila_datas

    get_hw_ilas

    get_hw_probes

    get_hw_servers

    get_hw_sio_commons

    get_hw_sio_gtgroups

    get_hw_sio_gts

    get_hw_sio_iberts

    get_hw_sio_linkgroups

    get_hw_sio_links

    get_hw_sio_plls

    get_hw_sio_rxs

    get_hw_sio_scans

    get_hw_sio_txs

    get_hw_targets

    get_hw_vios

    open_hw

    open_hw_target

    program_hw_devices

    read_hw_ila_data

    read_hw_sio_scan

    refresh_hw_device

    refresh_hw_server

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 20

  • Tcl ()

    refresh_hw_sio

    refresh_hw_target

    refresh_hw_vio

    remove_hw_sio_link

    remove_hw_sio_linkgroup

    remove_hw_sio_scan

    reset_hw_ila

    reset_hw_vio_activity

    reset_hw_vio_outputs

    run_hw_ila

    run_hw_sio_scan

    stop_hw_sio_scan

    upload_hw_ila_data

    wait_on_hw_ila

    wait_on_hw_sio_scan

    write_hw_ila_data

    write_hw_sio_scan

    IPFlow (IP )

    copy_ip

    create_ip

    generate_target

    get_ipdefs

    get_ips

    import_ip

    open_example_project

    read_ip

    report_ip_status

    reset_target

    update_ip_catalog

    upgrade_ip

    validate_ip

    IPIntegrator (IP )

    apply_bd_automation

    assign_bd_address

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 21

  • Tcl ()

    close_bd_design

    connect_bd_intf_net

    connect_bd_net

    copy_bd_objs

    create_bd_addr_seg

    create_bd_cell

    create_bd_design

    create_bd_intf_net

    create_bd_intf_pin

    create_bd_intf_port

    create_bd_net

    create_bd_pin

    create_bd_port

    current_bd_design

    current_bd_instance

    delete_bd_objs

    disconnect_bd_intf_net

    disconnect_bd_net

    find_bd_objs

    generate_target

    get_bd_addr_segs

    get_bd_addr_spaces

    get_bd_cells

    get_bd_designs

    get_bd_intf_nets

    get_bd_intf_pins

    get_bd_intf_ports

    get_bd_nets

    get_bd_pins

    get_bd_ports

    group_bd_cells

    move_bd_cells

    open_bd_design

    regenerate_bd_layout

    replace_bd_cell

    save_bd_design

    ungroup_bd_cells

    upgrade_bd_cells

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 22

  • Tcl ()

    validate_bd_design

    write_bd_tcl

    Netlist ()

    connect_net

    create_cell

    create_net

    create_pin

    disconnect_net

    get_net_delays

    remove_cell

    remove_net

    remove_pin

    rename_ref

    resize_net_bus

    resize_pin_bus

    tie_unused_pins

    Object ()

    add_drc_checks

    create_drc_check

    create_drc_ruledeck

    current_board

    delete_drc_check

    delete_drc_ruledeck

    filter

    get_bel_pins

    get_bels

    get_board_interfaces

    get_board_pins

    get_boards

    get_cells

    get_clock_regions

    get_clocks

    get_debug_cores

    get_debug_ports

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 23

  • Tcl ()

    get_delays

    get_designs

    get_drc_checks

    get_drc_ruledecks

    get_drc_vios

    get_files

    get_filesets

    get_generated_clocks

    get_gtbanks

    get_hw_devices

    get_hw_ila_datas

    get_hw_ilas

    get_hw_probes

    get_hw_servers

    get_hw_sio_commons

    get_hw_sio_gtgroups

    get_hw_sio_gts

    get_hw_sio_iberts

    get_hw_sio_linkgroups

    get_hw_sio_links

    get_hw_sio_plls

    get_hw_sio_rxs

    get_hw_sio_scans

    get_hw_sio_txs

    get_hw_targets

    get_hw_vios

    get_interfaces

    get_io_standards

    get_iobanks

    get_ipdefs

    get_ips

    get_lib_cells

    get_lib_pins

    get_libs

    get_macros

    get_net_delays

    get_nets

    get_nodes

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 24

  • Tcl ()

    get_package_pins

    get_parts

    get_path_groups

    get_pblocks

    get_pins

    get_pips

    get_ports

    get_projects

    get_property

    get_runs

    get_selected_objects

    get_site_pins

    get_site_pips

    get_sites

    get_slrs

    get_tiles

    get_timing_arcs

    get_timing_paths

    get_wires

    list_property

    list_property_value

    remove_drc_checks

    report_property

    reset_drc_check

    reset_property

    set_property

    PinPlanning ()

    create_interface

    create_port

    delete_interface

    make_diff_pair_ports

    place_ports

    remove_port

    resize_port_bus

    set_package_pin_val

    split_diff_pair_ports

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 25

  • Tcl ()

    Power ()

    delete_power_results

    power_opt_design

    read_saif

    read_vcd

    report_power

    report_power_opt

    reset_default_switching_activity

    reset_operating_conditions

    reset_switching_activity

    set_default_switching_activity

    set_operating_conditions

    set_power_opt

    set_switching_activity

    Project ()

    add_files

    archive_project

    close_design

    close_project

    copy_ip

    create_fileset

    create_project

    create_run

    current_board

    current_fileset

    current_project

    current_run

    delete_fileset

    delete_run

    find_top

    generate_target

    get_board_interfaces

    get_board_pins

    get_boards

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 26

  • Tcl ()

    get_files

    get_filesets

    get_ips

    get_projects

    get_runs

    help

    import_files

    import_ip

    import_synplify

    import_xise

    import_xst

    launch_runs

    list_targets

    lock_design

    make_wrapper

    move_files

    open_example_project

    open_io_design

    open_project

    open_run

    refresh_design

    reimport_files

    remove_files

    reorder_files

    report_compile_order

    reset_project

    reset_run

    reset_target

    save_constraints

    save_constraints_as

    save_project_as

    set_speed_grade

    update_compile_order

    update_design

    update_files

    wait_on_run

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 27

  • Tcl ()

    PropertyAndParameter ()

    create_property

    filter

    get_param

    get_property

    list_param

    list_property

    list_property_value

    report_param

    report_property

    reset_param

    reset_property

    set_param

    set_property

    Report ()

    check_timing

    create_drc_violation

    create_slack_histogram

    delete_clock_networks_results

    delete_timing_results

    delete_utilization_results

    get_msg_config

    get_msg_count

    get_msg_limit

    report_carry_chains

    report_clock_interaction

    report_clock_networks

    report_clock_utilization

    report_clocks

    report_config_timing

    report_control_sets

    report_datasheet

    report_debug_core

    report_default_switching_activity

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 28

  • Tcl ()

    report_disable_timing

    report_drc

    report_environment

    report_exceptions

    report_high_fanout_nets

    report_incremental_reuse

    report_io

    report_operating_conditions

    report_param

    report_phys_opt

    report_power

    report_property

    report_pulse_width

    report_route_status

    report_ssn

    report_switching_activity

    report_timing

    report_timing_summary

    report_transformed_primitives

    report_utilization

    reset_drc

    reset_msg_config

    reset_msg_count

    reset_msg_limit

    reset_msg_severity

    reset_ssn

    reset_timing

    set_msg_config

    set_msg_limit

    set_msg_severity

    version

    SDC

    all_clocks

    all_fanin

    all_fanout

    all_inputs

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 29

  • Tcl ()

    all_outputs

    all_registers

    create_clock

    create_generated_clock

    current_design

    current_instance

    get_cells

    get_clocks

    get_hierarchy_separator

    get_nets

    get_pins

    get_ports

    get_timing_arcs

    get_timing_paths

    group_path

    report_operating_conditions

    reset_operating_conditions

    set_case_analysis

    set_clock_groups

    set_clock_latency

    set_clock_sense

    set_clock_uncertainty

    set_data_check

    set_disable_timing

    set_false_path

    set_hierarchy_separator

    set_input_delay

    set_load

    set_logic_dc

    set_logic_one

    set_logic_unconnected

    set_logic_zero

    set_max_delay

    set_max_time_borrow

    set_min_delay

    set_multicycle_path

    set_operating_conditions

    set_output_delay

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 30

  • Tcl ()

    set_propagated_clock

    set_units

    Simulation ()

    add_bp

    add_condition

    add_files

    add_force

    checkpoint_vcd

    close_saif

    close_sim

    close_vcd

    compile_simlib

    create_fileset

    current_scope

    current_sim

    current_time

    current_vcd

    data2mem

    delete_fileset

    describe

    flush_vcd

    get_objects

    get_scopes

    get_value

    import_files

    launch_modelsim

    launch_xsim

    limit_vcd

    log_saif

    log_vcd

    log_wave

    ltrace

    move_files

    open_saif

    open_vcd

    open_wave_database

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 31

  • Tcl ()

    ptrace

    read_saif

    read_vcd

    remove_bps

    remove_conditions

    remove_files

    remove_forces

    report_bps

    report_conditions

    report_drivers

    report_objects

    report_scopes

    report_simlib_info

    report_values

    reset_simulation

    restart

    run

    set_value

    start_vcd

    step

    stop

    stop_vcd

    write_sdf

    write_verilog

    write_vhdl

    xsim

    SysGen (System Generator)

    create_sysgen

    make_wrapper

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 32

  • Tcl ()

    Timing ()

    check_timing

    config_timing_analysis

    config_timing_corners

    delete_timing_results

    get_net_delays

    get_timing_arcs

    get_timing_paths

    report_config_timing

    report_disable_timing

    report_exceptions

    report_timing

    report_timing_summary

    reset_timing

    set_delay_model

    set_disable_timing

    update_timing

    ToolLaunch ()

    launch_chipscope_analyzer

    launch_impact

    launch_modelsim

    launch_sdk

    launch_xsim

    Tools ()

    link_design

    list_features

    load_features

    opt_design

    phys_opt_design

    place_design

    route_design

    synth_design

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 33

  • Tcl ()

    Waveform ()

    add_wave

    add_wave_divider

    add_wave_group

    add_wave_marker

    add_wave_virtual_bus

    close_wave_config

    create_wave_config

    current_wave_config

    get_wave_configs

    open_wave_config

    save_wave_config

    XDC

    add_cells_to_pblock

    all_clocks

    all_cpus

    all_dsps

    all_fanin

    all_fanout

    all_ffs

    all_hsios

    all_inputs

    all_latches

    all_outputs

    all_rams

    all_registers

    create_clock

    create_generated_clock

    create_macro

    create_pblock

    create_property

    current_design

    current_instance

    delete_macros

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 34

  • Tcl ()

    delete_pblock

    filter

    get_bel_pins

    get_bels

    get_cells

    get_clocks

    get_generated_clocks

    get_gtbanks

    get_hierarchy_separator

    get_iobanks

    get_macros

    get_nets

    get_nodes

    get_package_pins

    get_path_groups

    get_pblocks

    get_pins

    get_pips

    get_ports

    get_property

    get_site_pins

    get_site_pips

    get_sites

    get_slrs

    get_tiles

    get_timing_arcs

    get_wires

    group_path

    remove_cells_from_pblock

    resize_pblock

    set_case_analysis

    set_clock_groups

    set_clock_latency

    set_clock_sense

    set_clock_uncertainty

    set_data_check

    set_default_switching_activity

    set_disable_timing

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 35

  • Tcl ()

    set_external_delay

    set_false_path

    set_hierarchy_separator

    set_input_delay

    set_input_jitter

    set_load

    set_logic_dc

    set_logic_one

    set_logic_unconnected

    set_logic_zero

    set_max_delay

    set_max_time_borrow

    set_min_delay

    set_multicycle_path

    set_operating_conditions

    set_output_delay

    set_package_pin_val

    set_power_opt

    set_propagated_clock

    set_property

    set_switching_activity

    set_system_jitter

    set_units

    update_macro

    XPS

    create_xps

    export_hardware

    generate_target

    get_boards

    launch_sdk

    list_targets

    make_wrapper

    reset_target

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 36

  • 3

    Tcl () SDC Tcl

    add_bp

    HDL

    add_bp [-quiet] [-verbose] file_name line_number

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    file_name

    line_number

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 37

  • Tcl ()

    add_cells_to_pblock

    Pblock

    add_cells_to_pblock [-top] [-add_primitives] [-clear_locs] [-quiet][-verbose] pblock [cells...]

    [-top-top-top] cells -add_primitivescells -top

    [-add_primitives-add_primitives-add_primitives] Pblock

    [-clear_locs-clear_locs-clear_locs]

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    pblock Pblock

    [cells] -top cells -top

    XDC

    Pblock Pblock resize_pblockresize_pblockresize_pblock

    Pblock FPGA resize_pblockresize_pblockresize_pblock Pblock

    Pblock remove_cells_from_pblockremove_cells_from_pblockremove_cells_from_pblock

    -top-top-top () : Pblock Pblock

    cells -top-top-top

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 38

  • Tcl ()

    -add_primitives-add_primitives-add_primitives () : Pblock

    Pblock

    : -top-top-top

    -clear_locs-clear_locs-clear_locs () :

    Pblock LOC

    Pblock

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    pblock : Pblock

    cells : Pblock 1

    : -top cells

    pb_cpuEngine Pblock cpuEngine

    create_pblock pb_cpuEngine

    add_cells_to_pblock pb_cpuEngine [get_cells cpuEngine] -add_primitives -clear_locs

    get_pblocks

    place_pblocks

    remove_cells_from_pblock

    resize_pblock

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 39

  • Tcl ()

    add_condition

    Tcl

    add_condition [-name arg] [-radix arg] [-quiet][-verbose] condition_expression commands

    [-name-name-name] () (condition)

    [-radix-radix-radix] defaultdecbinocthexunsignedascii

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    condition_expression

    commands

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 40

  • Tcl ()

    add_drc_checks

    DRC

    add_drc_checks [-of_objects args] [-regexp] [-nocase] [-filter arg]-ruledeck arg [-quiet] [-verbose] [patterns]

    DRC

    [-of_objects-of_objects-of_objects] DRC DRC

    [-regexp-regexp-regexp]

    [-nocase-nocase-nocase] / (-regexp )

    [-filter-filter-filter]

    -ruledeck-ruledeck-ruledeck DRC

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    [patterns] DRC *

    DRC

    DRC

    I/O FPGA

    report_drcreport_drcreport_drc

    create_drc_ruledeckcreate_drc_ruledeckcreate_drc_ruledeck

    get_drc_ruledecksget_drc_ruledecksget_drc_ruledecks report_drc

    create_drc_checkcreate_drc_checkcreate_drc_check

    get_drc_ruledecksget_drc_ruledecksget_drc_ruledecks

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 41

  • Tcl ()

    remove_drc_checksremove_drc_checksremove_drc_checks

    : DRC set_propertyset_propertyset_property

    IS_ENABLEDIS_ENABLEDIS_ENABLED false report_drcreport_drcreport_drc

    reset_drc_checkreset_drc_checkreset_drc_check

    -of_objects-of_objects-of_objects arg () : DRC

    -regexp-regexp-regexp () :

    -filter-filter-filter

    Tcl

    .*

    http://www.tcl.tk/man/tcl8.5/TclCmd/re_syntax.htm

    : Tcl regexpregexpregexp Tcl

    http://www.tcl.tk/man/tcl8.5/TclCmd/regexp.htm

    -nocase-nocase-nocase () : /-regexp-regexp-regexp

    -filter-filter-filter args () :

    report_propertyreport_propertyreport_property list_propertylist_propertylist_property

    .*

    :

    (*) ""

    (==) (!=) (=~) (!~)

    = AND (&&) OR (||)

    RESET

    get_ports * -filter {DIRECTION == IN && NAME !~ "*RESET*"}

    (boolboolbool) True False

    -filter {IS_PRIMITIVE && !IS_LOC_FIXED}

    -ruledeck-ruledeck-ruledeck arg () :

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 42

    http://www.tcl.tk/man/tcl8.5/TclCmd/re_syntax.htmhttp://www.tcl.tk/man/tcl8.5/TclCmd/regexp.htm

  • Tcl ()

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    patterns () : (*)

    : ( { } ) ("") 1

    project_rules

    add_drc_checks -ruledeck project_rules {*DCI* *BUF*}

    placer+ placer_checks

    placer+

    create_drc_ruledeck placer+

    add_drc_checks -of_objects [get_drc_ruledecks placer_checks] -ruledeck placer+

    add_drc_checks -ruledeck placer+ *IO*

    add_drc_checks -filter {SEVERITY == Warning} -ruledeck warn_only

    create_drc_check

    create_drc_ruledeck

    get_drc_checks

    get_drc_ruledecks

    list_property

    remove_drc_checks

    report_drc

    report_property

    reset_drc_check

    set_property

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 43

  • Tcl ()

    add_files

    add_files [-fileset arg] [-norecurse] [-scan_for_includes] [-quiet] [-verbose][files...]

    [-fileset-fileset-fileset]

    [-norecurse-norecurse-norecurse]

    [-scan_for_includes-scan_for_includes-scan_for_includes] RTL

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    [files] -scan_for_includes

    1 1

    Vivado add_filesadd_filesadd_files

    read_xxxread_xxxread_xxx

    :

    read_xxxread_xxxread_xxx

    Vivado Design Suite : (UG892)

    add_filesadd_filesadd_files

    import_filesimport_filesimport_files

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 44

  • Tcl ()

    -fileset-fileset-fileset name () :

    -norecurse-norecurse-norecurse () :

    -scan_for_includes-scan_for_includes-scan_for_includes () : Verilog includeincludeinclude

    includeincludeinclude

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    files () : 1

    :

    rtl.v

    add_files rtl.v

    rtl.v

    top.ucftop.ucftop.ucf constrs_1constrs_1constrs_1 project_1

    add_files -fileset constrs_1 -quiet c:/Design/top.ucf c:/Design/project_1

    -quiet-quiet-quiet

    -norecurse-norecurse-norecurse project_1project_1project_1

    IP

    add_files -norecurse C:/Data/ip/c_addsub_v11_0_0.xci

    : IP import_ipimport_ipimport_ip

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 45

  • Tcl ()

    add_files C:/Data/dvi_tpg_demo_ORG/system.xmp

    : Xilinx Platform Studio (XPS) create_xpscreate_xpscreate_xps

    System Generator DSP

    add_files C:/Data/model1.mdl

    : System Generator DSP create_sysgencreate_sysgencreate_sysgen

    create_sysgen

    create_xps

    import_files

    import_ip

    read_ip

    read_verilog

    read_vhdl

    read_xdc

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 46

  • Tcl ()

    add_force

    add_force [-radix arg] [-repeat_every arg] [-cancel_after arg] [-quiet][-verbose] hdl_object values...

    force

    [-radix-radix-radix] defaultdecbinocthexunsignedascii

    [-repeat_every-repeat_every-repeat_every]

    [-cancel_after-cancel_after-cancel_after]

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    hdl_object force

    values force {value [ time_offset] }

    add_forceadd_forceadd_force Verilog force/releaseforce/releaseforce/release

    -cancel_after-cancel_after-cancel_after remove_forcesremove_forcesremove_forces

    HDL

    : HDL Verilog force/releaseforce/releaseforce/release Tcl add_forceadd_forceadd_force Tcl force Verilog force HDL

    force

    force remove_forcesremove_forcesremove_forces

    Tcl

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 47

  • Tcl ()

    -radix-radix-radix arg () : values defaultdefaultdefaultdecdecdecbinbinbinoctoctocthexhexhexunsignedunsignedunsignedasciiasciiascii HDL

    2 (bin)

    -repeat_every-repeat_every-repeat_every arg () : add_forceadd_forceadd_force hdl_object force

    : values {value time}

    -cancel_after-cancel_after-cancel_after arg () : current_timecurrent_timecurrent_time force remove_forcesremove_forcesremove_forces

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    hdl_object () : 1 HDL get_objectsget_objectsget_objects

    value () : HDL 1-cancel_after-cancel_after-cancel_after

    remove_forcesremove_forcesremove_forces

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 48

  • Tcl ()

    hdl_object HDL logicVHDLVHDL logic -radix

    logic HDL VHDL std_logic

    Verilog 4

    VHDL std_logic

    std_logic VHDL ( 0 1 )

    logic

    logic

    0 ()

    logic MSB 0

    Vivado

    logic VHDL (

    )

    VHDL 10

    {value time} HDL time value time value {value-time}

    : {value time} time 0 {value time} time

    {value time} time current_timecurrent_timecurrent_time 1000ns time 20ns 1000ns 1020ns

    Restriction time

    time TIME_UNIT fspsnsusmss 50 50ns

    50ps 50

    300ns High force

    force Tcl

    set for10 [ add_force reset 1 300 ]

    {value time}

    add_force mySig {0} {1 50 } {0 100} {1 150 } -repeat_every 200 -cancel_after 10000

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 49

  • Tcl ()

    : {value time} 0 0(current_timecurrent_timecurrent_time)

    current_time

    get_objects

    remove_forces

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 50

  • Tcl ()

    add_wave

    add_wave [-into args] [-at_wave args] [-after_wave args] [-before_wave args][-reverse] [-radix arg] [-color arg] [-name arg] [-recursive] [-r] [-regexp][-nocase] [-quiet] [-verbose] items...

    [-into-into-into]

    [-at_wave-at_wave-at_wave]

    [-after_wave-after_wave-after_wave]

    [-before_wave-before_wave-before_wave]

    [-reverse-reverse-reverse]

    [-radix-radix-radix] defaultdecbinocthexunsignedascii

    [-color-color-color] RRGGBB

    [-name-name-name] 1

    [-recursive-recursive-recursive]

    [-r-r-r]

    [-regexp-regexp-regexp]

    [-nocase-nocase-nocase] / (-regexp )

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    items

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 51

  • Tcl ()

    1

    : HDL () 1Vivado [Objects]

    -into-into-into wcfgGroupVbusObj () : wcfgGroupVbusObj WCFG WCFG

    WCFG

    -into-into-into

    -at_wave-at_wave-at_wave waveObj () : waveObj

    -after_wave-after_wave-after_wave waveObj () : waveObj

    -before_wave-before_wave-before_wave waveObj () : waveObj

    -reverse-reverse-reverse () : IS_REVERSEDIS_REVERSEDIS_REVERSED truetruetrue

    -radix-radix-radix arg () : defaultdefaultdefaultdecdecdecbinbinbinoctoctocthexhexhexunsignedunsignedunsignedasciiasciiascii

    -color-color-color arg () : 6 RGB (RRGGBB)

    -name-name-name arg () : DISPLAY_NAMEDISPLAY_NAMEDISPLAY_NAME

    -recursive-recursive-recursive ||| -r-r-r () : items

    -regexp-regexp-regexp () : items Tcl .*

    http://www.tcl.tk/man/tcl8.5/TclCmd/re_syntax.htm

    : Tcl regexp Tcl

    http://www.tcl.tk/man/tcl8.5/TclCmd/regexp.htm

    -nocase-nocase-nocase () : /-regexp-regexp-regexp

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 52

    http://www.tcl.tk/man/tcl8.5/TclCmd/re_syntax.htmhttp://www.tcl.tk/man/tcl8.5/TclCmd/regexp.htm

  • Tcl ()

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    items () : HDL

    clk

    add_wave clkclk

    rsb_design_testbench dout_tvalid

    add_wave dout_tvalid/rsb_design_testbench/dout_tvalid

    add_wave_divider

    add_wave_group

    add_wave_marker

    add_wave_virtual_bus

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 53

  • Tcl ()

    add_wave_divider

    add_wave_divider [-into args] [-at_wave args] [-after_wave args][-before_wave args] [-color arg] [-quiet] [-verbose] [name]

    [-into-into-into]

    [-at_wave-at_wave-at_wave]

    [-after_wave-after_wave-after_wave]

    [-before_wave-before_wave-before_wave]

    [-color-color-color] RRGGBB default

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    [name] new_divider

    :

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 54

  • Tcl ()

    -into-into-into wcfgGroupVbusObj () : wcfgGroupVbusObj WCFG WCFG

    WCFG -into-into-into

    -at_wave-at_wave-at_wave waveObj () : waveObj

    -after_wave-after_wave-after_wave waveObj () : waveObj

    -before_wave-before_wave-before_wave waveObj () : waveObj

    -color-color-color arg () : 6 RGB (RRGGBB)

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    name () : new_divider

    CLK Div1

    add_wave_divider -after_wave CLK Div1

    add_wave

    add_wave_group

    add_wave_marker

    add_wave_virtual_bus

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 55

  • Tcl ()

    add_wave_group

    add_wave_group [-into args] [-at_wave args] [-after_wave args][-before_wave args] [-quiet] [-verbose] [name]

    [-into-into-into]

    [-at_wave-at_wave-at_wave]

    [-after_wave-after_wave-after_wave]

    [-before_wave-before_wave-before_wave]

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    [name] new_group

    :

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 56

  • Tcl ()

    -into-into-into wcfgGroupVbusObj () : wcfgGroupVbusObj WCFG WCFG

    WCFG

    -into-into-into

    -at_wave-at_wave-at_wave waveObj () : waveObj

    -after_wave-after_wave-after_wave waveObj () : waveObj

    -before_wave-before_wave-before_wave waveObj () : waveObj

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    name () : new_group

    clk

    add_wave_group clkgroup10

    add_wave

    add_wave_divider

    add_wave_marker

    add_wave_virtual_bus

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 57

  • Tcl ()

    add_wave_marker

    add_wave_marker [-into arg] [-name arg] [-quiet] [-verbose] [time] [unit]

    [-into-into-into]

    [-name-name-name]

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    [time] 0

    [unit] fspsnsusms s

    :

    -into-into-into wcfg () : -into-into-into

    -name-name-name arg () : new_marker

    time () : 0

    unit () : sssmsmsmsusususnsnsns pspsps

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 58

  • Tcl ()

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    500ns

    add_wave_marker 500 ns

    add_wave

    add_wave_divider

    add_wave_group

    add_wave_virtual_bus

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 59

  • Tcl ()

    add_wave_virtual_bus

    add_wave_virtual_bus [-into args] [-at_wave args] [-after_wave args][-before_wave args] [-reverse] [-radix arg] [-color arg] [-quiet] [-verbose][name]

    [-into-into-into]

    [-at_wave-at_wave-at_wave]

    [-after_wave-after_wave-after_wave]

    [-before_wave-before_wave-before_wave]

    [-reverse-reverse-reverse]

    [-radix-radix-radix] defaultdecbinocthexunsignedascii

    [-color-color-color] RRGGBB default

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    [name] new_virtual_bus

    vb###

    : namenamename

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 60

  • Tcl ()

    -into-into-into wcfgGroupVbusObj () : wcfgGroupVbusObj WCFG WCFG

    WCFG -into-into-into

    -at_wave-at_wave-at_wave waveObj () : waveObj

    -after_wave-after_wave-after_wave waveObj () : waveObj

    -before_wave-before_wave-before_wave waveObj () : waveObj

    -reverse-reverse-reverse () : IS_REVERSEDIS_REVERSEDIS_REVERSED truetruetrue

    -radix-radix-radix value () : defaultdefaultdefault

    decdecdecbinbinbinoctoctocthexhexhexunsignedunsignedunsignedasciiasciiascii

    -color-color-color arg () : 6 RGB (RRGGBB)

    -name-name-name customName () : DISPLAY_NAMEDISPLAY_NAMEDISPLAY_NAME

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    dout_tvaliddout_tvaliddout_tvalid

    add_wave_virtual_bus dout_tvalidvbus200

    add_wave_divider

    add_wave_group

    add_wave_marker

    add_wave

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 61

  • Tcl ()

    all_clocks

    all_clocks [-quiet] [-verbose]

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    SDCXDC

    get_clocksget_clocksget_clocks

    create_clockcreate_clockcreate_clock create_generated_clockcreate_generated_clockcreate_generated_clock

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    CPU

    % all_clocks

    cpuClk wbClk usbClk phy_clk_pad_0_i phy_clk_pad_1_i fftClk

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 62

  • Tcl ()

    set_propagated_clockset_propagated_clockset_propagated_clock (all_clocksall_clocksall_clocks)

    % set_propagated_clock [all_clocks]

    create_clock

    create_generated_clock

    get_clocks

    set_propagated_clock

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 63

  • Tcl ()

    all_cpus

    CPU

    all_cpus [-quiet] [-verbose]

    CPU

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    XDC

    CPU CPU

    all_cpusall_cpusall_cpus

    current_instancecurrent_instancecurrent_instance

    : CPU

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    CPU

    all_cpus

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 64

  • Tcl ()

    set_false_path -from [all_cpus] -to [all_registers]

    all_dsps

    all_hsios

    all_registers

    current_instance

    get_cells

    set_false_path

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 65

  • Tcl ()

    all_dsps

    DSP

    all_dsps [-quiet] [-verbose]

    DSP

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    XDC

    DSP

    all_dspsall_dspsall_dsps

    current_instancecurrent_instancecurrent_instance

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    DSP

    all_dsps

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 66

  • Tcl ()

    set_false_path -from [all_dsps] -to [all_registers]

    all_cpus

    all_hsios

    all_registers

    current_instance

    get_cells

    set_false_path

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 67

  • Tcl ()

    all_fanin

    all_fanin [-startpoints_only] [-flat] [-only_cells] [-levels arg][-pin_levels arg] [-trace_arcs arg] [-quiet] [-verbose] to

    [-startpoints_only-startpoints_only-startpoints_only]

    [-flat-flat-flat]

    [-only_cells-only_cells-only_cells]

    [-levels-levels-levels] 0 0

    [-pin_levels-pin_levels-pin_levels] 0 0

    [-trace_arcs-trace_arcs-trace_arcs] timingenabledall

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    to

    SDCXDC

    all_faninall_faninall_fanin

    current_instancecurrent_instancecurrent_instance

    -flat-flat-flat

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 68

  • Tcl ()

    -startpoints_only-startpoints_only-startpoints_only () :

    -flat-flat-flat () :

    -only_cells-only_cells-only_cells () :

    -levels-levels-levels value () : 0

    -pin_levels-pin_levels-pin_levels value () : 0

    -trace_arcs-trace_arcs-trace_arcs value () : timingenabled all

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    to () :

    led_pins

    all_fanin [get_ports led_pins[*] ]

    ( MMCM )

    all_fanin -flat -startpoints_only [get_pins cmd_parse_i0/prescale_reg[7]/C]

    all_fanout

    current_instance

    get_cells

    get_pins

    get_ports

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 69

  • Tcl ()

    all_fanout

    all_fanout [-endpoints_only] [-flat] [-only_cells] [-levels arg][-pin_levels arg] [-trace_arcs arg] [-quiet] [-verbose] from

    [-endpoints_only-endpoints_only-endpoints_only]

    [-flat-flat-flat]

    [-only_cells-only_cells-only_cells]

    [-levels-levels-levels] 0 0

    [-pin_levels-pin_levels-pin_levels] 0 0

    [-trace_arcs-trace_arcs-trace_arcs] timingenabledall

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    from

    SDCXDC

    all_fanoutall_fanoutall_fanout

    current_instancecurrent_instancecurrent_instance

    -flat-flat-flat

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 70

  • Tcl ()

    -endpoints_only-endpoints_only-endpoints_only () :

    -flat-flat-flat () :

    -only_cells-only_cells-only_cells () :

    -levels-levels-levels value () : 0

    -pin_levels-pin_levels-pin_levels value () : 0

    -trace_arcs-trace_arcs-trace_arcs value () : timingenabled all

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    from () :

    all_fanout [all_inputs]

    all_fanin

    current_instance

    get_cells

    get_pins

    get_ports

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 71

  • Tcl ()

    all_ffs

    all_ffs [-quiet] [-verbose]

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    XDC

    all_ffsall_ffsall_ffs

    current_instancecurrent_instancecurrent_instance

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 72

  • Tcl ()

    fftEngine

    current_instance

    INFO: [Vivado 12-618] Current instance is the top level of design netlist_1.

    top

    llength [all_ffs]

    15741

    current_instance fftEngine

    fftEngine

    llength [all_ffs]

    1519

    report_property [lindex [all_ffs] 2 ]

    all_latches

    all_registers

    current_instance

    get_cells

    report_property

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 73

  • Tcl ()

    all_hsios

    HSIO

    all_hsios [-quiet] [-verbose]

    HSIO

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    XDC

    I/O (HSIO) HSIO

    all_hsiosall_hsiosall_hsios

    current_instancecurrent_instancecurrent_instance

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    HSIO

    all_hsios

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 74

  • Tcl ()

    set_false_path -from [all_hsios] -to [all_registers]

    all_cpus

    all_dsps

    all_registers

    get_cells

    set_false_path

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 75

  • Tcl ()

    all_inputs

    all_inputs [-quiet] [-verbose]

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    SDCXDC

    all_inputsall_inputsall_inputs

    current_instancecurrent_instancecurrent_instance

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    all_inputs

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 76

  • Tcl ()

    set_input_delay 5 -clock REFCLK [all_inputs]

    all_clocks

    all_outputs

    current_instance

    get_clocks

    get_ports

    set_input_delay

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 77

  • Tcl ()

    all_latches

    all_latches [-quiet] [-verbose]

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    XDC

    all_latchesall_latchesall_latches

    current_instancecurrent_instancecurrent_instance

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    all_latches

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 78

  • Tcl ()

    set_false_path -from [all_mults] -to [all_latches]

    all_ffs

    all_registers

    current_instance

    get_cells

    set_false_path

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 79

  • Tcl ()

    all_outputs

    all_outputs [-quiet] [-verbose]

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    SDCXDC

    all_outputsall_outputsall_outputs

    current_instancecurrent_instancecurrent_instance

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    all_outputs

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 80

  • Tcl ()

    set_output_delay 5 -clock REFCLK [all_outputs]

    all_inputs

    current_instance

    get_ports

    set_output_delay

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 81

  • Tcl ()

    all_rams

    RAM

    all_rams [-quiet] [-verbose]

    RAM

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    XDC

    RAM ( RAM RAM FIFO

    RAM ) RAM

    all_ramsall_ramsall_rams

    current_instancecurrent_instancecurrent_instance

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    RAM

    all_rams

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 82

  • Tcl ()

    RAM

    current_instance usbEngine0

    all_rams

    all_clocks

    all_cpus

    all_dsps

    all_fanin

    all_fanout

    all_ffs

    all_hsios

    all_inputs

    all_latches

    all_outputs

    all_registers

    current_instance

    get_cells

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 83

  • Tcl ()

    all_registers

    all_registers [-clock args] [-rise_clock args] [-fall_clock args] [-cells][-data_pins] [-clock_pins] [-async_pins] [-output_pins] [-level_sensitive][-edge_triggered] [-no_hierarchy] [-quiet] [-verbose]

    [-clock-clock-clock]

    [-rise_clock-rise_clock-rise_clock]

    [-fall_clock-fall_clock-fall_clock]

    [-cells-cells-cells] ()

    [-data_pins-data_pins-data_pins]

    [-clock_pins-clock_pins-clock_pins]

    [-async_pins-async_pins-async_pins] /

    [-output_pins-output_pins-output_pins]

    [-level_sensitive-level_sensitive-level_sensitive]

    [-edge_triggered-edge_triggered-edge_triggered]

    [-no_hierarchy-no_hierarchy-no_hierarchy]

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    SDCXDC

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 84

  • Tcl ()

    -cells-cells-cells () :

    -clock-clock-clock args () :

    -rise_clock-rise_clock-rise_clock args () :

    -fall_clock-fall_clock-fall_clock args () :

    : -clock-clock-clock-rise_clock-rise_clock-rise_clock -fall_clock-fall_clock-fall_clock

    -level_sensitive-level_sensitive-level_sensitive () :

    -edge_triggered-edge_triggered-edge_triggered () :

    -data_pins-data_pins-data_pins () :

    -clock_pins-clock_pins-clock_pins () :

    -async_pins-async_pins-async_pins () :

    -output_pins-output_pins-output_pins () :

    : -*_pins-*_pins-*_pins 1 -data_pins-data_pins-data_pins-clock_pins-clock_pins-clock_pins-async_pins-async_pins-async_pins-output_pins-output_pins-output_pins

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    all_registers -fall_clock [all_clocks]

    set_min_delay 2.0 -to [all_registers -clock CCLK -data_pins]

    all_clocks

    set_msg_limit

    set_min_delay

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 85

  • Tcl ()

    apply_bd_automation

    IP

    apply_bd_automation [-config args] -rule arg [-quiet] [-verbose] objects...

    ()

    [-config-config-config]

    -rule-rule-rule ID

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    objects

    IP

    IP apply_bd_automationapply_bd_automationapply_bd_automation

    IP IP

    Vivado Design Suite : IP

    (UG896) Vivado Design Suite : IP IP

    (UG994)

    Zynq 7MicroBlaze

    AXI MIG

    AXI-MM

    I/O

    : IP Vivado IDE GUI TclVivado IDE IP write_bd_tclwrite_bd_tclwrite_bd_tcl Tcl

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 86

  • Tcl ()

    -config-config-config args () : IP (param)

    param (param "value")

    param "value" ({})

    -config {local_mem "16KB" ecc "Basic" debug_module "Debug Only"}

    -rule-rule-rule arg () :

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    objects () : IP get_bd_cellsget_bd_cellsget_bd_cellsget_bd_pinsget_bd_interface 1

    IP -rule-rule-rule -config-config-config

    MicroBlaze

    apply_bd_automation -rule xilinx.com:bd_rule:microblaze \

    -config {local_mem "16KB" ecc "Basic" debug_module "Debug Only" \

    axi_periph "1" axi_intc "1" clk "New Clocking Wizard (100 MHz)" } \

    [get_bd_cells /microblaze_1]

    IP ( )

    get_board_interfacesget_board_interfacesget_board_interfaces IP

    2 apply_bd_automationapply_bd_automationapply_bd_automation

    get_board_interfaces -filter "VLNV==[get_property VLNV \

    [get_bd_intf_pins clk_wiz_1/CLK_IN1_D]]"

    sys_diff_clock

    apply_bd_automation -rule xilinx.com:bd_rule:board \

    -config {Board_Interface "sys_diff_clock" } \

    [get_bd_intf_pins /clk_wiz_1/CLK_IN1_D]

    IP

    CLK_IN1_D

    apply_bd_automation -rule xilinx.com:bd_rule:board \

    [get_bd_pins /clk_wiz_2/CLK_IN1_D]

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 87

  • Tcl ()

    IP

    ext_reset_in

    apply_bd_automation -rule xilinx.com:bd_rule:board \

    -config {rst_polarity "ACTIVE_HIGH" } \

    [get_bd_pins /proc_sys_reset_1/ext_reset_in]

    create_bd_cell

    create_bd_design

    get_bd_cells

    get_bd_intf_pins

    get_bd_pins

    get_board_interfaces

    write_bd_tcl

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 88

  • Tcl ()

    archive_project

    archive_project [-force] [-exclude_run_results] [-include_config_settings][-quiet] [-verbose] [file]

    True

    [-force-force-force]

    [-exclude_run_results-exclude_run_results-exclude_run_results] run

    [-include_config_settings-include_config_settings-include_config_settings] /

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    [file]

    run ZIP

    : write_project_tclwrite_project_tclwrite_project_tcl Tcl

    -force-force-force () : ZIP ZIP -force-force-force

    -exclude_run_results-exclude_run_results-exclude_run_results () : run

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 89

  • Tcl ()

    -include_config_settings-include_config_settings-include_config_settings ( ) : Tcl (init.tcl) project_name/config_settings

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    file () : archive_projectarchive_projectarchive_project ZIP file ZIP

    archive_project

    : project_name.zip

    project_3 proj3.zip

    current_project project_3

    archive_project -force -exclude_run_results proj3.zip

    : -force-force-force proj3.zip -exclude_run_results-exclude_run_results-exclude_run_results run run

    run

    current_project

    write_project_tcl

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 90

  • Tcl ()

    assign_bd_address

    IP

    assign_bd_address [-target_address_space arg] [-quiet] [-verbose] [objects...]

    ""

    [-target_address_space-target_address_space-target_address_space]

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    [objects]

    IP

    IP IP

    IP

    -target_address_space-target_address_space-target_address_space arg () :

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    objects :

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 91

  • Tcl ()

    IP

    assign_bd_address [get_bd_addr_segs \{/microblaze_1_local_memory/ilmb_bram_if_cntlr/SLMB/Mem }]

    create_bd_addr_seg

    get_bd_addr_segs

    get_bd_addr_spaces

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 92

  • Tcl ()

    check_timing

    check_timing [-file arg] [-name arg] [-override_defaults args][-include args] [-exclude args] [-quiet] [-verbose]

    [-file-file-file]

    [-name-name-name] GUI

    [-override_defaults-override_defaults-override_defaults]

    [-include-include-include]

    [-exclude-exclude-exclude]

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    report_timingreport_timingreport_timing

    check_timingcheck_timingcheck_timing

    -verbose-verbose-verbose

    : Tcl STD GUI

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 93

  • Tcl ()

    no_clockno_clockno_clock :

    unconstrained_internal_endpointsunconstrained_internal_endpointsunconstrained_internal_endpoints :

    create_clockcreate_clockcreate_clock

    no_output_delayno_output_delayno_output_delay

    no_input_delayno_input_delayno_input_delay : set_input_delayset_input_delayset_input_delay

    no_output_delayno_output_delayno_output_delay :

    set_output_delayset_output_delayset_output_delay

    multiple_clockmultiple_clockmultiple_clock :

    set_case_analysisset_case_analysisset_case_analysis 1

    generated_clocksgenerated_clocksgenerated_clocks :

    2

    loopsloopsloops :

    partial_input_delaypartial_input_delaypartial_input_delay :

    set_input_delayset_input_delayset_input_delay -max-max-max set_input_delayset_input_delayset_input_delay -min-min-min

    set_input_delayset_input_delayset_input_delay -min-min-min -max-max-max

    :

    partial_output_delaypartial_output_delaypartial_output_delay :

    set_output_delayset_output_delayset_output_delay -max-max-max set_output_delayset_output_delayset_output_delay -min-min-min

    set_output_delayset_output_delayset_output_delay -min-min-min -max-max-max

    :

    unexpandable_clocksunexpandable_clocksunexpandable_clocks : 1

    1000

    latch_loopslatch_loopslatch_loops :

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 94

  • Tcl ()

    -file-file-file arg () : Tcl

    :

    -name-name-name arg () : GUI [Timing]

    -override_defaults-override_defaults-override_defaults {args} () :

    -include-include-include args () :

    -exclude-exclude-exclude args () : check_timingcheck_timingcheck_timing

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    check_timingcheck_timingcheck_timing

    check_timing -exclude {loops generated_clocks}

    multiple_clocks -verbose-verbose-verbose

    get_clocksget_clocksget_clocks

    check_timing -verbose -override_defaults {multiple_clock}

    Checking multiple_clock.

    There are 2 register/latch pins with multiple clocks.

    procEngine/mode_du/set_reg[0]/C

    provEngine/mode_du/set_reg[1]/C

    get_clocks -of_objects [get_pin procEngine/mode_du/set_reg[0]/C]

    sysClk coreClk

    create_clock

    get_clocks

    report_timing

    set_case_analysis

    set_input_delay

    set_max_delay

    set_output_delay

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 95

  • Tcl ()

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 96

  • Tcl ()

    checkpoint_vcd

    VCD (Verilog $dumpall )

    checkpoint_vcd [-quiet] [-verbose]

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    HDL VCD (Value Change Dump)

    Tcl Verilog $dumpall$dumpall$dumpall

    VCD HDL ASCII VCD

    VCD

    VCD Verilog IEEE (IEEE Std 1364-2005)

    checkpoint_vcdcheckpoint_vcdcheckpoint_vcd open_vcdopen_vcdopen_vcd log_vcdlog_vcdlog_vcd

    checkpoint_vcdcheckpoint_vcdcheckpoint_vcd

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 97

  • Tcl ()

    HDL VCD

    checkpoint_vcd

    flush_vcd

    log_vcd

    open_vcd

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 98

  • Tcl ()

    close_bd_design

    close_bd_design [-quiet] [-verbose] name

    ""

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    name

    IP

    Vivado Design Suite IP IP

    close_bd_designclose_bd_designclose_bd_design save_bd_designsave_bd_designsave_bd_design

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    name : IP

    IP

    close_bd_design [current_bd_design]

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 99

  • Tcl ()

    create_bd_design

    current_bd_design

    get_bd_designs

    open_bd_design

    save_bd_design

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 100

  • Tcl ()

    close_design

    close_design [-quiet] [-verbose]

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    close_designclose_designclose_design save_designsave_designsave_design save_design_assave_design_assave_design_as

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    close_design

    : close_designclose_designclose_design current_designcurrent_designcurrent_design

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 101

  • Tcl ()

    current_design rtl_1

    close_design

    rtl_1rtl_1rtl_1 close_designclose_designclose_design

    current_design

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 102

  • Tcl ()

    close_hw

    close_hw [-quiet] [-verbose]

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 103

  • Tcl ()

    close_hw_target

    close_hw_target [-quiet] [-verbose] [hw_target]

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    [hw_target]

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 104

  • Tcl ()

    close_project

    close_project [-delete] [-quiet] [-verbose]

    [-delete-delete-delete]

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    -delete-delete-delete () :

    :

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 105

  • Tcl ()

    close_project

    close_projectclose_projectclose_project current_projectcurrent_projectcurrent_project

    project_1

    current_project project_1

    close_project -delete

    : -delete-delete-delete

    current_project

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 106

  • Tcl ()

    close_saif

    SAIF SAIF

    close_saif [-quiet] [-verbose]

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    SAIF

    Vivado open_saifopen_saifopen_saif SAIF 1 SAIF

    SAIF

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    close_saif

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 107

  • Tcl ()

    log_saif

    open_saif

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 108

  • Tcl ()

    close_sim

    Vivado

    close_sim [-force] [-quiet] [-verbose]

    [-force-force-force]

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    Vivado

    :

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    close_sim

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 109

  • Tcl ()

    current_sim

    launch_xsim

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 110

  • Tcl ()

    close_vcd

    VCD VCD

    close_vcd [-quiet] [-verbose]

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    VCD (Value Change Dump)

    Vivado VCD 1 VCD

    VCD

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    VCD

    close_vcd

    open_vcd

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 111

  • Tcl ()

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 112

  • Tcl ()

    close_wave_config

    close_wave_config [-force] [-quiet] [-verbose] [wcfgobj]

    [-force-force-force]

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    [wcfgobj] NULL

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 113

  • Tcl ()

    commit_hw_sio

    1

    commit_hw_sio [-quiet] [-verbose] hw_objects

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    hw_objects

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 114

  • Tcl ()

    commit_hw_vio

    VIO OUTPUT_VALUE VIO

    commit_hw_vio [-quiet] [-verbose] hw_objects...

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    hw_objects VIO

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 115

  • Tcl ()

    compile_simlib

    compile_simlib [-cfg_file] [-directory arg] [-exclude_sublib][-exclude_superseded] [-family arg] [-force] [-language arg] [-library arg][-precompiled_directory arg] [-simulator arg] [-simulator_exec_path arg][-source_library_path arg] [-32bit] [-quiet] [-verbose]

    [-cfg_file-cfg_file-cfg_file] compile_simlib.cfg

    [-directory-directory-directory] .

    [-exclude_sublib-exclude_sublib-exclude_sublib] EDK .pao (EDK )

    [-exclude_superseded-exclude_superseded-exclude_superseded] EDK (EDK )

    [-family-family-family] all

    [-force-force-force]

    [-language-language-language] all

    [-library-library-library] all

    [-precompiled_directory-precompiled_directory-precompiled_directory] compile_simlib

    [-simulator-simulator-simulator]

    [-simulator_exec_path-simulator_exec_path-simulator_exec_path]

    [-source_library_path-source_library_path-source_library_path] XILINX_PLANAHEAD (Vivado ) XILINX_EDK(EDK )

    [-32bit-32bit-32bit] 32

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 116

  • Tcl ()

    HDL Vivado ISim

    compile_simlibcompile_simlibcompile_simlib

    -cfg_file-cfg_file-cfg_file () : compxlib.cfg

    -directory-directory-directory arg () :

    :

    -exclude_sublib-exclude_sublib-exclude_sublib () : EDK .pao EDK

    (UG111)

    -exclude_superseded-exclude_superseded-exclude_superseded () : EDK

    EDK

    (UG111)

    -family-family-family arg () :

    virtex7 (Virtex-7)

    kintex7 (Kintex-7)

    kintex7l (Kintex-7 )

    artix7 (Artix-7)

    artix7l (Atix-7 )

    zynq (Zynq-7000 EPP)

    -force-force-force () :

    -language-language-language [[[ verilogverilogverilog ||| vhdlvhdlvhdl ||| allallall ]]] () :

    -simulator-simulator-simulator

    Verilog VHDL

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 117

  • Tcl ()

    -library-library-library arg () :

    all

    unisim

    simprim

    xilinxcorelib

    edk

    -lib

    .. -library unisim -library simprim ..

    : EDK (-lib edk)EDK UNISIM SIMPRIM

    ISE

    -precompiled_directory-precompiled_directory-precompiled_directory arg () :

    -simulator-simulator-simulator arg () :

    modelsim

    questasim

    ies (Linux )

    vcs_mx (Linux )

    riviera

    Active-HDL

    -simulator_exec_path-simulator_exec_path-simulator_exec_path arg () : $PATH %PATH% $PATH

    %PATH%

    -source_library_path-source_library_path-source_library_path arg () : ($XILINX$XILINX_PLANAHEAD $XILINX_EDK)

    :

    -32bit-32bit-32bit () : 64 32

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 118

  • Tcl ()

    Virtex-7 ModelSim (VHDL) UNISIM

    SIMPRIM

    compile_simlib -simulator modelsim -family virtex7 -library unisim \

    -library simprim -language vhdl

    launch_modelsim

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 119

  • Tcl ()

    config_timing_analysis

    config_timing_analysis [-enable_input_delay_default_clock arg][-enable_preset_clear_arcs arg] [-disable_flight_delays arg] [-quiet][-verbose]

    [-enable_input_delay_default-enable_input_delay_default-enable_input_delay_default _clock_clock_clock] SDC truefalse UCF

    [-enable_preset_clear_arcs-enable_preset_clear_arcs-enable_preset_clear_arcs] truefalse

    [-disable_flight_delays-disable_flight_delays-disable_flight_delays] I/O truefalse

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    :

    -enable_input_delay_default_clock-enable_input_delay_default_clock-enable_input_delay_default_clock [[[ truetruetrue ||| falsefalsefalse ]]] () :

    true false false

    -enable_preset_clear_arcs-enable_preset_clear_arcs-enable_preset_clear_arcs [[[ truetruetrue ||| falsefalsefalse ]]] () :

    true false false

    -disable_flight_delays-disable_flight_delays-disable_flight_delays [[[ truetruetrue ||| falsefalsefalse ]]] () : true I/O

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 120

  • Tcl ()

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    config_timing_analysis -disable_flight_delays true

    config_timing_corners

    report_timing

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 121

  • Tcl ()

    config_timing_corners

    /

    config_timing_corners [-corner arg] [-delay_type arg] [-setup] [-hold][-quiet] [-verbose]

    [-corner-corner-corner] SlowFast

    [-delay_type-delay_type-delay_type] nonemaxminmin_max

    [-setup-setup-setup] (-delay_type max )

    [-hold-hold-hold] (-delay_type min )

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    /

    :

    -corner-corner-corner [[[ SlowSlowSlow ||| FastFastFast ]]] () : Slow

    Fast

    : /

    -delay_type-delay_type-delay_type value () : maxmin min_max

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 122

  • Tcl ()

    -setup-setup-setup () : -delay_type-delay_type-delay_type maxmaxmax

    -hold-hold-hold () : -delay_type-delay_type-delay_type minminmin

    : -setup-setup-setup -hold-hold-hold -delay_type-delay_type-delay_type min_maxmin_maxmin_max

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    config_timing_corners -corner Slow -setup -hold

    config_timing_corners -corner Slow -delay_type min_max

    :

    config_timing_corners -corner Fast -delay_type min

    config_timing_analysis

    report_timing

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 123

  • Tcl ()

    config_webtalk

    IP WebTalk /

    config_webtalk [-info] [-user arg] [-install arg] [-quiet] [-verbose]

    [-info-info-info] WebTalk

    [-user-user-user] WebTalk / on off

    [-install-install-install] WebTalk / on off off -user WebTalk

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    WebTalk FPGA

    IP

    WebTalk

    IP WebTalk /

    WebPACK WebTalk

    WebTalk WebPACK

    WebPACK

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 124

  • Tcl ()

    : WebPACK WebPACK WebPACK 34746

    -info-info-info () : WebTalk WebTalk

    WebTalk

    -user-user-user arg () : WebTalk

    -install-install-install arg () : WebTalk

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    WebTalk

    config_webtalk -info

    INFO: [Coretcl-120] Webtalk has been disabled by the current user.

    INFO: [Coretcl-123] Webtalk has been enabled for the current installation.

    INFO: [Coretcl-110] This combination of user/install settings means that WebTalk is currently disabled.

    WebTalk

    config_webtalk -user on

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 125

  • Tcl ()

    connect_bd_intf_net

    connect_bd_intf_net [-intf_net arg] [-quiet] [-verbose] object1 object2

    0

    [-intf_net-intf_net-intf_net] 1

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    object1

    object2

    IP

    IP

    IP

    -intf_net-intf_net-intf_net

    -intf_net-intf_net-intf_net arg () : create_bd_intf_netcreate_bd_intf_netcreate_bd_intf_net

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 126

  • Tcl ()

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    object1 () :

    object2 () : 2

    IP

    connect_bd_intf_net [get_bd_intf_pins clk_wiz_1/CLK_IN1_D] \[get_bd_intf_ports /diff_clock_rtl]

    create_bd_cell

    create_bd_intf_net

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 127

  • Tcl ()

    connect_bd_net

    connect_bd_net [-net arg] [-quiet] [-verbose] objects...

    0

    [-net-net-net] 1

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    objects

    IP

    IP

    -net-net-net -net-net-net

    get_bd_portsget_bd_portsget_bd_ports get_bd_pinsget_bd_pinsget_bd_pins

    -net-net-net -net 1

    IP

    -net-net-net arg () : IP 1

    :

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 128

  • Tcl ()

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    objects : IP

    IP 2

    connect_bd_net [get_bd_pins /vidOut_1/locked] [get_bd_pins /newMod1/bridge_1/fid]

    : /vidOut_1/locked /newMod1/bridge_1/fid -net-net-net

    create_bd_net

    disconnect_bd_net

    get_bd_pins

    get_bd_ports

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 129

  • Tcl ()

    connect_debug_port

    connect_debug_port [-channel_start_index arg] [-quiet] [-verbose] port nets...

    [-channel_start_index-channel_start_index-channel_start_index]

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    port

    nets

    Vivado

    create_debug_port

    set_propertyset_propertyset_property port_widthport_widthport_width

    disconnect_debug_portdisconnect_debug_portdisconnect_debug_port

    implement_debug_coreimplement_debug_coreimplement_debug_core

    -channel_start_index-channel_start_index-channel_start_index arg () :

    0

    :

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 130

  • Tcl ()

    -quiet-quiet-quiet () :

    TCL_OK

    :

    -verbose-verbose-verbose () :

    : set_msg_configset_msg_configset_msg_config

    port () : core_name/port_name

    nets () :

    myCore PROBE PORT_WIDTH

    3 ( 2)

    create_debug_port myCore PROBE

    set_property PORT_WIDTH 8 [get_debug_ports myCore/PROBE1]

    connect_debug_port myCore/PROBE1 [get_nets [list m0_ack_o m0_cyc_i m0_err_o \

    m0_rty_o m0_stb_i m0_we_i ]] -channel_start_index 2

    :

    create_debug_port

    disconnect_debug_port

    get_debug_ports

    get_nets

    implement_debug_core

    set_property

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 131

  • Tcl ()

    connect_hw_server

    connect_hw_server [-host arg] [-port arg] [-password arg] [-launch arg][-quiet] [-verbose]

    [-host-host-host] localhost

    [-port-port-port] 60001

    [-password-password-password]

    [-launch-launch-launch] No

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 132

  • Tcl ()

    connect_net

    connect_net [-hier] [-basename arg] -net arg -objects args [-quiet] [-verbose]

    [-hier-hier-hier] (-basename )

    [-basename-basename-basename] / (-hier ) (-net )

    -net-net-net

    -objects-objects-objects

    [-quiet-quiet-quiet]

    [-verbose-verbose-verbose]

    1

    connect_netconnect_netconnect_net

    Vivado

    write_checkpointwrite_checkpointwrite_checkpoint

    write_*write_*write_* VerilogVHDL

    EDIF

    : RTL

    Vivado Design Suite Tcl

    UG835 (v 2013.2) 2013 6 19 http://japan.xilinx.com 133

  • Tcl ()

    -hier-hier-hier () :

    : -hier