https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841833/Programming+the+Programmable+Logic
Programming the Programmable Logic
Last modified Oct 11, 2018 by navam
Table of Contents
Kernel Configuration Options for Driver
Task Dependencies (Pre-requisites)
Programming ZYNQ PL through Linux
Programming the PL through the FSBL
Programming the PL through U-Boot
Solution Zynq7000 PL Programming
Note: xilinx_devcfg.c driver got deprecated in 2018.1 release. Use ZYNQ FPGA manager to program Bitstream into Zynq PL
Introduction
The Zynq Programmable Logic (PL) can be programmed by the First Stage Bootloader (FSBL), U-Boot or through Linux. Programming the PL at different stages may be advantageous for different projects and workflows.
HW IP Features
- Full Bitstream and partial Bitstream loading.
- Encrypted and Authenticated Bitstream loading.
Known Issues and Limitations
- Not support Partial,Encrypted,Authenticated Bitstream programming.
Kernel Configuration Options for Driver
Device Drivers ---> Character devices ---> <*> Xilinx Device Configuration
Devicetree
|
Task Dependencies (Pre-requisites)
Tools Required
Input Files Required
- fsbl.elf
- bitstream.bit
- If using U-Boot
- If using Linux
Test procedure
Programming ZYNQ PL through Linux
Once booted into Linux, write the bitstream file to the devcfg device:
|
After, the prog_done file should indicate that the programming was successful.
|
Programming the PL through the FSBL
The First Stage Boot-Loader (FSBL) is capable of programming the PL before loading U-Boot, which may be necessary for some applications. To have the FSBL load the PL, include the bitstream file when generating boot.bin and boot normally.
References:
Programming the PL through U-Boot
Load the bitstream into memory and then use fpga loadb to program the PL; for example:
|
Change Log
2016.3
- char: devcfg: Add bitstream version check.
Related Links
Getting Started
U-Boot
New Horizons Zynq Blog
Partial Reconfiguration Documentation
Platform Specific Documentation
Zynq