I NEED HELP / MENTOR

Hello,

I am a third year computer engineering student and have been given the task of completing an FPGA based project utilizing a Xilinx Spartan 3 FPGA and VHDL. It just happens to be my luck that I have limited experience with FPGA architecture or VHDL however I do no intend to let this stop me from achieving this projects requirements. I am looking for experienced individuals of the FPGA development community that would be willing to aid me as mentors or technical advisors during the development of my project. The project is strictly academic and unfortunately the only thing that I can offer for any assistance is my gratitude.

The proposed project has the following requirements: Must utilize a Spartan 3 FPGA Must be described using VHDL Must provide an accurate simulation of a 1980's era Pacman machine. Must be completed in 15 weeks.

I have searched the net and discovered that this project has already been done by several clever individuals, however simply imitating their efforts will not further my education and I fear that using source code that has been produced by one group of individuals may limit my view on coding/design options.

Please contact me if you feel that you can provide any assistance. Any assistance will be greatly appreciated.

Reply to
sd
Loading thread data ...

Generally this is a bad place to ask for help with homework questions.

But here are some hints.

Get software and documentation (if you don't already have them) for Spartan 3 FPGA from

formatting link

Use one clock. It would be easier if the clock was some multiple of the dot rate that the display is drawn.

Write code, simulate, build and test. Repeat as needed.

Start at the output, and then improve backwards. Write code to produce a video signal, then produce a display that is like the background, then add one moving part. After that works, add a control.

If something doesn't work the way you expect, think about why.

Keep at it. We should not hear from you for the next 15 weeks.

-- Phil Hays Phil-hays at posting domain should work for email

Reply to
Phil Hays

Which I think is a bit harsh, as S. Daniel does seem to indicate that he/she wants to further their education. So this is not our typical lazy homework hunter.

Which are all pretty good, except maybe the following:

I think better guidance is that if you come to this news group looking for a solution on a plate, you will get ridiculed pretty strongly. On the other hand, if you demonstrate you have thought about the problem, have some tentative solutions, and would like some guidance in better focussing on the trade offs, then we tend to be a pretty helful bunch.

Here's my thoughts on the requirements:

Order the Xilinx $99 eval board right away, so you have something to play with.

Get a book or two and start reading.

I learn't VHDL from "A VHDL synthesis Primer" by J. Bhasker: ISBN 0-9650391-9-6 and "A VHDL Primer" by J. Bhasker: ISBN 0-13-096575-8 which didn't kill me.

And I found HDL Chip Design by Douglas J. Smith: ISBN 0-965-1934-3-8 has lots of examples, and comparison to Verilog

The issue of "how" accurate is going to affect all other decisions.

If the screen has to look just like ANSI standard xxxyyyzzz Pacman, and the behavior has to be exact, then about the only way to do this is to run the Pacman program on hardware that emulates every function that the program tries to use. An example of a software only solution to this problem is the MAME project, that actually emulates the CPU, and all peripherals, and runs copies of the original Pacman ROMs (as well as hundreds of other 1970s, 80's and 90's arcade games).

Note that the use of these ROM images is a copyright violation in almost all circumstances (Unless you have a physical original pacman machine, and you are using the ROMs from that machine).

If accurate means Pacmanesque, and it just needs to look a bit like Pacman, and have a chompy character, and wiggly skirt monsters, and the occasional flying cherry, then there is a bit more room to move.

Regardless, this all implies you need to design and build a CPU, a color video controller, a way to load and test programs running on your CPU, a way to write programs for your CPU, some button inputs, and since sound is part of the game, there is that too.

You won't be getting any sleep. Maybe before you jump off this cliff you might want to ask you lecturer for an existence proof that this can be done in this amount of time by someone without prior FPGA and VHDL experience. Plus you probably have other subjects running concurrently, which you probably don't want to fail.

The Spartan-3 on Xilinx's $99 eval board may not be big enough.

I would suggest something that might be somewhat lighter, but still have some good educational experience:

Design a CPU with an instruction set that is not identical to any existing CPU, 16 or 32 bit. Port LCC to your CPU.

Compile and run a hello world, and prime number program for your CPU.

All the best,

Philip

Philip Freidin Fliptronics

Reply to
Philip Freidin

I have read the above two replies. THIS IS A BIG PROJECT EVEN IF YOU KNEW VHDL AND FPGAs. I would go back to the professor and ask if it would be ok to: 1. Make the project a team effort. 2. Act as a system integrator/team manager using existing an CPU core, video controller ect. Then write the code for a pacman game. Yea you don't get to know the inner workings of a 6502 but you do bring the project in on time which business wise is whats needed. Managers make more money and get to be away from work on the weekends. Engineers get to high five each other and ooggle over thier latest creation in the lab. Engineers get out sourced and guess who outsourced them.

Reply to
Jerry

Perhaps. I wanted to give help without encouragement to the "typical lazy homework hunter".

I agree.

-- Phil Hays Phil-hays at posting domain should work for email

Reply to
Phil Hays

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.