From: Mawa_fugo on
On Mar 23, 8:08 am, Mawa_fugo <cco...(a)netscape.net> wrote:
> On Mar 21, 4:36 pm, Patrick Maupin <pmau...(a)gmail.com> wrote:
>
>
>
> > On Mar 20, 3:17 pm, Mawa_fugo <cco...(a)netscape.net> wrote:
>
> > > On Mar 20, 2:52 am, modimo <g.mod...(a)gmail.com> wrote:
>
> > > > On 20 Mar, 04:28, Mawa_fugo <cco...(a)netscape.net> wrote:
>
> > > > > On Mar 19, 10:05 pm, John_H <newsgr...(a)johnhandwork.com> wrote:
>
> > > > > > On Mar 19, 3:55 pm, Mawa_fugo <cco...(a)netscape.net> wrote:
>
> > > > > > > On Mar 19, 2:17 pm, John_H <newsgr...(a)johnhandwork.com> wrote:
>
> > > > > > > > On Mar 19, 3:01 pm, Mawa_fugo <cco...(a)netscape.net> wrote:
>
> > > > > > > > > Hi all,
>
> > > > > > > > > There's an instance of BRAM in spartan3 device.  I used coregen with
> > > > > > > > > *.coe file to init the data for the memory module
>
> > > > > > > > > My question, is there anyway to edit the mcs file (we use flatform
> > > > > > > > > flash for config) to change the content of init data ..."without spend
> > > > > > > > > 20 minutes to re-run the whole ISE processes
>
> > > > > > > > > Thanks,
>
> > > > > > > > "There's an app for that."
>
> > > > > > > >http://www.xilinx.com/products/ipcenter/dr_dt_data2mem.htm
>
> > > > > > > Thanks for the link, I do search around and all route to that page..
> > > > > > > But I'm not sure I can get anything,
> > > > > > > Is there any download-able thing ?
>
> > > > > > > Thanks
>
> > > > > > Have you looked in your Xilinx directories for your installed ISE?
>
> > > > > > From a random sell sheet:
>
> > > > > > ISE™ WebPack FPGA Design Tool Suite
> > > > > > • Timing driven FPGA hardware implementation tools
> > > > > > • Design entry, synthesis and verification capabilities
> > > > > > • Data2MEM – application for loading on-chip memory
>
> > > > > > It looks like it's included standard.
>
> > > > > Yes, I see that execute file data2mem, look like old day command
> > > > > line.  Guessing it's just another non-user-friendly Xilnx apps ;-)
>
> > > > > Thanks
>
> > > > Console apps are user-friendly matter of who their friends are ;)
>
> > > > Some examples should be helpfulhttp://home.mnet-online.de/al/BRAM_Bitstreams.html
>
> > > > There is also app for updating picoblaze code through jtag that also
> > > > could be useful after some modifications.http://forums.xilinx.com/xlnx/board/message?board.id=PicoBlaze&messag...
>
> > > In my app, the data width is 1 bit, with 128k depth, that means I have
> > > 8 BRAM16 inst
>
> > > ---------below is my bmm file
>
> > > ADDRESS_SPACE mem_module RAMB16 [0x00000000:0x00001FFFF]
>
> > > BUS_BLOCK
> > > XLXI_2/MEM_MODULE/BRAM_MODULE_INST/B76/RAMB16BWER [0:0]  PLACED =
> > > X2Y12;
> > > END_BUS_BLOCK;
>
> > > BUS_BLOCK
> > > XLXI_2/MEM_MODULE/BRAM_MODULE_INST/B79/RAMB16BWER [0:0]  PLACED =
> > > X2Y14;
> > > END_BUS_BLOCK;
>
> > > BUS_BLOCK
> > > XLXI_2/MEM_MODULE/BRAM_MODULE_INST/B82/RAMB16BWER [0:0]  PLACED =
> > > X2Y13;
> > > END_BUS_BLOCK;
>
> > > BUS_BLOCK
> > > XLXI_2/MEM_MODULE/BRAM_MODULE_INST/B85/RAMB16BWER [0:0]  PLACED =
> > > X2Y15;
> > > END_BUS_BLOCK;
>
> > > BUS_BLOCK
> > > XLXI_2/MEM_MODULE/BRAM_MODULE_INST/B88/RAMB16BWER [0:0]  PLACED =
> > > X2Y17;
> > > END_BUS_BLOCK;
>
> > > BUS_BLOCK
> > > XLXI_2/MEM_MODULE/BRAM_MODULE_INST/B91/RAMB16BWER [0:0]  PLACED =
> > > X2Y18;
> > > END_BUS_BLOCK;
>
> > > BUS_BLOCK
> > > XLXI_2/MEM_MODULE/BRAM_MODULE_INST/B94/RAMB16BWER [0:0]  PLACED =
> > > X2Y19;
> > > END_BUS_BLOCK;
>
> > > BUS_BLOCK
> > > XLXI_2/MEM_MODULE/BRAM_MODULE_INST/B97/RAMB16BWER [0:0]  PLACED =
> > > X2Y16;
> > > END_BUS_BLOCK;
>
> > > END_ADDRESS_BLOCK;
>
> > > ----below is the command line I try to see if I can extract the data
> > > from existing bit file
>
> > > $ data2mem -bm mybmmfile.bmm -bt existingbitfile.bit > log.txt
>
> > > -------- But it always gives the below error
>
> > > ERROR:Data2MEM:29 - Inconsistent address space size in ADDRESS_SPACE
> > > 'mem_module'.
> > >     ADDRESS_SPACE was defined as 0x00020000 bytes, but the
> > > ADDRESS_RANGE total is 0x00004000 bytes.
>
> > > ---Then I try to change the address space to
>
> > > ADDRESS_SPACE mem_module RAMB16 [0x00000000:0x000003FFF],
>
> > > ---It then gives no error but the log.txt file is just a blank,
> > > nothing show up
>
> > > ---I wonder if this tool can't handle data width with 1 bit wide????
>
> > The tool doesn't have a clue.  Just lie to it and tell it your RAM is
> > 8 bits wide.
>
> Okie, I can lie it about the address, but how can I "lie" it about the
> data ?
>
> Let me guess, I will have to tell it in byte, by concatenate 8 bits
> together ?
>
> TIA

Okie, problem solved, thanks all for your help