gpu design on fpga
Post on 21-Feb-2017
147 Views
Preview:
TRANSCRIPT
PowerPoint Presentation
BySG Ramanathan MTech Thesis Project Final Submission External Review
CSIR-NAL
CSIR-NALMTech Project Review#
9/04/2015
Title of Project Thesis Design and Development of Graphics Processing Unit (GPU) Framework on FPGATarget FPGA - Spartan-6 XC6SLX45T-3FGG484Internal GuideMr. JAYAKUMAR EPAsst. ProfessorDepartment of ECENIT, CalicutExternal GuideDr. ANANDA CMSr. Principal ScientistHead, Aerospace Electronics Systems DivisionCSIR-NAL, Bangalore
CSIR-NALMTech Project Review# AgendaScope & Objective of the ProjectSystem OverviewTriple Video BuffersDDR3 Memory Controller IntegrationHost Application DevelopmentResults & ConclusionSummaryRendering AlgorithmVideo DemonstrationDesign Blocks Interface
CSIR-NALMTech Project Review# Scope & Objective Of ProjectDevelop GPU Frame Work FunctionalitiesFPGA VHDLTriple Video Buffer Mechanism Display Graphics Controller DesignDevelop Rendering AlgorithmHost Application C ProgramCommand Generation
LCD DisplayDesign OutputSocket ProgrammingUDP Packet Decoder
CSIR-NALMTech Project Review#
UDP DecoderPixel Color/Command HandlerDDR3 MemoryTriple Buffer HandlerDisplay Controller
Typical GPU InterfacesTop-Level FPGA BlocksHost MachineDisplay System
Frame Rendering: Converting Numeric Coordinates into bitmapsGraphics Controller: Converting Bitmaps into signals for screen with control signals based on the chosen resolution
Buffer Management: Frame Buffering using Triple Display Buffers
CSIR-NALMTech Project Review# System OverviewTEMAC CoreFIFO[FWFT]
UDP Decoder
ARP Packet Transmitter
Colour Data/ CommandHandler [MIG Wrapper]
MIG Core
Flush Buffer Logic
FIFO[FWFT]
Display Buffer Logic
FIFO[STD]XGA Display Controller
DDR3 Memory
Rasterization Programming in Host MachineTEMAC InterfaceCommand MemoryInterfaceMIG Interface & Triple Buffer ImplementationDisplay ControllerReview#1Review#2Review#3
Xilinxs TEMAC - Tri-Mode Ethernet Media Access Controller
CSIR-NALMTech Project Review# Display Controller Design & its Simulation Results
CSIR-NALMTech Project Review# XGA_GeneratorClk_65RGB
HSyncVSync
DDR3 Memory
RGB with control signals generated for fixed pattern/colorDisplay pixels has been feed from DDR3 memory
Graphics Controller: Converting Bitmaps into signals for screen with control signals for chosen resolutionPixel Mapping: Each Pixel of the screen mapped to a DDR3 memory locationActive Data
CSIR-NALMTech Project Review# Simulation Result#1: Display Controller Design
RGB Data in Active Region
CSIR-NALMTech Project Review# DDR3 Memory Controller Integration & its Simulation Results
CSIR-NALMTech Project Review# DDR3 Memory Read & Write BlocksInput WrapperOutput Wrapper
Spartan6 FPGA MIG WrapperMemory Controller CORECmd_FIFODATAFIFO
DDR3 Memory
Memory Interface is a free software tool used to generate memory controllers and interfaces forXilinxFPGAs
Top Design
Read & Write LogicsXilinxs Memory Interface Controller
Physical Component in BoardCommand FIFO holds Starting Address & Length of DataData FIFO holds Pixel color (RGB)
CSIR-NALMTech Project Review# FSM for DDR3 Memory AccessSTARTInitialize all Counters/RegisterMemory Calibration StatusSend Command to Controller for Writing to DDR3Controllers Data FIFO EmptyWrite into Data FIFOIncrement Address to Next LocationWrite Finish StatusSTOPCompletedNot CompletedEmptyNot EmptyFinishedNot FinishedSTARTInitialize all Counters/RegisterMemory Calibration StatusSend Command to Controller for Reading DDR3Controllers Data FIFO FullRead Data FIFO ContentIncrement Address to Next LocationRead Finish StatusSTOPCompletedNot CompletedFULLNot FULLFinishedNot FinishedWRITEREAD
CSIR-NALMTech Project Review#
Simulation Result#2: DDR3 Memory Write Sequence
64 colorsCommand64 colorsCommand64 colorsCommand
CSIR-NALMTech Project Review# Simulation Result#3: DDR3 Memory Read Sequence
Command
64 colors
Command
64 colors
CSIR-NALMTech Project Review# Triple Video Display Frame Buffer Design
CSIR-NALMTech Project Review# DDR3 Memory
GPU Engine
1 Operational BufferWhat is Triple Display Frame Buffer?
Frame BufferDisplay
3 Display Buffers
Operational Buffer: Dedicated Buffer for drawing the frame contentDisplay Buffers: Buffer the frame for display
CSIR-NALMTech Project Review# Triple Display Buffer Design How It Works?
Operational Buffer Memory RegionDisplay Buffer1Display Buffer2Display Buffer3
Port 2Colour Data/ Command Handler
Port 5Tri-Buffer Display Wrapper
Port 3Port 4Flush Logic WrapperOn Vsync_TriggerOn Flush TriggerXGA VideoGenerator
Operational Buffer: Dedicated Buffer for drawing the frame contentDisplay Buffers: Buffer the frame for display
CSIR-NALMTech Project Review# Generally, GPU generates 24 FPS, its very hard to witness the function of triple buffer operation.9/04/2015
Top DesignPORT_2
PORT_3
PORT_4
PORT_5
RGB
Input WrapperTri_Buffer_DisplayOutput FIFOFlush LogicClock Infrastructure
Spartan 6FPGA WrapperMemory Controller CORECmd_FIFODATAFIFO
Clk_200
All Clock Signals for Memory Controller DesignClock Gen IPClk_125Clk_65Clk_333.33DDR3 MemoryClk_333.33
XGA_Generator
FLUSH
Latest Buffers Base AddressVsync_Pulse
Integrated Design with Triple Buffer - FPGA
CSIR-NALMTech Project Review# Once Vertical Sync. Triggered from controller, display buffers gets read by tri_buffer_display logic. Triple Buffering to prevent FPS drops related to enabling Vsync; help to both remove tearing while also preventing the significant FPS drop encountered when VSync is enabled9/04/2015
Host Machine Interface & Application Development
CSIR-NALMTech Project Review# Host Software Application Design FunctionsUser Inputs/Commands Rendering AlgorithmSlice PacketsChop-OffSocket ProgramCoordinates, ColourDot, Line, Arc Primitives64 Word CountIgnore Over shoot pixelsEthernet Protocol
UDP DecoderPixel Color/Command HandlerDDR3 Memory
CSIR-NALMTech Project Review# Host FPGA Ethernet InterfaceHost Machine
UDP Packet
ARP PacketFPGAHost Machine & FPGA are bonded with IP & MAC IDs
Ethernet Data Payload Structure
CSIR-NALMTech Project Review# Drawing Pixel Dots
On Screen
CSIR-NALMTech Project Review# Line is a Stair-Case
CSIR-NALMTech Project Review# Bresenhams Line Algorithm
23452435(xk, yk)(xk+1, yk)(xk+1, yk+1)
yykyk+1xk+1
dlowerdupper
Algorithm finds pixel closer to original line0
top related