FPGARelated.com
Forums

Update init data in dualport BRAM without re-run anything?

Started by Mawa_fugo March 19, 2010
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,

On Mar 19, 3:01=A0pm, Mawa_fugo <cco...@netscape.net> wrote:
> Hi all, > > There's an instance of BRAM in spartan3 device. =A0I 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
On Mar 19, 2:17=A0pm, John_H <newsgr...@johnhandwork.com> wrote:
> On Mar 19, 3:01=A0pm, Mawa_fugo <cco...@netscape.net> wrote: > > > Hi all, > > > There's an instance of BRAM in spartan3 device. =A0I 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
On Mar 19, 3:55=A0pm, Mawa_fugo <cco...@netscape.net> wrote:
> On Mar 19, 2:17=A0pm, John_H <newsgr...@johnhandwork.com> wrote: > > > > > On Mar 19, 3:01=A0pm, Mawa_fugo <cco...@netscape.net> wrote: > > > > Hi all, > > > > There's an instance of BRAM in spartan3 device. =A0I used coregen wit=
h
> > > *.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 spen=
d
> > > 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=99 WebPack FPGA Design Tool Suite =95 Timing driven FPGA hardware implementation tools =95 Design entry, synthesis and verification capabilities =95 Data2MEM =96 application for loading on-chip memory It looks like it's included standard.
On Mar 19, 10:05=A0pm, John_H <newsgr...@johnhandwork.com> wrote:
> On Mar 19, 3:55=A0pm, Mawa_fugo <cco...@netscape.net> wrote: > > > > > On Mar 19, 2:17=A0pm, John_H <newsgr...@johnhandwork.com> wrote: > > > > On Mar 19, 3:01=A0pm, Mawa_fugo <cco...@netscape.net> wrote: > > > > > Hi all, > > > > > There's an instance of BRAM in spartan3 device. =A0I used coregen w=
ith
> > > > *.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 sp=
end
> > > > 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=99 WebPack FPGA Design Tool Suite > =95 Timing driven FPGA hardware implementation tools > =95 Design entry, synthesis and verification capabilities > =95 Data2MEM =96 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
On 20 Mar, 04:28, Mawa_fugo <cco...@netscape.net> wrote:
> On Mar 19, 10:05=A0pm, John_H <newsgr...@johnhandwork.com> wrote: > > > > > On Mar 19, 3:55=A0pm, Mawa_fugo <cco...@netscape.net> wrote: > > > > On Mar 19, 2:17=A0pm, John_H <newsgr...@johnhandwork.com> wrote: > > > > > On Mar 19, 3:01=A0pm, Mawa_fugo <cco...@netscape.net> wrote: > > > > > > Hi all, > > > > > > There's an instance of BRAM in spartan3 device. =A0I 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 flatfor=
m
> > > > > 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=99 WebPack FPGA Design Tool Suite > > =95 Timing driven FPGA hardware implementation tools > > =95 Design entry, synthesis and verification capabilities > > =95 Data2MEM =96 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. =A0Guessing 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 helpful http://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=3DPicoBlaze&message.id= =3D3
It would be nice if they supplied both GUI and command-line tools, but
if they're only going to do one or the other, I'd far rather have the
command line tool than a GUI tool.  I can trivially invoke a command
line tool from my software Makefile, but it's a serious PITA to do
that with a GUI tool.
On Mar 20, 2:52=A0am, modimo <g.mod...@gmail.com> wrote:
> On 20 Mar, 04:28, Mawa_fugo <cco...@netscape.net> wrote: > > > > > On Mar 19, 10:05=A0pm, John_H <newsgr...@johnhandwork.com> wrote: > > > > On Mar 19, 3:55=A0pm, Mawa_fugo <cco...@netscape.net> wrote: > > > > > On Mar 19, 2:17=A0pm, John_H <newsgr...@johnhandwork.com> wrote: > > > > > > On Mar 19, 3:01=A0pm, Mawa_fugo <cco...@netscape.net> wrote: > > > > > > > Hi all, > > > > > > > There's an instance of BRAM in spartan3 device. =A0I used coreg=
en with
> > > > > > *.coe file to init the data for the memory module > > > > > > > My question, is there anyway to edit the mcs file (we use flatf=
orm
> > > > > > flash for config) to change the content of init data ..."withou=
t 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=99 WebPack FPGA Design Tool Suite > > > =95 Timing driven FPGA hardware implementation tools > > > =95 Design entry, synthesis and verification capabilities > > > =95 Data2MEM =96 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. =A0Guessing 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_Bitstre=
ams.html
> > There is also app for updating picoblaze code through jtag that also > could be useful after some modifications.http://forums.xilinx.com/xlnx/bo=
ard/message?board.id=3DPicoBlaze&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 =3D X2Y12; END_BUS_BLOCK; BUS_BLOCK XLXI_2/MEM_MODULE/BRAM_MODULE_INST/B79/RAMB16BWER [0:0] PLACED =3D X2Y14; END_BUS_BLOCK; BUS_BLOCK XLXI_2/MEM_MODULE/BRAM_MODULE_INST/B82/RAMB16BWER [0:0] PLACED =3D X2Y13; END_BUS_BLOCK; BUS_BLOCK XLXI_2/MEM_MODULE/BRAM_MODULE_INST/B85/RAMB16BWER [0:0] PLACED =3D X2Y15; END_BUS_BLOCK; BUS_BLOCK XLXI_2/MEM_MODULE/BRAM_MODULE_INST/B88/RAMB16BWER [0:0] PLACED =3D X2Y17; END_BUS_BLOCK; BUS_BLOCK XLXI_2/MEM_MODULE/BRAM_MODULE_INST/B91/RAMB16BWER [0:0] PLACED =3D X2Y18; END_BUS_BLOCK; BUS_BLOCK XLXI_2/MEM_MODULE/BRAM_MODULE_INST/B94/RAMB16BWER [0:0] PLACED =3D X2Y19; END_BUS_BLOCK; BUS_BLOCK XLXI_2/MEM_MODULE/BRAM_MODULE_INST/B97/RAMB16BWER [0:0] PLACED =3D 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????
On Mar 20, 3:17=A0pm, Mawa_fugo <cco...@netscape.net> wrote:
> On Mar 20, 2:52=A0am, modimo <g.mod...@gmail.com> wrote: > > > > > On 20 Mar, 04:28, Mawa_fugo <cco...@netscape.net> wrote: > > > > On Mar 19, 10:05=A0pm, John_H <newsgr...@johnhandwork.com> wrote: > > > > > On Mar 19, 3:55=A0pm, Mawa_fugo <cco...@netscape.net> wrote: > > > > > > On Mar 19, 2:17=A0pm, John_H <newsgr...@johnhandwork.com> wrote: > > > > > > > On Mar 19, 3:01=A0pm, Mawa_fugo <cco...@netscape.net> wrote: > > > > > > > > Hi all, > > > > > > > > There's an instance of BRAM in spartan3 device. =A0I used cor=
egen with
> > > > > > > *.coe file to init the data for the memory module > > > > > > > > My question, is there anyway to edit the mcs file (we use fla=
tform
> > > > > > > flash for config) to change the content of init data ..."with=
out 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 pag=
e..
> > > > > 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=99 WebPack FPGA Design Tool Suite > > > > =95 Timing driven FPGA hardware implementation tools > > > > =95 Design entry, synthesis and verification capabilities > > > > =95 Data2MEM =96 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. =A0Guessing 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_Bitst=
reams.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=3DPicoBlaze&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] =A0PLACED =3D > X2Y12; > END_BUS_BLOCK; > > BUS_BLOCK > XLXI_2/MEM_MODULE/BRAM_MODULE_INST/B79/RAMB16BWER [0:0] =A0PLACED =3D > X2Y14; > END_BUS_BLOCK; > > BUS_BLOCK > XLXI_2/MEM_MODULE/BRAM_MODULE_INST/B82/RAMB16BWER [0:0] =A0PLACED =3D > X2Y13; > END_BUS_BLOCK; > > BUS_BLOCK > XLXI_2/MEM_MODULE/BRAM_MODULE_INST/B85/RAMB16BWER [0:0] =A0PLACED =3D > X2Y15; > END_BUS_BLOCK; > > BUS_BLOCK > XLXI_2/MEM_MODULE/BRAM_MODULE_INST/B88/RAMB16BWER [0:0] =A0PLACED =3D > X2Y17; > END_BUS_BLOCK; > > BUS_BLOCK > XLXI_2/MEM_MODULE/BRAM_MODULE_INST/B91/RAMB16BWER [0:0] =A0PLACED =3D > X2Y18; > END_BUS_BLOCK; > > BUS_BLOCK > XLXI_2/MEM_MODULE/BRAM_MODULE_INST/B94/RAMB16BWER [0:0] =A0PLACED =3D > X2Y19; > END_BUS_BLOCK; > > BUS_BLOCK > XLXI_2/MEM_MODULE/BRAM_MODULE_INST/B97/RAMB16BWER [0:0] =A0PLACED =3D > 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'. > =A0 =A0 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.
On Mar 21, 4:36=A0pm, Patrick Maupin <pmau...@gmail.com> wrote:
> On Mar 20, 3:17=A0pm, Mawa_fugo <cco...@netscape.net> wrote: > > > > > On Mar 20, 2:52=A0am, modimo <g.mod...@gmail.com> wrote: > > > > On 20 Mar, 04:28, Mawa_fugo <cco...@netscape.net> wrote: > > > > > On Mar 19, 10:05=A0pm, John_H <newsgr...@johnhandwork.com> wrote: > > > > > > On Mar 19, 3:55=A0pm, Mawa_fugo <cco...@netscape.net> wrote: > > > > > > > On Mar 19, 2:17=A0pm, John_H <newsgr...@johnhandwork.com> wrote=
:
> > > > > > > > On Mar 19, 3:01=A0pm, Mawa_fugo <cco...@netscape.net> wrote: > > > > > > > > > Hi all, > > > > > > > > > There's an instance of BRAM in spartan3 device. =A0I used c=
oregen with
> > > > > > > > *.coe file to init the data for the memory module > > > > > > > > > My question, is there anyway to edit the mcs file (we use f=
latform
> > > > > > > > flash for config) to change the content of init data ..."wi=
thout 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 p=
age..
> > > > > > 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=99 WebPack FPGA Design Tool Suite > > > > > =95 Timing driven FPGA hardware implementation tools > > > > > =95 Design entry, synthesis and verification capabilities > > > > > =95 Data2MEM =96 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. =A0Guessing 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_Bit=
streams.html
> > > > There is also app for updating picoblaze code through jtag that also > > > could be useful after some modifications.http://forums.xilinx.com/xln=
x/board/message?board.id=3DPicoBlaze&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] =A0PLACED =3D > > X2Y12; > > END_BUS_BLOCK; > > > BUS_BLOCK > > XLXI_2/MEM_MODULE/BRAM_MODULE_INST/B79/RAMB16BWER [0:0] =A0PLACED =3D > > X2Y14; > > END_BUS_BLOCK; > > > BUS_BLOCK > > XLXI_2/MEM_MODULE/BRAM_MODULE_INST/B82/RAMB16BWER [0:0] =A0PLACED =3D > > X2Y13; > > END_BUS_BLOCK; > > > BUS_BLOCK > > XLXI_2/MEM_MODULE/BRAM_MODULE_INST/B85/RAMB16BWER [0:0] =A0PLACED =3D > > X2Y15; > > END_BUS_BLOCK; > > > BUS_BLOCK > > XLXI_2/MEM_MODULE/BRAM_MODULE_INST/B88/RAMB16BWER [0:0] =A0PLACED =3D > > X2Y17; > > END_BUS_BLOCK; > > > BUS_BLOCK > > XLXI_2/MEM_MODULE/BRAM_MODULE_INST/B91/RAMB16BWER [0:0] =A0PLACED =3D > > X2Y18; > > END_BUS_BLOCK; > > > BUS_BLOCK > > XLXI_2/MEM_MODULE/BRAM_MODULE_INST/B94/RAMB16BWER [0:0] =A0PLACED =3D > > X2Y19; > > END_BUS_BLOCK; > > > BUS_BLOCK > > XLXI_2/MEM_MODULE/BRAM_MODULE_INST/B97/RAMB16BWER [0:0] =A0PLACED =3D > > 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'. > > =A0 =A0 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. =A0Just 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