de     

Differences

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

Link to this comparison view

Both sides previous revisionPrevious 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/14 20:14] 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 memory 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]