3rd 3ddresd: rebit

29
POLITECNICO DI MILANO Analysis and management Analysis and management of bitstream generators of bitstream generators for Xilinx FPGAs for Xilinx FPGAs Davide Candiloro: [email protected] Marco D. Santambrogio: [email protected] P P artial artial D D ynamic ynamic R R econfiguration econfiguration W W orkshop orkshop

Upload: usrdresd

Post on 06-May-2015

426 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: 3rd 3DDRESD: Rebit

POLITECNICO DI MILANO

Analysis and Analysis and management of management of

bitstream generators for bitstream generators for Xilinx FPGAsXilinx FPGAs

Davide Candiloro: [email protected]

Marco D. Santambrogio: [email protected]

PPartialartial DDynamic ynamic RReconfiguration econfiguration WWorkshoporkshop

Page 2: 3rd 3DDRESD: Rebit

RationaleRationale

Xilinx software is mainly tailored to static designsAbsence of validation or support for partial dynamic reconfiguration techniques

-therefore-Development of a novel flow for the debugging and validation of partial dynamic reconfigurable architectures on Xilinx FPGAs

Methodology to spot and address possible design flaws

Design of a framework to automate and ease the designer’s task independently from vendor software

2

Page 3: 3rd 3DDRESD: Rebit

Detailed ContributionDetailed Contribution

Automated constraint checking on Reconfigurable RegionsGuided error resolution and visual constraint editingHW functionality area conflict monitoringExploration of the relocation possibilities for partial bitstreams

Analysis of the end result files of a PDR flowWorking on an architectural model and representation outside of Xilinx SW

3

Page 4: 3rd 3DDRESD: Rebit

4

OutlineOutline

Partial dynamic reconfiguration and related issues

The proposed frameworkCase study descriptionCase study application

ContributionsFuture works

Page 5: 3rd 3DDRESD: Rebit

5

What’s nextWhat’s next

Partial dynamic reconfiguration and related issues

The proposed frameworkCase study descriptionCase study application

ContributionsFuture works

Page 6: 3rd 3DDRESD: Rebit

PDR flows and related issuesPDR flows and related issues

The flows require the manual definition of RRs, conforming to specific guidelines

The designer must refer correctly to the underlying architecture of the FPGA => error prone

Vendor software has been designed for static designs

There is no guarantee that the constraints for the RRs are respected by the Place and Route phaseThis can inject further errors into the design: area conflicts and RR overflowing

Designer efforts are taken away from the actual application development

6

Page 7: 3rd 3DDRESD: Rebit

PDR issue 1: RR definitionPDR issue 1: RR definition

7

The flows require constraints to be satisfied when defining RRs in the UCF (User Constraints File) file

AREA_GROUP "RR1" RANGE = SLICE_X28Y64:SLICE_X41Y127;

AREA_GROUP "RR1" RANGE = RAMB16_X2Y9:RAMB16_X2Y15;

Page 8: 3rd 3DDRESD: Rebit

PDR issue 2: Xilinx PAR PDR issue 2: Xilinx PAR programsprograms

Place and Route built for static designs

Even if RR defined correctly, HW might overflow it

This situation is NOT reported to the designer

Can inject silent errors in the design due to configuration overwriting and area conflicts

8

Page 9: 3rd 3DDRESD: Rebit

State of the artState of the artPlanahead® - 2008

Used to constrain the logic inside particular regionsLast version adds PDR supportAn error situation is simply reported but

- not where - not how to overcome it

Floorplanner® - 2008Editor for the constraints of regions on the chipArchitecture-awareNOT reconfiguration aware => guidelines not enforced

Chipscope® - 2008Used in debugging designs on Xilinx FPGAsOnly AFTER the design has been downloaded on board

Jbits (discontinued) - 2004/5Provided low level access to configuration in bitstreams

9

Page 10: 3rd 3DDRESD: Rebit

10

What’s nextWhat’s next

Partial dynamic reconfiguration and related issues

The proposed frameworkCase study descriptionCase study application

ContributionsFuture works

Page 11: 3rd 3DDRESD: Rebit

Integration with the Earendil Integration with the Earendil flowflow

11

•Existing flow for defining FPGA reconfigurable apps

•Proposed flow at the end of Earendil chain

•Based upon reconfigurablearchitecture product files

•May thus be inserted at the end of generic flows

Page 12: 3rd 3DDRESD: Rebit

Rebit: the proposed frameworkRebit: the proposed framework

12

C++

wxWidgets

Page 13: 3rd 3DDRESD: Rebit

Conflict GraphConflict Graph

13

Conflict graph

conflict=edge

Incidence Matrix

conflict=red

which functionalities can be used at the same time?

Page 14: 3rd 3DDRESD: Rebit

14

Demo descriptionDemo description

ApplicationEdge detection on black and white digital images

Input: color digital imagesOutput: edge detected on the input images

Architecture2 IP-Cores

Filter (gray scale converter)Edge Detector (E.D.)

Static areaGPP: PPC405SW: standalone

Reconfigurable area1 reconfigurable regions

14

Page 15: 3rd 3DDRESD: Rebit

15

Data flowData flow

sddd

15

Input image

Gray scale (Filter)

Edge Detection (E.D.)

Page 16: 3rd 3DDRESD: Rebit

16

Performance analysis (1)Performance analysis (1)

Page 17: 3rd 3DDRESD: Rebit

17

Reconfiguration performanceReconfiguration performanceArea (Xilinx VIIP7)

SystemStatic area

– Slices: 2100Reconfigurable area

– Constrained slices : 896

RFUsFilter (Gray scale)

– # Frames: 126– Bitstream size: 110 KB

Edge Detector (E.D.)– # Frames: 158– Bitstream size: 110 KB

Reconfiguration performance

Execution time: 0.31sRec. troughput :1,02 MB/secRec. time: 0,1 secmin data size: 32353 byte

min image size: 180x180

Page 18: 3rd 3DDRESD: Rebit

18

Performance analysisPerformance analysis

Page 19: 3rd 3DDRESD: Rebit

Enhancement explorationEnhancement exploration

Is there any way in which we can enhance the application performance/flexibility?

Yes!

Exploring new design solutions using REBIT(we will now see how)

19

Page 20: 3rd 3DDRESD: Rebit

20

Performance analysisPerformance analysis

Page 21: 3rd 3DDRESD: Rebit

Case study: architectureCase study: architecture

21

• 2 image filters

• 2 partial bitstrams

• 1 RR

•Synthesis finished, we now aim at:

•Finding flaws in the design, if any

•Correcting them

Page 22: 3rd 3DDRESD: Rebit

Case study: constraint Case study: constraint validationvalidation

22

Page 23: 3rd 3DDRESD: Rebit

Case study: UCF editingCase study: UCF editing

23

Page 24: 3rd 3DDRESD: Rebit

Case study: relocationCase study: relocation

24

•We have resolved the issues of the design…

•Now we would like to explore new solutions

Page 25: 3rd 3DDRESD: Rebit

Case study: area conflictsCase study: area conflicts

25

Page 26: 3rd 3DDRESD: Rebit

26

What’s nextWhat’s next

Partial dynamic reconfiguration and related issues

The proposed frameworkCase study descriptionCase study application

ContributionsFuture works

Page 27: 3rd 3DDRESD: Rebit

27

Contributions of the workContributions of the work

Novel flow for the DRC of PDR architecturesAutomation of the flow for the validation and debug of PDR architectures: no more manual stepsVisual editing and guided issue resolution

Configuration memory maps for the analyzed FPGAsRelation of Xilinx bitstream format to the specific architectureDevelopment of a framework independent of Xilinx software that integrates knowledge of the architectural details

Page 28: 3rd 3DDRESD: Rebit

Future worksFuture works

Adding support for new/other FPGAs to the system

Turn the reasoner module into an expert system, to develop further automation in the definition and validation of the system

Taking BUS Macros into account, i.e.: communication between different RFUs

Extend the data model with board data, not only chip

Develop methodologies to generate constraints based on IOB connections to the external board components

28

Page 29: 3rd 3DDRESD: Rebit

Questions