Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

FPGA 3D GPU - Loading of 3D Coordinates on RAM

Status
Not open for further replies.

vjabagch

Member level 1
Joined
Jun 26, 2009
Messages
35
Helped
4
Reputation
8
Reaction score
4
Trophy points
1,288
Activity points
1,665
I have a question regarding the implementation of a 3D GPU on a Virtex 5 LX110T development platform from Digilent which is named the Virtex-5 OpenSPARC Evaluation Platform. I am working on a fixed function graphics rendering pipeline (3D) on this board.

I want to determine a practical way to load primitives consisting of 3D coordinates in floating point format (16 bit half-precision) to the on-board DRAM. I have considered using the RS232 serial port on the FPGA and connect it to a PC and transfer contents of an ASCII text file in binary format across the serial port and then initialize the memory.

Once memory initialization is complete I will begin the rendering process of passing the data points through the pipeline.

Am I approaching the problem correctly in terms of loading the memory from the PC to the FPGA board through the serial port? Would the serial port be a bottleneck for significantly large data sets of say 50K to 100K data points in (X,Y,Z) format?

I was even thinking of using the USB interface for faster transfer.

Thank you for the help.
 

hi vjabagch.. i am currently working on blit operations in 2d graphics engine. Can you please help me to understand the logics behind the line mone and area fill mode. I am using verilog language for programming.
thanks in advance
 

Hello pratik_r,

Thank you for your question. It is great to hear your interest in this topic. I too find graphics an exciting field. If I understand correctly are you trying to do a line generator in combination with a object coloring module (filling)?

I do not know bit blitting but if you can clarify your question and requirements I will be happy to help. :)


Just as a comment, my initial problem was was resolved by using a Block RAM initialization file. All my memory is on the FPGA. I am doing a 3D wire-frame graphics engine without filling or shading.

Look forward to hearing back from you.
 

Hi vjabagch
Thanks for your reply.
yeah u got me and i want to add some more that will help u to understand my problem.
BLIT is short form of BLock Image Transfer. It does many operations but i am designing BLITTER with three operations which is copy of an image, area filling and drawing line. The term blit represents one of the three opertaion.

problem:what will be the inputs for blitter to work in area filling mode, for copying an image and draw line.
 

Are you storing your image in block ram or perhaps some memory on the FPGA? Just count through the addresses (your input will be a start address and end address) then initiate a count update at every clock cycle.


Line drawing requires a start and end coordiante (xy) start and (xy) to find the total address of each coordinate in memory you resolve the address by performing a constant add + multiply (y << horizontalPixelResolution) + xCoordinate. Then use Bresenham's line drawing algorithm to draw the active pixels in RAM.

Block fill mode requires you to supply the resolution horizontal and vertical count and possibly a start and end address of the boundary of the object. Then for each active pixel you "turn on" the colorer (solid filler) then when you hit another active pixel on the horizontal you turn off. Keep repeating for every active pixel on the horizontal.

I am making some guesses which I hope are not too far from what you are looking for in my answer but do any of my proposed methods help?
 
Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top