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.

Starting GPU Core design in VHDL

Status
Not open for further replies.

3Deye

Full Member level 2
Joined
Oct 7, 2009
Messages
125
Helped
3
Reputation
6
Reaction score
2
Trophy points
1,298
Location
EG
Activity points
2,159
Hi,

I've started learning VHDL to use it to design my own graphics core, I've also studied the block diagrams of different GPU core architectures from AMD and NVIDIA, also I started to study a computer graphics course and I'm now familiar with the mathematical (Matrices) operations involved in the core operations.

I decided to start with the ALU design (Stream Processors) and the Memory controller design so I could test a simple Arithmetic/Logic operations by acquiring data from the DDR2 memory included in the Virtex-5 ML506 FPGA and process it using the ALU.

My questions now, Aren't there any useful resources that could help me in designing the ALU and the MC using VHDL ? by the way, a Floating point unit is an essential part of the design, and I couldn't find some useful resources of designing it in VHDL.

Also, I found a good open source design, the OpenSPARC T2 which is based on the UltraSPARC T2, I'm interrested in this chip since its architecture is close to Intel's Larrabee (Intel's first GPU core architecture). What's your opinions guys? would it be a good start? and the most important question is, which part of the design should I start with?

Thanks in advance.
 

I would skip the GPU and Floating point as your starting project.

Implement an 8-bit micro controller or processor first. There are a number of them available out there as well as a number of books on the subject.

This will teach you data flow, data dependency and pipelining.

Why do you want to do a GPU?
 

Hi afxx, thanks for your interest.

Why do you want to do a GPU?
Actually, It's a graduation project and its thesis is as follows:
Graphics processing units is a basic part of any modern computer. It comes as either a graphics card or as on-board graphics processor integrated with the motherboard. It is needed for gaming, animation, real-time, video display. The basic functionality includes image translation, rotation, shadowing, ...etc. Older generations used full hardware implementation. Current generations use software programmable general purposearithmetic units (ALUs).

In this project, we design a simple computer graphics processor card which covers these aspects. The project will look into basic 2-D a simplified programmable graphics processor, graphics memory, fast interfaces to the system CPU, power distribution, PCB design, and porting of some standard graphics libraries. A simplified scaled-down FPGA implementation will be tested to demonstrate the basic knowledge of internal architecture of the processor.
Our team is formed of 3 students and we have about 6 Months to finish it.

The most important issue for us now is how should we start the project? which parts of the design should we start with?

You suggested that we should start with a 8-bit processor first, could you please suggest some useful resources/designs to start learning and implementing it?

Also, if you were me and based on the thesis, how would you divide the project?

btw, we learned the design of the EC-1 General Purpose Microprocessor and simulated it but did not implement it on an FPGA.
https://faculty.lasierra.edu/~ehwang/digitaldesign/webpages/projects.html#EC-1
 

I know this post is more than 2 yrs old but I m posting my doubt in a hope that the members are still in touch with edaboard.

I am a graduating student and want to design BIST(Built in self test) in verilog for memory testing. The things I know till now is that I need ModelSIM & synopsys software dc_shell to do that but, don't know how could I implement these and if I also need hardware stuff to do that ? Am I write that I have to design a memory in ModelSIM ?

Please help me
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top