3

I have project to do. Which requires that I use FPGA. The theme is, that I need to create a circuit in FPGA using VHDL which would perform some task like multiplication or division. And then I need to send the input data from PowerPC(Built in Microcontroller in Virtex 4) to that circuit and then collect the data from output of FPGA circuit using PowerPC. I have tried looking at the manuals but failed to understand the communication between FPGA circuit and Microcontroller.

Google didn't help too..

Please let me know, if there is a book or a better tutorial which can help me in this project. Thanks in advance for your concern.

Note: I am using Virtex-4 ml403 FPGA board.

Thanks Again.

6
  • 1
    Hi Jasim Khan Afridi, I think your FPGA module can communicate with the PowerPC core via a set of registers. The PowerPC can set registers' values to configure the FPGA module, on the other hand the PowerPC core can read (get) the registers' values to get the status of your module. If you have an advanced FPGA module, your module can do DMA to SDRAM, and the PowerPC core can get data from SDRAM too Commented Mar 5, 2012 at 14:18
  • BTW, you can visit Altera's site altera.com/education/univ/materials/manual/unv-lab-manual.html. There are some tutorials about soft CPU and peripheral interfacing Commented Mar 5, 2012 at 14:21
  • 1
    The FPGA will be mapped to some memory addresses, and on the PowerPC you'll read or write to these memory locations to read and write to the FPGA. You want to search your board's documentation for the term "memory map". E.g., if you have an 8-bit FPGA register mapped to memory location 0x1000, you could do volatile unsigned char *fpga_reg = 0x1000; *fpga_reg = 0xAB; // write 0xab to register mapped to 0x1000 Commented Mar 5, 2012 at 14:22
  • @dien When I create a circuit on FPGA, will the input and output ports act as memory registers? What would be their names? Do you have some example to show me? Thanks for your replies.... Commented Mar 5, 2012 at 14:28
  • 1
    Hi Jasim Khan Afridi, Hope this is what you are looking for web.eecs.umich.edu/~prabal/teaching/eecs373-f10/labs/lab3/… Commented Mar 5, 2012 at 14:34

3 Answers 3

2

Take a look at Xapp717 from Xilinx. http://www.xilinx.com/support/documentation/application_notes/xapp717.pdf

In the introduction it specifically mentions what you are trying to do. The APU in this context refers to the PowerPC.

This application note introduces the APU and describes the main features of an APU-enhanced system. Included examples illustrate how the APU transfers data between the processor and the FPGA. The two examples are: • A simple system that moves data from memory through the processor and APU, into registers in the FPGA, and back into memory

Source code is included (Xilinx login required) http://www.xilinx.com/bvdocs/appnotes/xapp717.zip

Sign up to request clarification or add additional context in comments.

1 Comment

I am sorry, that didn't help too... I am still confused. PowerPC processing was clear. But FPGA design was not explained. Please help...
0

Our software Impulse C will automatically make the bus connection to the PPC. You're welcome to try it for free. If you are interested send your Ethernet MAC to me or to info at ImpulseC and we'll get you started.

Best, Brian

Comments

0

Do you need to implement a multiplier/divider to accelerate computing using FPGA? If so, you should design a multiplier/divider with VHDL code. Maybe using Xilinx IP core is the most convenient way. All you need to do is specify the parameter you want (e.g. input numbers are 32-bit). Synthesize your design and assign input/output pins. Then you can transfer data between PowerPC and FPGA through these pins.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.