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 "/software/" after executing scripts.
To create project do the following steps:
For more details and manual configuration of design basic settings, see Reference Design - Getting Started.
For Problems, please check Checklist / Troubleshoot at first.
Description | PCB Name | Project Name+(opt. Variant) | supported Quartus Version | Date | ||||
---|---|---|---|---|---|---|---|---|
Example: | TEI0006 | - | test_board(_noprebuilt) | - | quartus_22.4 | - | 20230918161807 | .zip |
Type or File | Version | Note |
---|---|---|
Quartus Prime | 22.1 Lite / 22.4 Pro | -- |
Trenz Project Scripts | 22.0 | -- |
Trenz <board_series>_devices.csv | 1.1 | -- |
Trenz zip_ignore_list.csv | 1.2 | -- |
Trenz zip.teinfo | 1.0 | -- |
Trenz mod_list.csv | 1.3 | -- |
Trenz apps_list.csv | 1.1 | -- |
Trenz prod_cfg_list.csv | 1.1 | internal usage only |
File or Directory | Type | Description |
---|---|---|
<project folder> | work, base directory | Base directory with predefined batch files (*.cmd, *.sh) to create quartus project, open quartus project or program device |
<project folder>/backup/ | generated | (Optional) Directory for project backups |
<project folder>/_binaries_<articlenumber> | generated | export directory for binaries (run create_project_win.cmd (Win OS) / create_project_linux.sh (Linux OS)" and select "Export prebuilt files" button) |
<project folder>/board_files/ | source | Local list of available board variants (<board_series>_devices.csv) |
<project folder>/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 work directory) |
<project folder>/prebuilt/ | prebuilt | Contains subfolders for different board variants |
<project folder>/prebuilt/<board_part_shortname> | prebuilt | Directory with prebuilt programming files (*.pof, *.sof or *.jic, *.rbf) for FPGA and different source files for hardware (*.sopcinfo) and software (*.elf) included in subfolders |
<project folder>/prebuilt/<board_part_shortname>/programming_files/ | prebuilt | Directory with prebuilt programming files (*.pof, *.sof or *.jic, *.rbf) |
<project folder>/prebuilt/<board_part_shortname>/hardware/ | prebuilt | Directory with prebuilt hardware sources (*.sopcinfo) |
<project folder>/prebuilt/<board_part_shortname>/software/ | prebuilt | (Optional) Directory with prebuilt software sources (*.elf) |
<project folder>/prebuilt/<board_part_shortname>/os/ | prebuilt | (Optional) Directory with predefined OS images included in subfolders |
<project folder>/quartus/ | generated | (Temporary) Directory where quartus project is created. Quartus project file is <project_name>.qpf |
<project folder>/scripts/ | source | TCL scripts to build a project |
<project folder>/settings/ | source | (Optional) Additional design settings: zip_ignore_list.csv, mod_list.csv, design_basic_settings.tcl, zip.teinfo |
<project folder>/software/ | generated | (Temporary) Directory with additional software project |
<project folder>/os/ | generated | (Temporary) Directory with additional OS files in subfolders |
<project folder>/source_files/ | source | Directory with source files needed for create project |
<project folder>/source_files/quartus/ <project folder>/source_files/<Board Part Shortname>/quartus | source | Source files for quartus project (Optional) Source files for specific assembly variants |
<project folder>/source_files/software/ <project folder>/source_files/<Board Part Shortname>/software | source | (Optional) Source files for additional software (Optional) Source files for specific assembly variants |
<project folder>/source_files/os/ | source | (Optional) Directory with additional os sources in in subfolders "<os_name>" |
Use to create project, open project or program device.
'Create project' GUI - example
Select your board from listed modules. To find easier the correct board you can use the filter function. Click on "Clear filter" button to reset the filter and show all available modules.
Some links to more information about the board, reference design, schematics and create_project_win.cmd/create_project_linux.sh gui.
Messagebox shows different info, warning and error messages.
Create project:
Manual configuration of the design basic settings:
Attention: Scripts are supported only with predefined quartus version!
Programming FPGA or flash memory:
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 Quartus/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_DEV | DDR Module | DDR module name |
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" |
NOTES | Additional notes |
Attention not all features of the TE-Scripts are supported in the advanced usage!
To modifiy current device csv list, make a copy of the original csv and rename with suffix "_mod.csv", ex.TEI0006_devices.csv as TEI0006_devices_mod.csv. Scripts use modified csv instead of the original file.
To get content of older revision got to "Change History" of this page and select older revision number.
Date | Revision | Quartus Version | Authors | Description |
---|---|---|---|---|
Error rendering macro 'page-info' Ambiguous method overloading for method jdk.proxy244.$Proxy3578#hasContentLevelPermission. Cannot resolve which method to invoke for [null, class java.lang.String, class com.atlassian.confluence.pages.Page] due to overlapping prototypes between: [interface com.atlassian.confluence.user.ConfluenceUser, class java.lang.String, class com.atlassian.confluence.core.ContentEntityObject] [interface com.atlassian.user.User, class java.lang.String, class com.atlassian.confluence.core.ContentEntityObject] | Error rendering macro 'page-info' Ambiguous method overloading for method jdk.proxy244.$Proxy3578#hasContentLevelPermission. Cannot resolve which method to invoke for [null, class java.lang.String, class com.atlassian.confluence.pages.Page] due to overlapping prototypes between: [interface com.atlassian.confluence.user.ConfluenceUser, class java.lang.String, class com.atlassian.confluence.core.ContentEntityObject] [interface com.atlassian.user.User, class java.lang.String, class com.atlassian.confluence.core.ContentEntityObject] | 22.1 Lite 22.4 Pro | Error rendering macro 'page-info' Ambiguous method overloading for method jdk.proxy244.$Proxy3578#hasContentLevelPermission. Cannot resolve which method to invoke for [null, class java.lang.String, class com.atlassian.confluence.pages.Page] due to overlapping prototypes between: [interface com.atlassian.confluence.user.ConfluenceUser, class java.lang.String, class com.atlassian.confluence.core.ContentEntityObject] [interface com.atlassian.user.User, class java.lang.String, class com.atlassian.confluence.core.ContentEntityObject] |
|
2022-06-27 | v.14 | 21.1 Lite 21.4 Pro | Thomas Dück |
|
2021-06-17 | v.11 | 20.1 Lite 20.4 Pro | Thomas Dück |
|
2020-05-13 | v.9 | 19.1 Lite 19.4 Pro | Thomas Dück |
|
2019-11-11 | v.5 | 18.1 | Thomas Dück |
|
2019-10-29 | v.4 | 18.1 | Thomas Dück |
|
All | Error rendering macro 'page-info' Ambiguous method overloading for method jdk.proxy244.$Proxy3578#hasContentLevelPermission.
Cannot resolve which method to invoke for [null, class java.lang.String, class com.atlassian.confluence.pages.Page] due to overlapping prototypes between:
[interface com.atlassian.confluence.user.ConfluenceUser, class java.lang.String, class com.atlassian.confluence.core.ContentEntityObject]
[interface com.atlassian.user.User, class java.lang.String, class com.atlassian.confluence.core.ContentEntityObject] |