Comenzi TCL în Vivado: Diferență între versiuni

De la YO3ITI
Sari la navigare Sari la căutare
Linia 4: Linia 4:


Documentația este organizată în trei manuale principale, care se completează reciproc:
Documentația este organizată în trei manuale principale, care se completează reciproc:
# [https://docs.amd.com/r/en-US/ug835-vivado-tcl-commands/Introduction UG835 — Vivado Design Suite Tcl Command Reference Guide] — referința completă a comenzilor Tcl.
===[https://docs.amd.com/r/en-US/ug835-vivado-tcl-commands/Introduction UG835 — Vivado Design Suite Tcl Command Reference Guide]===
# [https://docs.amd.com/r/en-US/ug894-vivado-tcl-scripting/Tcl-Scripting-in-Vivado UG894 — Vivado Design Suite User Guide: Using Tcl Scripting] — ghid pentru utilizarea Tcl și automatizarea fluxurilor de proiectare.
Referința completă a comenzilor Tcl. Acesta este principalul manual de referință pentru comenzile Tcl disponibile în Vivado. Documentația prezintă sintaxa comenzilor, parametrii acceptați, descrierea funcționalității și exemple de utilizare.
# [https://docs.amd.com/r/en-US/ug912-vivado-properties/Vivado-Design-Suite-First-Class-Objects UG912 — Vivado Design Suite Properties Reference Guide] — referința proprietăților obiectelor din Vivado.
 
Sunt documentate comenzi pentru:
* Crearea, deschiderea și configurarea proiectelor.
* Selectarea dispozitivelor FPGA și a plăcilor de dezvoltare.
* Gestionarea fișierelor sursă HDL și a constrângerilor XDC.
* Sinteză, implementare și generarea fișierelor bitstream.
* Gestionarea IP-urilor și a diagramelor Block Design.
* Analiza temporizării (timing analysis) și a utilizării resurselor.
* Interacțiunea cu dispozitivele fizice prin Hardware Manager.
 
De exemplu, pentru a obține informații despre FPGA-ul XC7Z020 de pe placa Digilent Arty Z7-20:
 
<syntaxhighlight lang="zsh">
# Identificarea variantelor disponibile ale dispozitivului
get_parts xc7z020*
 
# Afișarea tuturor proprietăților variantei selectate
report_property [get_parts xc7z020clg400-1]
 
# Afișarea proprietății DEVICE
get_property DEVICE [get_parts xc7z020clg400-1]
</syntaxhighlight>
 
Este important de observat că report_property necesită un obiect Vivado, nu un simplu șir de caractere. Comanda <code>get_parts</code> obține obiectul corespunzător dispozitivului, care este ulterior transmis comenzii <code>report_property</code>.
 
===[https://docs.amd.com/r/en-US/ug894-vivado-tcl-scripting/Tcl-Scripting-in-Vivado UG894 — Vivado Design Suite User Guide: Using Tcl Scripting]===
Ghid pentru utilizarea Tcl și automatizarea fluxurilor de proiectare. Acest manual explică utilizarea limbajului Tcl în mediul Vivado și modul în care comenzile pot fi combinate în scripturi pentru automatizarea proiectării. Subiectele importante includ lucrul cu obiectele Vivado, interogarea și filtrarea colecțiilor, utilizarea variabilelor, procedurilor și buclelor Tcl, precum și executarea comenzilor în mod interactiv sau în batch mode.
 
De exemplu, putem interoga proiectul curent:
 
<syntaxhighlight lang="zsh">
# Obținerea obiectului corespunzător proiectului
set proiect [current_project]
 
# Identificarea dispozitivului selectat
set dispozitiv [get_property PART $proiect]
 
puts "Dispozitiv FPGA: $dispozitiv"
</syntaxhighlight>
 
 
===[https://docs.amd.com/r/en-US/ug912-vivado-properties/Vivado-Design-Suite-First-Class-Objects UG912 — Vivado Design Suite Properties Reference Guide]===
Referința proprietăților obiectelor din Vivado.


==Proprietățile FPGA din Arty Z7==
==Proprietățile FPGA din Arty Z7==

Versiunea de la data 3 noiembrie 2026 20:55

Documentație comenzi TCL în Vivado

AMD (anterior Xilinx) pune la dispoziție o documentație oficială foarte detaliată pentru comenzile Tcl utilizate în Vivado Design Suite. Aceasta acoperă atât comenzile individuale, cât și programarea scripturilor pentru automatizarea proiectelor FPGA.

Documentația este organizată în trei manuale principale, care se completează reciproc:

Referința completă a comenzilor Tcl. Acesta este principalul manual de referință pentru comenzile Tcl disponibile în Vivado. Documentația prezintă sintaxa comenzilor, parametrii acceptați, descrierea funcționalității și exemple de utilizare.

Sunt documentate comenzi pentru:

  • Crearea, deschiderea și configurarea proiectelor.
  • Selectarea dispozitivelor FPGA și a plăcilor de dezvoltare.
  • Gestionarea fișierelor sursă HDL și a constrângerilor XDC.
  • Sinteză, implementare și generarea fișierelor bitstream.
  • Gestionarea IP-urilor și a diagramelor Block Design.
  • Analiza temporizării (timing analysis) și a utilizării resurselor.
  • Interacțiunea cu dispozitivele fizice prin Hardware Manager.

De exemplu, pentru a obține informații despre FPGA-ul XC7Z020 de pe placa Digilent Arty Z7-20:

# Identificarea variantelor disponibile ale dispozitivului
get_parts xc7z020*

# Afișarea tuturor proprietăților variantei selectate
report_property [get_parts xc7z020clg400-1]

# Afișarea proprietății DEVICE
get_property DEVICE [get_parts xc7z020clg400-1]

Este important de observat că report_property necesită un obiect Vivado, nu un simplu șir de caractere. Comanda get_parts obține obiectul corespunzător dispozitivului, care este ulterior transmis comenzii report_property.

Ghid pentru utilizarea Tcl și automatizarea fluxurilor de proiectare. Acest manual explică utilizarea limbajului Tcl în mediul Vivado și modul în care comenzile pot fi combinate în scripturi pentru automatizarea proiectării. Subiectele importante includ lucrul cu obiectele Vivado, interogarea și filtrarea colecțiilor, utilizarea variabilelor, procedurilor și buclelor Tcl, precum și executarea comenzilor în mod interactiv sau în batch mode.

De exemplu, putem interoga proiectul curent:

# Obținerea obiectului corespunzător proiectului
set proiect [current_project]

# Identificarea dispozitivului selectat
set dispozitiv [get_property PART $proiect]

puts "Dispozitiv FPGA: $dispozitiv"


Referința proprietăților obiectelor din Vivado.

Proprietățile FPGA din Arty Z7

Pentru Arty Z7, part name este:

report_property [get_parts xc7z020clg400-1]

Cu proprietățile:

Property                   Type     Read-only  Value
ARCHITECTURE               string   true       zynq
ARCHITECTURE_FULL_NAME     string   true       Zynq-7000
AVAILABLE_CONFIG_MODES     string*  true       {JTAG/Boundary Scan}
AVAILABLE_IOBS             int      true       125
BLOCK_RAMS                 int      true       140
CLASS                      string   true       part
COLS                       int      true       187
COMPATIBLE_PARTS           string*  true       xc7z010clg400
C_FAMILY                   string   true       zynq
DEVICE                     string   true       xc7z020
DSP                        int      true       220
FAMILY                     string   true       zynq
FE                         int      true       0
FLIPFLOPS                  int      true       106400
GB_TRANSCEIVERS            int      true       0
IDCODE                     string   true       0x03727093
IO_PIN_COUNT               int      true       400
IO_STANDARDS               string   true       LVTTL LVCMOS33 LVCMOS25 LVCMOS18 LVCMOS15 LVCMOS12 HSUL_12 HSTL_I HSTL_II HSTL_I_18 HSTL_II_18 SSTL18_I SSTL18_II SSTL15 SSTL15_R SSTL135 SSTL135_R DIFF_HSTL_I DIFF_HSTL_II DIFF_HSTL_I_18 DIFF_HSTL_II_18 DIFF_SSTL18_I DIFF_SSTL18_II DIFF_SSTL15 DIFF_SSTL15_R DIFF_SSTL135 DIFF_SSTL135_R DIFF_HSUL_12 PCI33_3 MOBILE_DDR DIFF_MOBILE_DDR BLVDS_25 LVDS_25 RSDS_25 TMDS_33 MINI_LVDS_25 PPDS_25
LUT_ELEMENTS               int      true       53200
MAX_OPERATING_TEMPERATURE  int      true       0
MAX_OPERATING_VOLTAGE      double   true       1.050
MCBS                       int      true       0
MIN_OPERATING_TEMPERATURE  int      true       0
MIN_OPERATING_VOLTAGE      double   true       0.950
MMCM                       int      true       4
NAME                       string   true       xc7z020clg400-1
PACKAGE                    string   true       clg400
PACKAGE_PINOUT_VERSION     string   true       FINAL 2012-06-26
PACKAGE_PIN_DELAY_VERSION  string   true       VERS. 2.0 2012-06-26
PCI_BUSES                  int      true       0
REF_OPERATING_TEMPERATURE  int      true       0
REF_OPERATING_VOLTAGE      double   true       0.950
ROWS                       int      true       157
SLICES                     int      true       13300
SLRS                       int      true       1
SPEED                      string   true       -1
SPEED_LABEL                string   true       PRODUCTION
SPEED_LEVEL_ID             string   true       1.12
SPEED_LEVEL_ID_DATE        string   true       2019-11-22
SSN_REPORT                 bool     true       1
SUPPORTS_NEXTGEN_VERSAL    bool     true       0
TEMAC_NETWORK_CONTROLLERS  int      true       0
TEMPERATURE_GRADE_LETTER   string   true

Alte comenzi TCL utile (Vivado):

Informații despre componenta folosită în proiectul curent, din Vivado:

report_property [get_parts [get_property PART [current_project]]]

Link-uri externe