Document History
Document is under construction
Date
Version
1.0
Srikanth Erusalagandi
Initial Version (2016.4)
05/22/2107
2.0
Srikanth Erusalagandi
2017.1
1. Summary
This technical article describes the implementation of an Error Correction Control (ECC) module in the Zynq UltraScale+ MPSoC DDR Controller. The reference design provided here detects and corrects all single bit errors (in a codeword consisting of either 64-bit data and 8 parity bits) , and it detects double bit errors in the data. This design utilizes Hamming code, a simple yet powerful method for ECC operations. As a result, this design offers exceptional performance and resource utilization.
Boards/Tools
Xilinx Tools Version
Vivado 2016.42017.1
Board
ZCU102 Rev 1.0, Rev A, Rev B , Rev C and Rev D
Reference Design Download:
File Name: ecc_designfiles.zip
for ZCU102 for Production Silicon and Engineering Sample Silicon Version 2(ES2) on Rev 1.0 board and
Engineering Sample Silicon Version 1(ES1) on Rev B,
4. Requirements:
Linux Host machine
Install the Petalinux software:
1. Open a terminal on your Linux machine and run the following commands.
$ ./petalinux-v2016.4-final-installer.run./petalinux-v2017.1-final-installer.run /opt/
$ source /opt/petalinux-v2016.4-final/settings.sh/opt/petalinux-v2017.1-final/settings.sh
2. Copy the ecc-designfiles.zip file on to your linux machine and run the following commands
$ unzip ecc-designfiles.zip
$ cd $MYWORKSPACE
$ pwd
are in ecc-designfilesecc-design files directory by
3. Type ls and you should see the following directories.
sdk_export
Creating the Petalinux project:
Create a Petalinux project and source the Zynq MPSoC ECC Hardware description file for the ZCU102 board present in the sdk_export directory.
1.0 board with Production Silicon run the project -s xilinx-zcu102-zu9-es2-rev1.0-v2016.4-final1.bspxilinx-zcu102-v2017.1-final.bsp
$ petalinux-config $MYWORKSPACE/sdk_export/rev1.0 –p xilinx-zcu102-zu9-es2-rev1.0-v2016.4-final1xilinx-zcu102-v2017.1-final
b.For Rev 1.0 board with Engineering Sample 2(ES2) Silicon run the following commands.
$ petalinux-create -t project -s xilinx-zcu102-zu9-es2-rev1.0-v2017.1-final1.bsp
$ petalinux-config --get-hw-description $MYWORKSPACE/sdk_export/rev1.0 –p xilinx-zcu102-zu9-es2-rev1.0-v2017.1-final1
b. For Rev AB/C/D board run the following commands
project -s xilinx-zcu102-v2016.4-final1.bspxilinx-zcu102-v2017.1-final1.bsp
$ petalinux-config $MYWORKSPACE/sdk_export/rev_abcd –p xilinx-zcu102-v2016.4-final1xilinx-zcu102-v2017.1-final1
2. When the hardware description file is sourced it launches the system configuration of the Petalinux as shown below.
{petalinux_gethw.PNG} Figure: Petalinux System Configuration Menu