[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [microblaze-uclinux] some questions
Very late, but
DMA SG documentation is located under:
> -----Original Message-----
> From: owner-microblaze-uclinux@xxxxxxxxxxxxxx [mailto:owner-microblaze-
> uclinux@xxxxxxxxxxxxxx] On Behalf Of Sebastian
> Sent: Tuesday, August 12, 2008 4:50 PM
> To: microblaze-uclinux@xxxxxxxxxxxxxx
> Subject: Re: [microblaze-uclinux] some questions
> Thank you Aleš and John for your answers.
> - Is it true that MPMC and NPI are only provided by EDK 10.1 and not in
> my 9.1 Version?
> - Sorry, but i cannot find any IPIF signal protocol documentation for
> setting DMA transaction parameters that you've mentioned. Could anyoone
> help me?
> Aleš Gorkič schrieb:
> > Hi Sebastian,
> >> Sebastian wrote:
> >>> 1.
> >>> i created an embedded system based on the petalinux reference design
> >>> spartan-3e1600 and edk 9.1.
> >>> i added my own ip which creates some data that is written to a
> >>> ipif-readfifo.
> >>> i use the ipif-dma s/g controller to transfer the data to the system
> >>> ram. i've written a testing
> >>> program to benchmark the transfer rate. my results are about 16 MByte
> >>> s. i've estimated a transfer
> >>> rate about 200 mbyte / s if the dma-c uses burst mode an no one else
> >>> using the opb.
> >>> could it be that the ddr sdram is the bottleneck? i read something
> >>> ddr ram burst mode an i think
> >>> this isn't enabled in the reference design. can anyone help me out
> >>> some information?
> >> The mch_opb_ddr controller has a parameter C_INCLUDE_OPB_BURST_SUPPORT,
> >> which defaults to zero. You might like to enable that and retest your
> >> performance.
> >> Similarly if you upgrade to newer tools and the MPMC, it has
> >> C_SPLB*_SUPPORT_BURSTS parameters for burst support on PLB PIMs.
> > The BURST performance is cruical if you need fast xfer of large blocks
> of data (C_INCLUDE_OPB_BURST_SUPPORT=1). I've created custom OPB DMA
> peripheral which transfers large block of data from FIFOs to SDRAM. The
> sustainable data rate is around 100MB/s. Since the DMA controller is
> configure by Microblaze the bottleneck is a Microblaze interrupt handling.
> Even higher transfer rates are achieved using polling, but cunsumes
> processor time.
> >>> 2.
> >>> in my own ip, i'm filling the fifo with data. once it is full, i want
> >>> initialize a dma transfer.
> >>> so i have to trigger that transfer from within my userlogic.vhd with
> >>> writing into the LENGTH register
> >>> of the dma controller. how can i achieve this? i cannot write into the
> >>> dma s/g registers, can i?
> >> Are you using the S/G DMA functionality of the IPIF, or is it a
> >> sstandalone DMA controller? If it's the first one, then there's an
> >> signal protocol for setting DMA transaction parameters, I believe.
> >> Check the IPIF documentation.
> >> If you have a standalone DMA controller then the transaction will need
> >> to be configured into it's OPB/PLB registers somehow, either by a SW
> >> dirver or your core bus mastering to write the params. Not very
> >> efficient.
> >>> 3.
> >>> to see how the dma-c transfers the data over the bus, it would be very
> >>> useful to see all the bussignals.
> >>> i read something about the bus functional model testing but i think i
> >>> need some extra software for this:
> >>> chipscope or modelsim? can i simulate without buying this extra
> >> software?
> >> You can use the BFM toolkit and modelsim. ModelSim XE is free but only
> >> works on Windows.
> >> Or, ChipScope can watch signals live on the FPGA.
> >> Otherwise, maybe route the bus signals to external pins and hook up a
> >> logic analyser.
> > From what I heard I would go for the MPMC memory controller and NPI
> interface. It is exactly what you need. It is easy to use with massive
> > IPIF SG/DMA is large and inefficient for high bandwidth.
> > And definatelly try a Chipscope. Otherwise you are "blind".
> > Cheers,
> > Ales Gorkic
> > ___________________________
> > microblaze-uclinux mailing list
> > microblaze-uclinux@xxxxxxxxxxxxxx
> > Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
> > Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-
> microblaze-uclinux mailing list
> Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
> Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-
microblaze-uclinux mailing list
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/