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.

Microprocessor - FPGA interface

Status
Not open for further replies.

bismillah

Member level 1
Member level 1
Joined
Jul 18, 2005
Messages
40
Helped
1
Reputation
0
Reaction score
0
Trophy points
1,286
Location
Earth
Activity points
1,642
I have a rather simple question. Is there a vhdl code for the Microprocessor - FPGA interface.
I am writing data from a microprocessor to FPGA (into BRAM). I need a generic code for a interface between microprocessor and FPGA BRAM. I will be using Altera FPGA.

Thanks
 

what microprocessor do you use?

You want to write with your microprocessor some kind of data in a memory designed in a FPGA device?
 

bismillah,

How’s it goin’ brother. Your interface problem is a twofold one. On one side, you need to develop a VHDL core to interface with your microprocessor. On the other side, you need to write C/assembly subroutines to interface with your FPGA. I don’t imagine that there are a readily developed code out there that well suit your requirements for two reasons. Firstly your interface is dependent on the specific kind of peripheral you’ll be using on the microprocessor side which I recommend to be a parallel port with DMA transfer capability if possible. Secondly, you might find some codes out there which you hardly can understand a word from. Usually, coherent designs are developed using device macros and attributes (not behaviourally) which as you know differ largely from one vendor to another. So my advice to you is to quite searching and commence work immediately.

General guidelines for your design are as follows:
- Try to come up with an interface which is as modular as possible. You might be able to elaborate largely on things with this regard as your “abstraction layer” can be as complex as you choose to be, encapsulating sophisticated commands and requests between your FPGA and uP.
- Don’t forget to synchronize your signals of course.
- Use two ported RAM blocks if possible as read/write buffers. Xilinx has got some nice asynchronous FIFOs readily there for your usage.
- Of course, your core should be two-sided as to facilitate modularity.

Hope this is beneficial to you.

Cheers.
 

    bismillah

    Points: 2
    Helpful Answer Positive Rating
Hi bismillah,

I'm not sure about the possibility of using altera fpga. but, if u have a xilinx fpga, then the embedded development kit - EDK for short, offers a solution.

It has provision to attach a external core to it, and write into internal registers of FPGA through the core's interface. I read about this when i wanted to use a powerpc processor in my fpga. xilinx also supports another processor called microblaze or picoblaze.

please go through the EDK tutorial from xilinx and find out if altera offers anything similar. More often than not, it will do so.

all the best.
 

    bismillah

    Points: 2
    Helpful Answer Positive Rating
hi
it doesnt matter what fpga u r going to use... it matters on what the interface is... if the microprocessor bus timings and access schemes are known...then it can be done...so what is the interface u r going to use... is it memory mapped bus or any special interface like i2c, can,spi...
 

NIOSII/SOPC Builder is similar tools of Altera that correspond to Xilinx EDK maybe will help you some !
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top