- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am doing a project which need to use PCI core. Since I am not going to use the NiosII, so DMA become my option.
My question is: how can I control the DMA to read the data from PCI and write it to DDR2? or how can I read the data from DDR2 and write it to PCI? Or probably I don't need to control the DMA at all? I need to give the source adderss and destination address to the DMA, right? Correct me if my idea is wrong. Any opinions are welcomed. Thanks.Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- originally posted by ohaltera@Jan 17 2007, 08:46 PM i am doing a project which need to use pci core. since i am not going to use the niosii, so dma become my option.
my question is: how can i control the dma to read the data from pci and write it to ddr2? or how can i read the data from ddr2 and write it to pci? or probably i don't need to control the dma at all? i need to give the source adderss and destination address to the dma, right?
correct me if my idea is wrong.
any opinions are welcomed.
thanks.
<div align='right'><{post_snapback}> (index.php?act=findpost&pid=20665)
--- quote end ---
--- Quote End --- First, how do you plan to control the DMA engine? From the PCI bus? Second, I gather you want the board to master both PCI reads and Memory writes or are you just trying to access memory from the PCI bus? Mike
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
<div class='quotetop'>QUOTE </div>
--- Quote Start --- First, how do you plan to control the DMA engine? From the PCI bus?[/b] --- Quote End --- Can I control the DMA in both way? Either from the PCI bus or from an user ip core in the inside of the FPGA? What do I need to do? In either way, how can I set the source/destination address and the interrupt to the DMA? If I want to control the DMA from inside, I shoul connect the User IP core to the DMA's "control slave port", is that right? <div class='quotetop'>QUOTE </div> --- Quote Start --- Second, I gather you want the board to master both PCI reads and Memory writes or are you just trying to access memory from the PCI bus?[/b] --- Quote End --- Yes I want to set the PCI as a master device, so is the memory controller. Thanks for your reply, Mike.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- originally posted by ohaltera@Jan 18 2007, 01:59 AM <div class='quotetop'>quote
--- quote end ---
--- quote start ---
first, how do you plan to control the dma engine? from the pci bus? --- Quote End --- Can I control the DMA in both way? Either from the PCI bus or from an user ip core in the inside of the FPGA? What do I need to do? In either way, how can I set the source/destination address and the interrupt to the DMA? If I want to control the DMA from inside, I shoul connect the User IP core to the DMA's "control slave port", is that right? <div class='quotetop'>QUOTE </div> --- Quote Start --- Second, I gather you want the board to master both PCI reads and Memory writes or are you just trying to access memory from the PCI bus?[/b] --- Quote End --- Yes I want to set the PCI as a master device, so is the memory controller. Thanks for your reply, Mike. <div align='right'><{post_snapback}> (index.php?act=findpost&pid=20677)</div> [/b] --- Quote End --- I do not believe the Avalon PCI core will allow the Avalon DMA core to generate a PCI interrupt? In any case, the PCI core is much more expensive than the NiosII core so complicating the design by trying to connect directly to the PCI alone is kind of asking for trouble. That being said... If you can get the DMA engine's IRQ to trigger a PCI interrupt then the design will require a PCI Core, a SDRAM (memory controller) Core, and the DMA controller Core all connected on the Avalon bus via SOPC Builder. Using the Altera DMA, PCI, and SDRAM core documentation should allow you to program up the DMA controller via the PCI bus since the PCI Core from Altera can be a Master / Slave device. Mike
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page