05/05/2015 2015.1 Updated for Vivado Design Suite 2015.1. TRD ZIP file changed to rdf0305-kcu105-trd01-2015-1.zip. Updated Information about resource utilization for the base design and the user extension design in Table 1-1 Table 1-2. Added information about Windows 7 driver support of the reference...
Overview The TRD targets the Kintex® UltraScale™ XCKU040-2FFVA1156E FPGA running on the KCU105 evaluation board. It demonstrates a control plane application using a PCI Express Endpoint block in a x1 Gen1 configuration. Simple base address register (BAR)-mapped read and write transactions are demonstrated using a kernel mode software driver controlled by the Control &...
Download the Targeted Reference Design Files 1. Download rdf0305-kcu105-trd01-2017-2.zip from the Xilinx Kintex UltraScale FPGA KCU105 Evaluation Kit - Documentation & Designs website. This ZIP file contains the hardware design, software drivers, and application GUI executables. 2. Extract the contents of the file to a working directory.
6. After installation is complete, click Finish to exit the InstallShield Wizard. Set DIP Switches Ensure that the DIP switches and jumpers on the KCU105 board are set to the factory default settings as identified in the Kintex UltraScale FPGA KCU105 Evaluation Board User...
Page 12
1. Remove all rubber feet and standoffs from the KCU105 board. 2. Power down the host chassis and disconnect the power cord. Remove the power cord to prevent electrical shock or damage to the KCU105 board or other CAUTION! components.
Page 13
ATX power supply. X-Ref Target - Figure 2-4 UG918_c3_02_040715 Figure 2-4: Power Supply Connection to the KCU105 Board 7. Slide the KCU105 board power switch SW1 to the ON position (ON/OFF is marked on the board). PCI Express Control Plane TRD www.xilinx.com Send Feedback UG918 (v2017.2) July 18, 2017...
If an external power supply is used instead of the ATX power, the FPGA can be configured Note: first. Then power on the host system. 2. Place the Fedora 20 LiveDVD into the DVD drive. 3. Select the option to boot from DVD. PCI Express Control Plane TRD www.xilinx.com Send Feedback UG918 (v2017.2) July 18, 2017...
Configure the FPGA While in BIOS, program the FPGA with the BIT file: 1. Connect the standard-A plug to micro-B plug USB cable to the JTAG port on the KCU105 board and to the control computer laptop as shown in Figure 3-1.
Page 16
Bringing Up the Design 2. Launch the Vivado® Integrated Design Environment (IDE) on the control computer: a. Select Start > All Programs > Xilinx Design Tools > Vivado 2017.2 > Vivado 2017.2. b. On the getting started page, click Open Hardware Manager (Figure 3-2).
Page 17
Chapter 3: Bringing Up the Design 3. Open the connection wizard to initiate a connection to the KCU105 board: a. Click Open New Target (Figure 3-3). X-Ref Target - Figure 3-3 UG918_c3_05_070717 Figure 3-3: Using the User Assistance Bar to Open a Hardware Target PCI Express Control Plane TRD www.xilinx.com...
Page 18
Chapter 3: Bringing Up the Design 4. Configure the wizard to establish connection with the KCU105 board by selecting the default value on each wizard page. Click Next > Next > Next > Finish. a. In the hardware view, right-click xcku040 and click Program Device (Figure 3-4).
Page 19
UG918_c3_07_070717 Figure 3-5: Program Device Window 5. Check the status of the design by observing the GPIO LEDs positioned at the top right corner of the KCU105 board (Figure 3-6). After FPGA configuration, the LED status from left to right indicate LED position 1: Heartbeat LED, flashes if the PCIe user clock is present °...
Page 20
To know that the PCIe Endpoint is discovered, see Check for PCIe Devices, page ° If the PCIe Endpoint is not discovered, reboot the system. Do not power off. ° PCI Express Control Plane TRD www.xilinx.com Send Feedback UG918 (v2017.2) July 18, 2017...
$ lspci | grep -i xilinx The following is displayed: 03:00.0 Memory controller: Xilinx Corporation Device 8011 If the host computer does not detect the Xilinx PCIe Endpoint, does not show a Note: lspci Xilinx device.
Page 22
Click Install and the drivers are installed. This takes you to the Control and Monitoring GUI as shown in Figure 3-12, page X-Ref Target - Figure 3-8 UG918_c3_10_021815 Figure 3-8: TRD Setup Screen with a PCIe Device Detected PCI Express Control Plane TRD www.xilinx.com Send Feedback UG918 (v2017.2) July 18, 2017...
Page 23
2. Open Device Manager (click Start > devmgmt.msc then press Enter) and look for the Xilinx PCI Express Device as shown in Figure 3-9. X-Ref Target - Figure 3-9 UG918_c3_11_040715 Figure 3-9: Xilinx PCI Express Device in Device Manager PCI Express Control Plane TRD www.xilinx.com Send Feedback UG918 (v2017.2) July 18, 2017...
Page 24
Bringing Up the Design 3. Open a command prompt with administrator privileges, as shown in Figure 3-10. X-Ref Target - Figure 3-10 UG918_c3_12_040715 Figure 3-10: Command Prompt with Administrator Privileges PCI Express Control Plane TRD www.xilinx.com Send Feedback UG918 (v2017.2) July 18, 2017...
Page 25
This step takes you to the Control and Monitoring GUI as shown in Figure 3-12, page X-Ref Target - Figure 3-11 UG918_c3-13_040715 Figure 3-11: GUI - TRD Setup Screen PCI Express Control Plane TRD www.xilinx.com Send Feedback UG918 (v2017.2) July 18, 2017...
GUI to the TRD Setup screen. Close the TRD Setup screen and power off the host machine and then the KCU105 board. On a Windows host computer, this step returns to the TRD Setup screen.
Page 27
Bringing Up the Design Remove Drivers from the Host Computer (Windows Only) Shutdown the host computer and power off the KCU105 board. Then use the following IMPORTANT: steps to remove the Windows drivers. 1. Power on the host computer and from Windows Explorer, navigate to the folder in which the reference design is downloaded (<dir>\kcu105_control_plane\software\windows\).
4. To run the implementation flow, enter: $ vivado -source trd01_base.tcl This opens the Vivado Integrated Design Environment (IDE), loads the block diagram, and adds the required top file and Xilinx design constraints (XDC) file to the project (see Figure 4-1).
Page 29
Chapter 4: Implementing and Simulating the Design X-Ref Target - Figure 4-1 UG918_c4_01_070717 Figure 4-1: Base Design—Project View PCI Express Control Plane TRD www.xilinx.com Send Feedback UG918 (v2017.2) July 18, 2017...
Page 30
No Implementation Results are available is displayed. The generated bitstream can be found under the following directory: kcu105_control_plane/hardware/vivado/runs_base/trd01.runs/impl_1. X-Ref Target - Figure 4-2 UG918_c4_02_070717 Figure 4-2: Base Design—Generate Bitstream PCI Express Control Plane TRD www.xilinx.com Send Feedback UG918 (v2017.2) July 18, 2017...
This opens the Vivado IDE, loads the block diagram, and adds the required top file and XDC file to the project (see Figure 4-3). X-Ref Target - Figure 4-3 UG918_c4_03_070717 Figure 4-3: User Extension Design—Project View PCI Express Control Plane TRD www.xilinx.com Send Feedback UG918 (v2017.2) July 18, 2017...
The test bench initializes the bridge, does one double word (DW) write to BAR-mapped address space, reads back from the same address, and compares the data with expected pattern. PCI Express Control Plane TRD www.xilinx.com Send Feedback UG918 (v2017.2) July 18, 2017...
Page 33
This opens the Vivado IDE with the target simulator set to the Vivado Simulator (Figure 4-5). X-Ref Target - Figure 4-5 UG918_c4_05_070717 Figure 4-5: Base Design Project Settings for Simulation PCI Express Control Plane TRD www.xilinx.com Send Feedback UG918 (v2017.2) July 18, 2017...
Page 34
The result is shown in Figure 4-6. X-Ref Target - Figure 4-6 UG918_c4_06_070717 Figure 4-6: Base Design Behavioral Simulation using the Vivado Simulator PCI Express Control Plane TRD www.xilinx.com Send Feedback UG918 (v2017.2) July 18, 2017...
Figure 5-1 identifies the different TRD hardware design components. Subsequent sections discuss each of the components in detail. X-Ref Target - Figure 5-1 KCU105 Evaluation Board XCKU040-2FFVA1156E FPGA UG918_c5_01_021315 Figure 5-1: TRD Functional Block Diagram PCI Express Control Plane TRD www.xilinx.com...
Page 36
Table 5-1: Address Translation Maps Ingress Source Base Ingress Destination Base Comments BAR2 PCIe BAR2 mapped to power monitor slave 0x44A00000 BAR4 PCIe (BAR4) mapped to AXI block RAM 0xC0000000 PCI Express Control Plane TRD www.xilinx.com Send Feedback UG918 (v2017.2) July 18, 2017...
Page 37
Converting AXI3 transactions from AXI-PCIe bridge into AXI4 transactions for various slaves • Decoding address to target appropriate slave See LogiCORE IP AXI Interconnect Product Guide (PG059) [Ref 7] for more details. PCI Express Control Plane TRD www.xilinx.com Send Feedback UG918 (v2017.2) July 18, 2017...
Page 38
The block provides analog-to-digital conversion and monitoring capabilities. It enables reading of voltage and current on different power supply rails (supported on the KCU105 board) which are then used to calculate power. A lightweight PicoBlaze™ controller is used to set up the SYSMON registers in continuous sequence mode and read various rail data periodically.
1. The GUI issues a READ system call to read BAR-mapped registers based on your input. 2. The Character driver reads appropriate BAR-mapped registers and conveys the readings to the GUI. 3. The GUI displays the read BAR-mapped register information. PCI Express Control Plane TRD www.xilinx.com Send Feedback UG918 (v2017.2) July 18, 2017...
In Linux, the GUI installs the selected design mode drivers and can configure and ° control device and test parameters. In Windows, the GUI can configure and control device and test parameters. ° PCI Express Control Plane TRD www.xilinx.com Send Feedback UG918 (v2017.2) July 18, 2017...
XIo_Out32((bar0_addr +REG_BRDG_BASE + REG_INGR_AXI_BASE + SECOND_TRANS +OFFSET_INGR_AXI_DST_LO ), 0xD0000000); This maps the newly added block RAM controller to BAR4. With this minor change, the same GUI can be used for read/write access. PCI Express Control Plane TRD www.xilinx.com Send Feedback UG918 (v2017.2) July 18, 2017...
Page 42
The display from the software driver can be seen in the system dmesg log. The ability to read multiple user registers or block RAM controllers is not supported by the GUI, and the aperture size is currently limited to 4K. PCI Express Control Plane TRD www.xilinx.com Send Feedback UG918 (v2017.2) July 18, 2017...
Page 43
Table A-1. For a detailed description of each folder, see the Readme file. X-Ref Target - Figure A-1 kcu105_control_plane Figure A-1: TRD Directory Structure PCI Express Control Plane TRD www.xilinx.com Send Feedback UG918 (v2017.2) July 18, 2017...
Page 44
Contains scripts to create a Vivado Design Suite project and outputs of Vivado runs ready to test Contains the BIT file to program the KCU105 PCI Express® Control Plane application software Contains software design deliverables for Linux and Windows...
1. If the GUI does not detect the board, open Device Manager and see if the drivers are loaded under Xilinx PCI Express Device. 2. If the drivers are not loaded, check the PCIe Link Up LED on the board (see Figure 3-6).
Xilinx’s Terms of Sale which can be viewed at http://www.xilinx.com/legal.htm#tos; IP cores may be subject to warranty and support terms contained in a license issued to you by Xilinx. Xilinx products are not designed or intended to be fail-safe or for use in any application requiring fail-safe performance;...