The most Trenz Electronic FPGA Reference Designs are TCL-script based projects.
The "normal" Quartus project will be generated in the subfolder "/quartus/" and the additional software part will be generated in the subfolder "/sdk/" after executing scripts.
There are several options to create the Vivado project from the project delivery. These options are described in Vivado Projects.
If you use our prepared batch files for project creation do the following steps:
See Reference Design: Getting Started for more details.
For Problems, please check Checklist / Troubleshoot at first.
Description | PCB Name | Project Name+(opt. Variant) | supported QUARTUS Version | Date | ||||
---|---|---|---|---|---|---|---|---|
Example: | TEI0001 | - | test_board | - | quartus_18.1 | - | 20190830100836 | .zip |
Type or File | Version |
---|---|
Quartus Design Suite | 18.1 |
Trenz Project Scripts | 18.1.00 |
Trenz <board_series>_devices.csv | 1.0 |
File or Directory | Type | Description |
---|---|---|
<design_name> | base directory | Base directory with predefined batch files (*.cmd) to generate or open QUARTUS-Project |
<design_name>/device_list/ | source | Local list of available board variants (<board_series>_devices.csv) |
<design_name>/cmd | source | Folder with different command files. Use _create_win_setup.cmd to generate files on top folder |
<design_name>/prebuilt/ | prebuilt | Contains subfolders for different board variants |
<design_name>/prebuilt/<device_list_shortname> | prebuilt | Directory with prebuilt programming files (*.sof, *pof) for FPGA and different source files for hardware (*.sopcinfo) and software (*.elf) included in subfolders |
<design_name>/prebuilt/<device_list_shortname>/programming_files/ | prebuilt | Directory with prebuilt programming files (*.sof, *pof) |
<design_name>/prebuilt/<device_list_shortname>/hardware/ | prebuilt | Directory with prebuilt hardware sources (*.sopcinfo) |
<design_name>/prebuilt/<device_list_shortname>/software/ | prebuilt | Directory with prebuilt software sources (*.elf) |
<design_name>/scripts/ | source | TCL scripts to build a project |
<design_name>/software/ | source | Directory with additional software |
<design_name>/log/ | generated | (Temporary) Directory with quartus log files (used only with predefined commands from tcl scripts, otherwise this logs will be writen into the Quartus working directory) |
<design_name>/quartus/ | work, generated | (Temporary) Working directory where Quartus project is created. Quartus project file is <design_name>.qpf |
<design_name>/source_files/ | source | Directory with source files needed for creating project |
<design_name>/source_files/quartus/ | source | Source files for Quartus project |
<design_name>/source_files/software/ | source | Source files for additional software |
File Name | Description |
---|---|
Design + Settings | |
design_basic_settings.cmd | Settings for the other *.cmd files. Following Settings are avaliable:
|
Hardware Design | |
create_project_win.cmd | Create Project with settings from "design_basic_settings.cmd" and source folders. Build all Quartus hardware and software files if the sources are available. If old quartus project exists, type "y" into the command line input to delete "<design_name>/quartus/", and "<design_name>/software/" directory with related files before project will created again. |
Name | Options | Description (Default Configuration) |
---|---|---|
TE::help | Display currently available functions. Important: Use only displayed functions and no functions from sub-namespaces | |
Hardware Design | ||
TE::hw_blockdesign_create_bd | [-bd_name] [-msys_local_mem] [-msys_ecc] [-msys_cache] [-msys_debug_module] [-msys_axi_periph] [-msys_axi_intc] [-msys_clk] [-help] | Create new Block-Design with initial Setting for PS, for predefined bd_names: Typ TE::hw_blockdesign_create_bd -help for more information |
TE::hw_blockdesign_export_tcl | [-no_mig_contents] [-no_validate] [-mod_tcl] [-svntxt <arg>] [-board_part_only] [-help] | Export Block Design to project folder <design_name>/block_design/ . Old *bd.tcl will be overwritten! |
TE::hw_build_design | \[-disable_synth\] \[-disable_bitgen\] \[-disable_hdf\] \[-disable_mcsgen\] \[-disable_reports\] \[-export_prebuilt\] \[-export_prebuilt_only\] \[-help\] | Run Synthese, Implement, and generate Bit-file, optional MCS-file and some report files |
Software Design | ||
TE::sw_run_hsi | [-run_only] [-prebuilt_hdf <arg>] [-no_hsi] [-no_bif] [-no_bin] [-no_bitmcs] [-clear] [-help] | Copies current Hardware files and reports from the vivado project to the prebuilt folder, if -prebuild_hdf <arg> isn't set.
|
TE::sw_run_sdk | [-open_only] [-update_hdf_only] [-prebuilt_hdf <arg>] [-clear] [-help] | Copies current Hardware files and reports from the vivado project to the prebuilt folder, if -prebuild_hdf <arg> isn't set. |
Programming | ||
TE::pr_init_hardware_manager | [-help] | Open Hardwaremanager, autoconnect target device and initialise flash memory with configuration from *_board_files.csv. |
TE::pr_program_jtag_bitfile | [-used_board <arg>] [-swapp <arg>] [-available_apps] [-used_basefolder_bitfile] [-help] | Copies current Hardware files and reports from the vivado project to the prebuilt folder, if -used_board <arg> isn't set (Vivado only). (MicroBlaze only) If "-swapp" is set, the Bitfile with *.elf configuration is used from <design_name>/prebuilt/boot_images/<board_file_shortname>/<app_name> |
TE::pr_program_flash_binfile | [-no_reboot] [-used_board <arg>] [-swapp <arg>] [-available_apps] [-force_hw_manager] [-used_basefolder_binfile] [-help] | Attention: For Zynq Systems only! |
TE::pr_program_flash_mcsfile | [-no_reboot] [-used_board <arg>] [-swapp <arg>] [-available_apps] [-used_basefolder_mcsfile] [-help] | Copies current Hardware files and reports from the vivado project to the prebuilt folder, if -used_board <arg> isn't set (Vivado only). (MicroBlaze only) If "-swapp" is set, the MCSfile with *.elf configuration is used from <design_name>/prebuilt/boot_images/<board_file_shortname>/<app_name> |
Utilities | ||
TE::util_zip_project | [-save_all] [-remove_prebuilt] [-manual_filename <arg>] [-help] | Make a Backup from your Project in <design_name>/backup/ Zip-Program Variable must be set in start_settings.cmd. Currently only 7-Zip is supported. |
Programming FPGA or flash memory with prebuilt files:
Connect your Hardware-Modul with PC via JTAG.
Device list csv file is used for TE-Scripts only.
Name | Description | Value |
---|---|---|
ID | ID to identify the board variant of the module series, used in TE-Scripts | Number, should be unique in csv list |
PRODID | Product ID | Product Name |
FAMILY | FPGA family, used in Quartus and TE-Scripts | device family, which is available in Quartus, ex. MAX 10 |
DEVICE | FPGA device, used in Quartus and TE-Scripts | device, which is available in Quartus, ex. 10M08SAU169C8G |
SHORTNAME | Subdirectory name, used for multi board projects to get correct sources and save prebuilt data | name to save prebuilt files or search for sources |
FLASHTYP | Flash typ used for programming Devices via Vivado/LabTools | "<Flash Name from Quartus>|<SPI Interface>" or "NA" , NA is not defined |
FLASH_SIZE | Size of Module Flash | use MB, for ex. "64MB" or "NA" if not available |
DDR_SIZE | Size of Module DDR | use GB or MB, for ex. "2GB" or "512MB" or "NA" if not available |
PCB_REV | Supported PCB Revision | "<supported PCB Revision>|<supported PCB Revision>", for ex. "REV02" or "REV03|REV02" |
OTHERS | Other module relevant changes to distinguish assembly variants | |
NOTES | Additional Notes |
Attention not all features of the TE-Scripts are supported in the advanced usage!
To modifiy current deivce list csv list, make a copy of the original csv and rename with suffix "_mod.csv", ex.TEI0001_devices.csv as TEI0001_devices_mod.csv. Scripts used modified csv instead of the original file.
See Chapter Board Part Files for more information.
Vivado settings:
Vivado Project settings (corresponding TCL-Commands) can be saved as a user defined file "<design_name>/settings/project_settings.tcl". This file will be loaded automatically on project creation.
Script settings:
Additional script settings (only some predefined variables) can be saved as a user defined file "<design_name>/settings/development_settings.tcl". This file will be loaded automatically on script initialisation.
Design settings:
Additional script settings (only some predefined variables) can be saved as a user defined file "<design_name>/settings/design_settings.tcl". This file will be loaded automatically on script initialisation.
ZIP ignore list:
Files which should not be added in the backup file can be can be defined in this file: "<design_name>/settings/zip_ignore_list.tcl". This file will be loaded automaticaly on script initialisation.
SDSOC settings:
SDSOC settings will are deposited on the following folder: "<design_name>/settings/sdsoc"
TCL Files from "<design_name>/settings/usr" will be load automaticaly on script initialisation.
SDSOC description and files to generate SDSoC project are deposited on the following folder: "<design_name>/settings/sdsoc"
HDL files can be saved in the subfolder "<design_name>/hdl/" as single files or <design_name>/hdl/folder/ and all subfolders or "<design_name>/hdl/<shortname>" and all subfolders of "<design_name>/hdl/<shortname>". They will be loaded automatically on project creation. Available formats are *.vhd, *.v and *.sv. A own top-file must be specified with the name "<design_name>_top.v" or "<design_name>_top.vhd".
To set file attributes, the file name must include "_simonly_" for simulation only and "_synonly_" for synthese only.
RTL-IP-cores (*.xci). can be saved in the subfolder "<design_name>/hdl/xci" or "<design_name>/hdl/xci/<shortname>". They will be loaded automatically on project creation.
To get content of older revision got to "Change History" of this page and select older revision number.
Date | Revision | Vivado Version | Authors | Description |
---|---|---|---|---|
2018.3 | Work in progress | |||
--- | --- | 2018.2 | John Hartfiel | Last Vivado 2018.2 supported project delivery version
|
v.142 | 2017.4 | John Hartfiel | Last Vivado 2017.4 supported project delivery version | |
2017-11-03 | v.134 | 2017.2 | John Hartfiel | Last Vivado 2017.2 supported project delivery version |
2017-09-12 | v.131 | 2017.1 | John Hartfiel | Last Vivado 2017.1 supported project delivery version |
2017-04-12 | v.126 | 2016.4 | John Hartfiel | Last Vivado 2016.4 supported project delivery version |
2017-01-16 | v.114 | 2016.2 | John Hartfiel | Last Vivado 2016.2 supported project delivery version |
2016-06-21 | v.83 | 2015.4 | John Hartfiel | Last Vivado 2015.4 supported project delivery version |
2013-03-11 | v.1 | --- | Antti Lukats | Initial release |
All |