de     

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
en:ztex_boards:ztex_fpga_boards:standalone [2016/05/25 08:26] – [Supported FPGA Boards] stefanen:ztex_boards:ztex_fpga_boards:standalone [2016/09/15 08:01] – [Standalone Firmware for the EZ-USB FX2] stefan
Line 1: Line 1:
 ====== Standalone applications ====== ====== Standalone applications ======
  
-In order to implement standalone applications the Firmware has to be uploaded to EEPROM and the Bitstream has to be written to Flash memory. +In order to implement standalone applications the Firmware and the Bitstream have to be stored in non-volatile memory. 
-At power-on the USB controller boots the Firmware from EEPROM and the Firmware configures the FPGA using a Bitstream stored in Flash.+At power-on the USB controller boots the Firmware from EEPROM or Flash and the Firmware configures the FPGA using a Bitstream stored in Flash.
  
-The standalone functionality is enabled by two macros in the Firmware source:+The Default Firmwares for [[http://www.ztex.de/usb-fpga-2/|Series 2 FPGA Boards]] always support this start-up mode. This page describes how  
 +standalone functionality can be enabled in user defined Firmware. 
 + 
 +===== Standalone Firmware for the EZ-USB FX2 ===== 
 +On FX2 based FPGA Boards the standalone functionality is enabled by two macros in the Firmware source code:
  
 <code c> <code c>
Line 11: Line 15:
 </code> </code>
  
-The first macro enables flash support and the second one enables automatic FPGA configuration if the Firmware finds a Bitstream in Flash memory at start-up. (On Series 2 FPGA Boards ''ENABLE_FLASH;'' is optional but omitting it disables Flash access through firmware.)+The first macro enables flash support and the second one enables automatic FPGA configuration if the Firmware finds a Bitstream in Flash at start-up. These macros must appear between <code c>#include[ztex-conf.h]</code> and <code c>#include[ztex.h]</code>
  
 +===== Standalone Firmware for the EZ-USB FX3 =====
 +On FX3 based FPGA Boards the Flash support is always enabled. Automatic FPGA configuration is enabled by default, but can be disabled by <code>#define DISABLE_FLASH_CONFIG</code>
 +
 +===== Loading the Bitstream =====
 There are several ways to upload the Bitstream to the Flash memory: There are several ways to upload the Bitstream to the Flash memory:
  
Line 18: Line 26:
   * Using ''-um'' parameter of the [[en:software:fwloader]] command line utility   * Using ''-um'' parameter of the [[en:software:fwloader]] command line utility
   * Using the API: [[http://www.ztex.de/firmware-kit/docs/java/ztex/Ztex1v1.html#flashUploadBitstream(java.lang.String)|Ztex1.flashUploadBitstream(java.lang.String)]]   * Using the API: [[http://www.ztex.de/firmware-kit/docs/java/ztex/Ztex1v1.html#flashUploadBitstream(java.lang.String)|Ztex1.flashUploadBitstream(java.lang.String)]]
-  * Some FPGA Boards only (see [[standalone&#supported_fpga_boards|below]]): Through JTAG using indirect programming +  * FX2 based Series 2 FPGA Boaords: Through JTAG using [[en:ztex_boards:ztex_fpga_boards:indirect_flash_programming|indirect programming]]
- +
-===== Default firmware / Standalone example ===== +
- +
-The SDK contains either a default firmware (which is also factory installed on [[http://www.ztex.de/usb-fpga-2/|Series 2 FPGA Boards]]) +
-or a  ''standalone'' examples for each ZTEX FPGA board that support Flash. These sources define an "empty" Firmware with standalone capabilities, e.g.: +
- +
-<code c> +
-#include[ztex-conf.h]     // Loads the configuration macros, see ztex-conf.h for the available macros +
-#include[ztex-utils.h]     // include basic functions and variables +
- +
-// selects the target FPGA Board +
-IDENTITY_UFM_1_11(10.12.0.0,0);  +
- +
-// this product string can also used for identification by the host software +
-#define[PRODUCT_STRING]["Standalone firmware"+
- +
-// enable Flash support +
-ENABLE_FLASH; +
-ENABLE_FLASH_BITSTREAM; +
- +
-#include[ztex.h] +
- +
-void main(void)  +
-+
-    init_USB(); // init everything +
- +
-    while (1) { } //  twiddle thumbs +
-+
-</code> +
- +
-===== Supported FPGA Boards ===== +
- +
-The SDK supports standalone functionality for all ZTEX FPGA Boards with Flash memory, in particular: +
- +
-^ FPGA Board ^ Flash type ^ Configuration speed ^ Indirect programming +
-|[[http://www.ztex.de/usb-fpga-1/usb-fpga-1.11.e.html|USB-FPGA Module 1.11]]| microSD | 0.17 MByte/s | No | +
-|[[http://www.ztex.de/usb-fpga-1/usb-fpga-1.15.e.html|USB-FPGA Module 1.15]]| microSD | up to 2.5 MByte/s | No | +
-|[[http://www.ztex.de/usb-fpga-2/usb-fpga-2.16.e.html|USB-FPGA Module 2.16]]| SPI | up to 16.5 MByte/s | Yes | +
-|[[http://www.ztex.de/usb-fpga-2/usb-fpga-2.14.e.html|USB-FPGA Module 2.14]]| SPI | up to 12.5 MByte/s | No | +
-|[[http://www.ztex.de/usb-fpga-2/usb-fpga-2.13.e.html|USB-FPGA Module 2.13]]| SPI | up to 16.5 MByte/s | Yes | +
-|[[http://www.ztex.de/usb-fpga-2/usb-fpga-2.04.e.html|USB-FPGA Module 2.04]]| SPI | up to 6.5 MByte/s | Yes | +
-|[[http://www.ztex.de/usb-fpga-2/usb-fpga-2.01.e.html|USB-FPGA Module 2.01]]| SPI | up to 6.5 MByte/s | Yes | +
- +
 ===== Hints for Vivado ===== ===== Hints for Vivado =====
 With the default bitstream settings of Vivado configuration from SPI Flash may not work. The required setting can be found in the constraints file ''constraints/usb-fpga-2.xdc'' of the SDK With the default bitstream settings of Vivado configuration from SPI Flash may not work. The required setting can be found in the constraints file ''constraints/usb-fpga-2.xdc'' of the SDK
 
en/ztex_boards/ztex_fpga_boards/standalone.txt · Last modified: 2023/06/23 20:25 by stefan
 
Recent changes RSS feed Creative Commons License Powered by PHP Debian Driven by DokuWiki
[ZTEX Home] [Imprint] [Privacy policy]