Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
reference:programmable-logic:eclypse-z7:start [2019/12/04 12:53]
Arthur Brown
reference:programmable-logic:eclypse-z7:start [2020/07/24 09:28] (current)
Arthur Brown [Example Projects]
Line 16: Line 16:
 | Bullet = 2 SYZYGY Standard Interfaces for high-speed data transfer in modular systems | Bullet = 2 SYZYGY Standard Interfaces for high-speed data transfer in modular systems
 | Bullet = 2 Pmod connectors for additional system modularity | Bullet = 2 Pmod connectors for additional system modularity
-| Bullet = 1 GB DDR3L with 32-bit bus @ 1066 Mhz+| Bullet = 1 GB DDR3L with 32-bit bus @ 1066 MT/s
 | Bullet = USB and Ethernet connectivity | Bullet = USB and Ethernet connectivity
 | Bullet = Programmable from JTAG, Quad-SPI flash, and microSD card | Bullet = Programmable from JTAG, Quad-SPI flash, and microSD card
Line 27: Line 27:
 | Block RAM = 630 KB | Block RAM = 630 KB
 | DSP Slices = 220 | DSP Slices = 220
-| Clock Resources = Zynq PLL with 4 outputs \\ 4 PLLs \\ 4 MMCMs \\ 125 MHz external clock +| Clock Resources = Zynq PLL with 4 outputs \\ 4 PLLs \\ 4 MMCMs \\ 125 <​nowiki>​MHz</​nowiki> ​external clock 
-| Internal ADC = Dual-channel,​ 1 MSPS+| Internal ​<​nowiki>​ADC</​nowiki> ​= Dual-channel,​ 1 MSPS
  
 | Header = Connectivity | Header = Connectivity
Line 37: Line 37:
  
 | Header = Memories | Header = Memories
-| DDR3 = 1024 MB / 1066 Mbps +| DDR3 = 1024 <​nowiki>​MB</​nowiki> ​/ 1066 MT/s 
-| QSPI Flash = 16 MB+| QSPI Flash = 16 <​nowiki>​MB</​nowiki>​
 | SD = microSD card connector | SD = microSD card connector
  
Line 61: Line 61:
   * [[getting-started-guide|Eclypse Z7 Getting Started Guide]]   * [[getting-started-guide|Eclypse Z7 Getting Started Guide]]
   * [[reference-manual]]   * [[reference-manual]]
 +  * [[git|Eclypse Z7 Git Repository Documentation]]
   * [[https://​www.xilinx.com/​support/​documentation/​data_sheets/​ds180_7Series_Overview.pdf|Xilinx 7 Series FPGAs Data Sheet: Overview]]   * [[https://​www.xilinx.com/​support/​documentation/​data_sheets/​ds180_7Series_Overview.pdf|Xilinx 7 Series FPGAs Data Sheet: Overview]]
   * [[https://​github.com/​Digilent/​digilent-xdc|Master XDC Files for Digilent Boards]]   * [[https://​github.com/​Digilent/​digilent-xdc|Master XDC Files for Digilent Boards]]
Line 66: Line 67:
   * {{reference:​programmable-logic:​eclypse-z7:​eclypse_z7_sch.pdf|Eclypse Z7 Schematic}}   * {{reference:​programmable-logic:​eclypse-z7:​eclypse_z7_sch.pdf|Eclypse Z7 Schematic}}
   * {{https://​digilent.s3-us-west-2.amazonaws.com/​resources/​programmable-logic/​eclypse/​Eclypse-PMCU-Specification-Public.pdf|Eclypse Platform MCU Specification}}   * {{https://​digilent.s3-us-west-2.amazonaws.com/​resources/​programmable-logic/​eclypse/​Eclypse-PMCU-Specification-Public.pdf|Eclypse Platform MCU Specification}}
 +  * {{:​reference:​programmable-logic:​eclypse-z7:​decutil.1.pdf|Digilent Eclypse Utility (decutil) Manual}}
 +    * //The Digilent Eclypse Utility is a command line tool available within Digilent-provided Linux system images that allows the user to communicate with the Eclypse PMCU.//
 +  * {{ :​reference:​programmable-logic:​eclypse-z7:​eclypse_z7_enclosure_assembly_guide.pdf | Eclypse Z7 Enclosure Assembly Guide}}
  
 ---- ----
Line 71: Line 75:
 ===== Peripherals ===== ===== Peripherals =====
  
-  * The Eclypse Z7 is compatible with [[reference:​zmod:​start|Digilent Zmods]], as well as other modules that conform to Opal Kelly'​s [[https://​syzygyfpga.io|SYZYGY Standard Specification]].+  * The Eclypse Z7 is compatible with [[reference:​zmod:​start|Digilent Zmods]], as well as other modules that conform to Opal Kelly'​s [[https://​syzygyfpga.io|SYZYGY Standard Specification]]. A list of Digilent Zmods can be found through their start page, linked above. Digilent provides IP cores, hierarchical blocks, software libraries, and example projects to support the use of each Digilent Zmod. Guides and documentation on the use of these systems can be found below.
  
   * The Eclypse Z7 is compatible with modules that conform to Digilent'​s Pmod™ Specification,​ including Digilent'​s line of [[reference:​pmod:​start|Pmods]].   * The Eclypse Z7 is compatible with modules that conform to Digilent'​s Pmod™ Specification,​ including Digilent'​s line of [[reference:​pmod:​start|Pmods]].
Line 77: Line 81:
 ---- ----
  
-===== Tutorials and Guides ​===== +===== Development Environments ​===== 
- +**Important:​** //The Eclypse Z7's tutorials, projects, and system images target Vivado 2019.1, Xilinx SDK 2019.1, ​and Petalinux 2019.1, and are not officially supported in other versions of Vivado.//
-**Important:​** //The Eclypse Z7's tutorials, projects, and system images target Vivado 2019.1 and Petalinux 2019.1, and are not officially supported in other versions of Vivado.//+
 \\ \\ \\ \\
-=== Setting Up Development Environments === +== Vivado and Xilinx SDK ==
-==Vivado and Xilinx SDK==+
   * [[:​vivado:​installing-vivado:​start]] covers first-time installation of Vivado, Xilinx SDK, and board files to support Vivado IPI flows for Digilent boards.   * [[:​vivado:​installing-vivado:​start]] covers first-time installation of Vivado, Xilinx SDK, and board files to support Vivado IPI flows for Digilent boards.
  
-==Petalinux==+== Petalinux ==
   * Petalinux is a tool created by Xilinx, used for the creation and modification of Linux images for Xilinx chips, including the Zynq-7000. \\ Xilinx'​s [[https://​www.xilinx.com/​support/​documentation/​sw_manuals/​xilinx2019_1/​ug1144-petalinux-tools-reference-guide.pdf|Petalinux Tools Reference Guide (UG1144)]] covers installation and usage of Petalinux. Chapter 2 discusses the installation process. \\ **Note:** //For Windows users, Digilent recommends the use of either a dual-boot Linux setup or virtual machine that fits the requirements specified in UG1144, linked above.//   * Petalinux is a tool created by Xilinx, used for the creation and modification of Linux images for Xilinx chips, including the Zynq-7000. \\ Xilinx'​s [[https://​www.xilinx.com/​support/​documentation/​sw_manuals/​xilinx2019_1/​ug1144-petalinux-tools-reference-guide.pdf|Petalinux Tools Reference Guide (UG1144)]] covers installation and usage of Petalinux. Chapter 2 discusses the installation process. \\ **Note:** //For Windows users, Digilent recommends the use of either a dual-boot Linux setup or virtual machine that fits the requirements specified in UG1144, linked above.//
  
 ---- ----
-=== Software ​=== +===== Example Projects ​===== 
-  * [[developing-software]] + 
-    This tutorial covers using Xilinx SDK to develop ​and run applications ​on an Eclypse Z7 running ​a Petalinux ​image.+There are three categories of example project available for the Eclypse Z7, //Petalinux Software Projects//, //Baremetal Software Projects//, and //​Standalone Hardware Projects//​. 
 + 
 +  * //Petalinux Software Projects// target an Eclypse running a Linux <​nowiki>​OS</​nowiki>​ from an SD card, and at minimum require Xilinx SDK and a prebuilt Linux image to be built and run on the board. Changes to the hardware design require the use of Vivado and Petalinux to build the hardware and reconfigure the <​nowiki>​OS</​nowiki>​ for the modifications. 
 +  //Baremetal Software Projects// use the Zynq Processing System (PS) and Programmable Logic (PL), and at minimum require ​Xilinx SDK and a prebuilt hardware handoff file (HDF) to be built and run on the board. Changes to the hardware design require the use of Vivado to modify and build the new new hardware, and to export a new HDF. 
 +  * //​Standalone Hardware Projects// use only the Zynq Programmable Logic (PL), and require Vivado to be built and run on the board. 
 + 
 +The table below lists each demo available for the Eclypse Z7
 + 
 +^ Demo Name ^ Type of Project ^ Description ^ Setup Instructions ^ 
 +| Zmod <​nowiki>​ADC</​nowiki>​ Demo | Baremetal and Petalinux Software | Captures data from the <​nowiki>​ADC</​nowiki>​ and writes it out to file and standard out. | Found in Section 3 of the [[reference:​zmod:​zmodbaselibraryuserguide]] | 
 +| Zmod <​nowiki>​DAC</​nowiki>​ Demo | Baremetal and Petalinux ​Software | Outputs a ramp waveform through one of the <​nowiki>​DAC</​nowiki>​ channels| Found in Section 3 of the [[reference:​zmod:​zmodbaselibraryuserguide]] | 
 +| Out-of-Box Demo | Baremetal Software | Programmed into Flash during manufacturing. Can be used to ensure that the board is functional. | Found in the [[https://​github.com/​Digilent/​Eclypse-Z7-HW/​tree/​oob/​master|OOB Demo's Github README]] | 
 +| Low Level Zmod <​nowiki>​ADC</​nowiki>​ + <​nowiki>​DAC</​nowiki>​ Demo | Standalone Hardware | Captures data from the <​nowiki>​ADC</​nowiki>,​ and outputs the result of passing that signal through a FIR filter through the <​nowiki>​DAC</​nowiki>​. | [[reference:​programmable-logic:​eclypse-z7:​low_level_zmod_adc_dac]] |
  
 ---- ----
 +===== Tutorials, Guides, and Documentation for the Eclypse Platform =====
 +
 +=== Software ===
 +
 +  * [[reference:​zmod:​zmodbaselibraryuserguide]]
 +    * The documentation of the Zmod Base Library includes the steps necessary to to run one of several Digilent-provided software examples on the Eclypse Platform.
 +
 === Hardware === === Hardware ===
 +
   * [[:​vivado:​getting-started-with-ipi:​start]]   * [[:​vivado:​getting-started-with-ipi:​start]]
-    * This tutorial covers the creation of a basic baremetal application that blinks an LED. Vivado IPI is used to design the system and Xilinx SDK is used to develop the application. +    * This tutorial covers the creation of a basic baremetal application that blinks an <​nowiki>​LED</​nowiki>​. Vivado IPI is used to design the system and Xilinx SDK is used to develop the application
-  * [[customizing-zmods|Customizing the Eclypse System'​s Zmods]] +  * [[learn:​programmable-logic:​tutorials:​vivado-hierarchical-blocks:​start]] 
-    * This tutorial covers the steps necessary to add support for a selected Zmod to the Eclypse Z7 Base Vivado Project and Eclypse Z7 Base Petalinux ​image.+    * This tutorial covers the addition of a hierarchical block supporting a specific peripheral, whether Pmod or Zmod, to an existing IPI design, adding required library source files to a baremetal Xilinx SDK application project, and running an example on the board
 +  * [[customizing-zmods-os|]] 
 +    * This tutorial covers the steps necessary to configure and build the Eclypse Z7 Petalinux ​project to support a new Zmod configuration.
  
 ---- ----
 === Additional Guides === === Additional Guides ===
   * [[:​vivado:​getting_started:​start]]   * [[:​vivado:​getting_started:​start]]
-    * This tutorial covers the creation of a basic design that blinks an LED, written in an RTL language. The processor is not used.+    * This tutorial covers the creation of a basic design that blinks an <​nowiki>​LED</​nowiki>​, written in an RTL language. The processor is not used.
   * [[learn:​programmable-logic:​tutorials:​pmod-ips:​start]]   * [[learn:​programmable-logic:​tutorials:​pmod-ips:​start]]
-    * This tutorial covers the basics of Pmod IPs, Creating a simple Vivado IPI design and Xilinx SDK application to run an example on the board. +    * This tutorial covers the basics of Pmod IPs, Creating a simple Vivado IPI design and Xilinx SDK application to run an example on the board. Pmod IPs are not supported by default in Petalinux.
-  * [[learn:​programmable-logic:​tutorials:​vivado-hierarchical-blocks:​start]] +
-    * This tutorial covers the addition of a hierarchical block supporting a specific peripheral, whether ​Pmod or Zmod, to an existing IPI design, adding required library source files to a baremetal Xilinx SDK application project, and running an example on the board. +
-    * **Note**: //The steps necessary to add support for the selected peripheral into Petalinux ​are not covered.// +
- +
----- +
-===== Example Projects ===== +
-  * [[git|Eclypse Z7 Git Repository Documentation]] +
-    * //The Eclypse Z7 repository on GitHub contains each demo project targeting the Eclypse Z7, each on a different branch. The document linked above describes how to navigate this repository, and use its contents.//​ +
- +
-==== Software Demos ==== +
-FIXME //Bulleted list of demo projects that use SDK// +
- +
-==== Hardware Demos ==== +
-FIXME //Bulleted list of demo projects that do not use SDK//+
  
 ---- ----
 ===== Additional Resources ===== ===== Additional Resources =====
   * [[https://​github.com/​Digilent/​Eclypse-Z7-OOB|Eclypse Z7 Out-of-Box Demo (GitHub)]]   * [[https://​github.com/​Digilent/​Eclypse-Z7-OOB|Eclypse Z7 Out-of-Box Demo (GitHub)]]
 +  * {{eclypsez7_pcbas_a5.pdf|Mechanical Diagrams for the Eclypse Z7}}
  
 ---- ----