Programming the Programmable Logic

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841833/Programming+the+Programmable+Logic

Programming the Programmable Logic

Confluence Wiki Admin

Last modified Oct 11, 2018 by navam

Table of Contents

Note: xilinx_devcfg.c driver got deprecated in 2018.1 release. Use ZYNQ FPGA manager to program Bitstream into Zynq PL

Introduction

HW IP Features

Known Issues and Limitations

Kernel Configuration Options for Driver

Devicetree

Task Dependencies (Pre-requisites)

Tools Required

Input Files Required

Test procedure

Programming ZYNQ PL through Linux

Programming the PL through the FSBL

Programming the PL through U-Boot

Change Log

2016.3

Related Links

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

devcfg: devcfg@f8007000 {

                        compatible = "xlnx,zynq-devcfg-1.0";

                        interrupt-parent = <&&intc>;

                        interrupts = <0 8 4>;

                        reg = <0xf8007000 0x100>;

                        clocks = <&&clkc 12>, <&&clkc 15>, <&&clkc 16>, <&&clkc 17>, <&&clkc 18>;

                        clock-names = "ref_clk""fclk0""fclk1""fclk2""fclk3";

                        syscon = <&&slcr>;

                };

Task Dependencies (Pre-requisites)

 

Tools Required

 

Input Files Required

 

Test procedure

Programming ZYNQ PL through Linux

Once booted into Linux, write the bitstream file to the devcfg device:

$ cat bitstream.bit > /dev/xdevcfg

After, the prog_done file should indicate that the programming was successful.

$ cat /sys/class/xdevcfg/xdevcfg/device/prog_done

1

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:

U-Boot> fatload mmc 0 0x4000000 bitstream.bit

U-Boot> fpga loadb 0 0x4000000 <bitstream file size>

Change Log

2016.3

  • char: devcfg: Add bitstream version check.

Getting Started
U-Boot
New Horizons Zynq Blog
Partial Reconfiguration Documentation

Platform Specific Documentation
Zynq 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值