Vivado Design Suite Tutorial - University Of New Mexico

1y ago
11 Views
2 Downloads
619.90 KB
13 Pages
Last View : 17d ago
Last Download : 3m ago
Upload by : Gia Hauser
Transcription

Vivado DesignSuite TutorialPartial Reconfiguration onZed Board*This document is based on the Xilinx document UG947: Vivado Design Suite Tutorial on Partial Reconfiguration

Table of Contents1Objectives . 22Vivado Partial Reconfiguration - Documentation . 23Tutorial. 23.1Led Shift Count. 23.1.1Extract the Tutorial Design files . 23.1.2Synthesize the Design. 23.1.3Assemble the Design . 33.1.4Build the Design Floorplan . 63.1.5Implement the First Configuration . 83.1.6Implement the Second Configuration . 103.1.7Generate Bitstreams . 103.1.8Partial Reconfiguration of the FPGA . 111 PagePartial Reconfigurationon Zed Board

1 Objectives Implement a project that can be dynamically reconfigured using the Zed Board.Learn the Partial Reconfiguration (PR) flow with the Vivado TCL console.2 Vivado Partial Reconfiguration - Documentation UG909: Vivado Design Suite User Guide – Partial Reconfiguration.UG947: Vivado Design Suite Tutorial – Partial Reconfiguration. You can follow this for theXilinx-provided ug947-vivado-partial-reconfiguration-tutorial.zip file (this is a Verilog design forthe KC705 demonstration board)3 Tutorial3.1 Led Shift Count3.1.1 3.1.2 Extract the Tutorial Design filesExtract the zip file contents from Dynamic PR Tutorial to any write-accessible location.Synthesize the DesignOpen the Vivado TCL Shell. Navigate to the /led shift count directory.Run the design.tcl script by entering: source design.tcl –notrace. This will Synthesize thedesign and create output files in the /Synthesis folder. The ‘top’ design will be created with ablank circuit for the Reconfigurable Partition.Fig 1. Vivado TCL Shell2 PagePartial Reconfigurationon Zed Board

3.1.3 Assemble the DesignOpen the Vivado IDE by entering start gui in Vivado TCL Shell.Fig 2. Vivado TCL Shell after sourcing the design.tcl file3 PagePartial Reconfigurationon Zed Board

Load the static design by issuing the following command in the Tcl Console:open checkpoint Synth/Static/top synth.dcpFig 3. Vivado TCL ConsoleFig 4. Vivado after opening the Checkpoint4 PagePartial Reconfigurationon Zed Board

o You can see the design structure in the Netlist pane, but black boxes exist for theinst shift and inst count modules. Note that the Flow Navigator pane is not present.You are working in non-project mode.o Two critical warnings are issued regarding unmatched instances. These instances arethe Reconfigurable Modules that have yet to be loaded, and you can therefore ignorethese warnings safely.Load the synthesized checkpoints for first Reconfigurable Module variants for each ofreconfigurable partitions:read checkpoint -cell inst shift Synth/shift right/shift synth.dcpread checkpoint -cell inst count Synth/count up/count synth.dcpFig 5. Read Checkpoints Define each of these submodulesHD.RECONFIGURABLE property:aspartiallyreconfigurablebysettingtheset property HD.RECONFIGURABLE 1 [get cells inst shift]set property HD.RECONFIGURABLE 1 [get cells inst count] Save the assembled design state for this initial configuration:write checkpoint ./Checkpoint/top link right up.dcp5 PagePartial Reconfigurationon Zed Board

3.1.4Build the Design FloorplanHere, you create a floorplan to define the regions that will be partially reconfigured. Select the inst count instance in the Netlist pane. Right click and select: Floorplanning DrawPblock and draw a tall narrow box. The exact size and shape do not matter at this point, butkeep the box within the clock region.Fig 6. Draw Pblock for inst countIn the Properties pane, select the checkbox for RESET AFTER RECONFIG. This will utilize thededicated initialization of the logic in this module after reconfiguration has completed .Fig 7. Set Reset after Reconfiguration6 PagePartial Reconfigurationon Zed Board

Repeat the above to steps for inst shift instance. Fig 8. Draw Pblock for inst shiftRun PR Design Rule Checks by selecting Tools Report Report DRC. You can uncheck All Rulesand then check Partial Reconfiguration to focus this report strictly on PR DRCs.Fig 9. Report DRC7 PagePartial Reconfigurationon Zed Board

To avoid the DRC warning automatically by setting the SNAPPING MODE feature whichautomatically adjusts the size and shape of reconfigurable Pblocks to align with legalboundaries. It will make the Pblock taller, aligning with clock region boundaries, if theRESET AFTER RECONFIG feature is selected. It will make the Pblock narrower, adjusting leftand/or right edges as needed. Note that the number and type of resources available will bealtered if SNAPPING MODE makes changes to the Pblock.Fig 10. Set Snapping modeSelect the Pblock for inst count, and in the Properties tab of the Pblock Properties pane,change the value of SNAPPING MODE from OFF to ROUTING (or ON). Repeat same forinst shift instance. Then Run PR Design Check again.Save these Pblock definitions and its associated properties on a .xdc file:write xdc ./Sources/xdc/fplan.xdc3.1.5 Implement the First ConfigurationLoad the top-level constraint file by issuing the command:read xdc Sources/xdc/top io.xdc Optimize, place, and route the design. Notice the Partition Pins (interface points betweenstatic and dynamic regions)opt designplace designroute design8 PagePartial Reconfigurationon Zed Board

Save the full design checkpoint and create report files:write checkpoint -force Implement/Config shift right count up/top route design.dcpreport utilization -file Implement/Config shift right count up/top utilization.rptreport timing summary –fileImplement/Config shift right count up/top timing summary.rptAt this point, you can use the static portion of this configuration for all subsequent configurations(variants of the circuit with different RMs for each RP). We need to isolate the static design byremoving the Reconfigurable Modules: Clear out Reconfigurable Module logic:update design -cell inst shift -black boxupdate design -cell inst count -black boxFig 11. Updated designLock down all placement and routing. This is an important step to guarantee consistency fordifferent RMs for each RP.lock design -level routing Write out the remaining static-only checkpoint (this checkpoint will be used for any futureconfigurations).write checkpoint -force Checkpoint/static route design.dcp9 PagePartial Reconfigurationon Zed Board

3.1.6 Implement the Second ConfigurationWith the locked static design open in memory, read in post-synthesis checkpoints for the othertwo Reconfigurable Modules.read checkpoint -cell inst shift Synth/shift left/shift synth.dcpread checkpoint -cell inst count Synth/count down/count synth.dcp Optimize, place, and route the design. Notice the Partition Pins (interface points betweenstatic and dynamic regions)opt designplace designroute design Save the full design checkpoint and create report files:write checkpoint –force Implement/Config shift left count down/top route design.dcpreport utilization -file Implement/Config shift left count down/top utilization.rptreport timing summary -fileImplement/Config shift left count down/top timing summary.rpt At this point, you have implemented the static design and all Reconfigurable Module variants.This process would be repeated for designs that have more than two Reconfigurable Modulesper RP, or more RPs. Close the current design:close project3.1.7 Generate BitstreamsRun the pr verify command from the Tcl Console:pr verify Implement/Config shift right count up/top route design.dcpImplement/Config shift left count down/top route design.dcp Read the first configuration into memory:open checkpoint Implement/Config shift right count up/top route design.dcp Generate full and partial bitstreams for this design.write bitstream –force -file Bitstreams/Config RightUp.bitclose project10 P a g ePartial Reconfigurationon Zed Board

Notice the three bitstreams have been created:o Config RightUp.bit - This is the power-up, full design bitstream.o Config RightUp pblock inst shift partial.bit - This is the partial bit file for theshift right module.o Config RightUp pblock inst count partial.bit - This is the partial bit file for thecount up module.Read the Second configuration into memory:open checkpoint Implement/Config shift left count down/top route design.dcp Generate full and partial bitstreams for this design.write bitstream –force -file Bitstreams/Config LeftDown.bitclose project Generate a full bitstream with a blackbox for the RP, plus blanking bitstreams for the RMs,these can be used to erase an existing configuration to reduce power consumption:open checkpoint Checkpoint/static route design.dcpupdate design -cell inst count -buffer portsupdate design -cell inst shift -buffer portsplace designroute designwrite checkpoint –force Checkpoint/Config black box.dcpwrite bitstream –force -file Bitstreams/config black box.bitclose project3.1.8 Partial Reconfiguration of the FPGAFrom the main Vivado IDE, select Flow Open Hardware Manager.Fig 12. Open Hardware Manager11 P a g ePartial Reconfigurationon Zed Board

Select Open Target open new target on the green banner. Follow the steps in the wizard toestablish communication with the board.Fig 13. Open New Target Select Program device on the green banner and pick the xc7z020 1. Navigate to the Bitstreamsfolder to select Config RightUp.bit, then click OK to program the device.You should now see the bank of GPIO LEDs performing two tasks. Four LEDs are performing acounting-up function (MSB is on the left), and the other four are shifting to the right. Note theamount of time it took to configure the full device.At this point, you can partially reconfigure the active device with any of the partial bitstreams thatyou have created. Select Program device on the green banner again. Navigate to the Bitstreams folder to selectConfig LeftDown pblock inst shift partial.bit, then click OK to program the device.o The shift portion of the LEDs has changed direction, but the counter kept counting up,unaffected by the reconfiguration. Note the much shorter configuration time.Select Program device on the green banner again. Navigate to the Bitstreams folder to selectConfig LeftDown pblock inst count partial.bit, then click OK to program the device.o The counter is now counting down, and the shifting LEDs were unaffected by thereconfiguration. This process can be repeated with the Config RightUp partial bit filesto return to the original configuration, or with the blanking partial bit files to stopactivity on the LEDs (they will stay on).*This document is based on the Xilinx document UG947: Vivado Design Suite Tutorial on Partial Reconfiguration12 P a g ePartial Reconfigurationon Zed Board

2 Vivado Partial Reconfiguration - Documentation UG909: Vivado Design Suite User Guide - Partial Reconfiguration. UG947: Vivado Design Suite Tutorial - Partial Reconfiguration. You can follow this for the Xilinx-provided ug947-vivado-partial-reconfiguration-tutorial.zip file (this is a Verilog design for

Related Documents:

For more information about the Vivado IDE and the Vivado Design Suite flow, see: Vivado Design Suite User Guide: Using the Vivado IDE (UG893) [Ref 4] Vivado Design Suite User Guide: Design Flows Overview (UG892) [Ref 12] Simulation Flow Simulation can be applied at several points in the design flow. It is one of the first steps after .

For more information about the Vivado IDE and the Vivado Design Suite flow, see: Vivado Design Suite User Guide: Using the Vivado IDE (UG893) [Ref 3] Vivado Design Suite User Guide: Design Flows Overview (UG892) [Ref 11] Simulation Flow Simulation can be applied at several points in the design flow. It is one of the first steps after .

Vivado Design Suite 2016.2 Release Notes www.xilinx.com 5 UG973 (v2016.2) June 8, 2016 Chapter 1 Release Notes 2016.2 What's New Vivado Design Suite 2016.2 and updated UltraFast Design Methodology Guide for the Vivado Design Suite (UG949) [Ref 1] Available Now. Get Vivado Design Suite 2016.2 with support for Virtex UltraScale and Defense-Grade .

See the Vivado Design Suite User Guide: Release Notes, Installation, and Licensing (UG973) for a complete list and description of the system and software requirements. Configuring MATLAB to the Vivado Design Suite Before you begin, you should verify that MATLAB is configured to the Vivado Design Suite. Do the following: 1. Configure MATLAB.

those objects, in the Xilinx Vivado Design Suite. It consists of the following: Chapter 1, Vivado Design Suite First Class Objects: Describes the various design and device objects used by the Vivado Design Suite to model the FPGA design database. Presents the objects sorted according to specific categories, with links to detailed

more information on the different design flow modes, see this link in the Vivado Design Suite User Guide: Design Flows Overview (UG892). Note: Installation, licensing, and release information is available in the Vivado Design Suite User Guide: Release Notes, Installation, and Licensing (UG973). W o r k i n g w i t h t h e V i v a d o I D E

Vivado Design Suite User Guide: Programming and Debugging, (UG908) Objectives These tutorials: Show you how to take advantage of integrated Vivado logic analyzer features in the Vivado design environment that make the debug process faster and simpler.

Figure 1 n: A example of agile software development methodology: Scrum (Source: [53]) 2013 Global Journals Inc. (US) Global Journal of Computer Science and Technology Volume XIII Issue VII Version I