FPGA Central - World's 1st FPGA / CPLD Portal

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > FPGA

FPGA comp.arch.fpga newsgroup (usenet)

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 10-31-2007, 03:58 PM
taco
Guest
 
Posts: n/a
Default xilinx bmm file problem

hello,
Has anybody experience with xilinx bitfile merging using a bmm file?
I've a small processor core running in a spartan 3A using romcode which I
install into a generated vhdl file.
like
entity ROM is
port(
Clk : in std_logic;
A : in std_logic_vector(12 downto 0);
D : out std_logic_vector(7 downto 0)
);
end ROM;

architecture rtl of ROM is
signal A_r : std_logic_vector(12 downto 0);
type rom_type is array(0 to 1951) of std_logic_vector(7 downto 0);
signal ROM:rom_type := (
X"02",
X"00",
X"08",
etc.
This works fine (programming running), but I would like to replace this with
a generic rom file without any initialization or just zero's and merge the
romhexfile into the bitfile using a bmm. For the situation above the
following bmm file doesn't give any errors:
ADDRESS_MAP TV51MAP PPC405 0
ADDRESS_BLOCK CPU_INST_ROM RAMB16 [0X0000:0X7ff]
BUS_BLOCK
cpu_inst/rom/Mrom_D1 [15:0];
END_BUS_BLOCK;
END_ADDRESS_BLOCK;
END_ADDRESS_MAP;
It's possible to force a location etc. and a _bd.bmm is generated like the
documentation describes.
I call ngdbuild with:
if ngdbuild -bm cpu_rom.bmm -intstyle ise -dd _ngo -uc $(CONSTRAINTFILE) -p
$(DEVICE) $(DESIGN).ngc $(DESIGN).ngd
and bitgen with
bitgen -bd src/test.mem -w -g UnusedPin:PullNone $< [email protected] $(DESIGN).pcf
(so only the -bm and -bd arguments are added into the Makefile.)
The mem file looks like:
@00 02
@01 00
@02 08
@03 12
@04 00
@05 95
@06 80
The new bitfile is generated, but no luck. Program not running.
Anybody an idea how to tackle this?
Taco walstra


Reply With Quote
  #2 (permalink)  
Old 10-31-2007, 04:56 PM
Antti
Guest
 
Posts: n/a
Default Re: xilinx bmm file problem

eh the bmm approuch works.
after some months-years

is your memory 8 or 16 bits?
if 8 then make the bram block 8 not 16 as in your bmm

connect chipscope to the ram add and data and let it run and look

Antti



On 31 Okt., 15:58, taco <[email protected]> wrote:
> hello,
> Has anybody experience with xilinx bitfile merging using a bmm file?
> I've a small processor core running in a spartan 3A using romcode which I
> install into a generated vhdl file.
> like
> entity ROM is
> port(
> Clk : in std_logic;
> A : in std_logic_vector(12 downto 0);
> D : out std_logic_vector(7 downto 0)
> );
> end ROM;
>
> architecture rtl of ROM is
> signal A_r : std_logic_vector(12 downto 0);
> type rom_type is array(0 to 1951) of std_logic_vector(7 downto 0);
> signal ROM:rom_type := (
> X"02",
> X"00",
> X"08",
> etc.
> This works fine (programming running), but I would like to replace this with
> a generic rom file without any initialization or just zero's and merge the
> romhexfile into the bitfile using a bmm. For the situation above the
> following bmm file doesn't give any errors:
> ADDRESS_MAP TV51MAP PPC405 0
> ADDRESS_BLOCK CPU_INST_ROM RAMB16 [0X0000:0X7ff]
> BUS_BLOCK
> cpu_inst/rom/Mrom_D1 [15:0];
> END_BUS_BLOCK;
> END_ADDRESS_BLOCK;
> END_ADDRESS_MAP;
> It's possible to force a location etc. and a _bd.bmm is generated like the
> documentation describes.
> I call ngdbuild with:
> if ngdbuild -bm cpu_rom.bmm -intstyle ise -dd _ngo -uc $(CONSTRAINTFILE) -p
> $(DEVICE) $(DESIGN).ngc $(DESIGN).ngd
> and bitgen with
> bitgen -bd src/test.mem -w -g UnusedPin:PullNone $< [email protected] $(DESIGN).pcf
> (so only the -bm and -bd arguments are added into the Makefile.)
> The mem file looks like:
> @00 02
> @01 00
> @02 08
> @03 12
> @04 00
> @05 95
> @06 80
> The new bitfile is generated, but no luck. Program not running.
> Anybody an idea how to tackle this?
> Taco walstra



Reply With Quote
  #3 (permalink)  
Old 11-01-2007, 10:46 AM
Arnim
Guest
 
Posts: n/a
Default Re: xilinx bmm file problem


> Has anybody experience with xilinx bitfile merging using a bmm file?

[...]
> The new bitfile is generated, but no luck. Program not running.
> Anybody an idea how to tackle this?


I once summarized my experience with bmm files in
http://home.mnet-online.de/al/BRAM_Bitstreams.html

Maybe you find some answers there.

Cheers

Arnim
Reply With Quote
  #4 (permalink)  
Old 11-05-2007, 08:32 AM
taco
Guest
 
Posts: n/a
Default Re: xilinx bmm file problem

Antti wrote:

> eh the bmm approuch works.
> after some months-years
>
> is your memory 8 or 16 bits?
> if 8 then make the bram block 8 not 16 as in your bmm
>
> connect chipscope to the ram add and data and let it run and look
>
> Antti
>

Just to record the solution which I found last week:
Indeed 8 bits. The bmm file only needed to changed into
cpu_inst/rom/Mrom_D1 [7:0];

The problem occurred because the declaration of the romsize was bigger than
actually initialized which is corrected in the xilinx software, but during
the ngdbuild phase the reduced romsize should be taken into account. Very
logical actually, but that's with many things...
taco
>
>
> On 31 Okt., 15:58, taco <[email protected]> wrote:
>> hello,
>> Has anybody experience with xilinx bitfile merging using a bmm file?
>> I've a small processor core running in a spartan 3A using romcode which I
>> install into a generated vhdl file.
>> like
>> entity ROM is
>> port(
>> Clk : in std_logic;
>> A : in std_logic_vector(12 downto 0);
>> D : out std_logic_vector(7 downto 0)
>> );
>> end ROM;
>>
>> architecture rtl of ROM is
>> signal A_r : std_logic_vector(12 downto 0);
>> type rom_type is array(0 to 1951) of std_logic_vector(7 downto
>> 0); signal ROM:rom_type := (
>> X"02",
>> X"00",
>> X"08",
>> etc.
>> This works fine (programming running), but I would like to replace this
>> with a generic rom file without any initialization or just zero's and
>> merge the romhexfile into the bitfile using a bmm. For the situation
>> above the following bmm file doesn't give any errors:
>> ADDRESS_MAP TV51MAP PPC405 0
>> ADDRESS_BLOCK CPU_INST_ROM RAMB16 [0X0000:0X7ff]
>> BUS_BLOCK
>> cpu_inst/rom/Mrom_D1 [15:0];
>> END_BUS_BLOCK;
>> END_ADDRESS_BLOCK;
>> END_ADDRESS_MAP;
>> It's possible to force a location etc. and a _bd.bmm is generated like
>> the documentation describes.
>> I call ngdbuild with:
>> if ngdbuild -bm cpu_rom.bmm -intstyle ise -dd _ngo -uc $(CONSTRAINTFILE)
>> -p $(DEVICE) $(DESIGN).ngc $(DESIGN).ngd
>> and bitgen with
>> bitgen -bd src/test.mem -w -g UnusedPin:PullNone $< [email protected] $(DESIGN).pcf
>> (so only the -bm and -bd arguments are added into the Makefile.)
>> The mem file looks like:
>> @00 02
>> @01 00
>> @02 08
>> @03 12
>> @04 00
>> @05 95
>> @06 80
>> The new bitfile is generated, but no luck. Program not running.
>> Anybody an idea how to tackle this?
>> Taco walstra


Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
UCF-File problem [email protected] FPGA 6 01-12-2006 02:03 PM
xilinx ml310 + linux + System.map file problem Jaggu FPGA 0 04-21-2005 12:57 PM
Edk BMM file problem in ISE Stephane Julhes FPGA 2 08-24-2004 10:05 PM
ISE 5.2 constraint file problem David Lamb FPGA 4 09-04-2003 11:57 AM


All times are GMT +1. The time now is 04:21 AM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved