Site Home   Archive Home   FAQ Home   How to search the Archive   How to Navigate the Archive   
Compare FPGA features and resources   

Threads starting:
1994JulAugSepOctNovDec1994
1995JanFebMarAprMayJunJulAugSepOctNovDec1995
1996JanFebMarAprMayJunJulAugSepOctNovDec1996
1997JanFebMarAprMayJunJulAugSepOctNovDec1997
1998JanFebMarAprMayJunJulAugSepOctNovDec1998
1999JanFebMarAprMayJunJulAugSepOctNovDec1999
2000JanFebMarAprMayJunJulAugSepOctNovDec2000
2001JanFebMarAprMayJunJulAugSepOctNovDec2001
2002JanFebMarAprMayJunJulAugSepOctNovDec2002
2003JanFebMarAprMayJunJulAugSepOctNovDec2003
2004JanFebMarAprMayJunJulAugSepOctNovDec2004
2005JanFebMarAprMayJunJulAugSepOctNovDec2005
2006JanFebMarAprMayJunJulAugSepOctNovDec2006
2007JanFebMarAprMayJunJulAugSepOctNovDec2007
2008JanFebMarAprMayJunJulAugSepOctNovDec2008
2009JanFebMarAprMayJunJulAugSepOctNovDec2009
2010JanFebMarAprMayJunJulAugSepOctNovDec2010
2011JanFebMarAprMayJunJulAugSepOctNovDec2011
2012JanFebMarAprMayJunJulAugSepOctNovDec2012
2013JanFebMarAprMayJunJulAugSepOctNovDec2013
2014JanFebMarAprMayJunJulAugSepOctNovDec2014
2015JanFebMarAprMayJunJulAugSepOctNovDec2015
2016JanFebMarAprMayJunJulAugSepOctNovDec2016
2017JanFebMarAprMayJunJulAugSepOctNovDec2017
2018JanFebMarAprMayJunJulAugSepOctNovDec2018
2019JanFebMarAprMayJunJulAugSepOctNovDec2019
2020JanFebMarAprMay2020

Authors:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Custom Search

Messages from 146575

Article: 146575
Subject: Re: Why hardware designers should switch to Eclipse
From: Petter Gustad <newsmailcomp6@gustad.com>
Date: Tue, 23 Mar 2010 10:27:41 +0100
Links: << >>  << T >>  << A >>
Philippe <philippe.faes@gmail.com> writes:

> In Eclipse, you can check out a project in any location at all, and
> then point your Eclipse to that location.
> While the conventional place to check out projects would be ${HOME}/
> workspace/projectname, you can use any other location on your file
> system.

But it's not a relative pathname, is it? If you copy it or use it on a
system where the filesystem is mounted elsehere it will fail to find
it.

Petter
-- 
.sig removed by request. 

Article: 146576
Subject: Re: Writing Hex values to file in VHDL?
From: Tricky <trickyhead@gmail.com>
Date: Tue, 23 Mar 2010 02:28:00 -0700 (PDT)
Links: << >>  << T >>  << A >>
On 23 Mar, 01:10, "Pete Fraser" <pfra...@covad.net> wrote:
> I'm trying to dump eight hex values per line
> into a file, and can't work out how to do it.
>
> =A0 =A0for index in 0 to 127 loop
> =A0 =A0 for sample_sel in 0 to 7 loop
> =A0 =A0 =A0sample_val :=3D integer(scale * sin(phase(sample_sel)));
> =A0 =A0 =A0write ( sample_line, sample_val, RIGHT, 10);
> =A0 =A0 =A0phase(sample_sel) :=3D phase(sample_sel) + phase_inc(sample_se=
l);
> =A0 =A0 end loop;
> =A0 =A0 writeline ( ip_dat, sample_line );
> =A0 =A0end loop;
>
> does what I want, but with decimal values.
>
> If I change to:
> hwrite ( sample_line, sample_val, RIGHT, 10);
> or:
> write ( sample_line, to_hstring(sample_val), RIGHT, 10);
> it doesn't compile.
>
> Any thoughts?
>
> Thanks
>
> Pete

why not create an integer to string function:

=20
---------------------------------------------------------------------------=
---------
  --Returns the size of the given integer as if it were a string in
the given Radix
=20
---------------------------------------------------------------------------=
---------
  function get_int_length(x : integer; radix : positive range 2 to
36 :=3D 10) return integer is
    variable temp : integer :=3D abs x;
    variable len  : integer :=3D 0;
  begin

    if x =3D 0 then
      len :=3D 1;
    end if;

    while temp > 0 loop
      temp :=3D temp / radix;

      len  :=3D len + 1;
    end loop;

    if x < 0 then
      len :=3D len + 1;   --add extra character for -ve sign
    end if;

    return len;
  end function get_int_length;

  ----------------------------------------------
  --Converts an integer to a string
  ----------------------------------------------
  function  int_to_string( x : integer; radix : positive range 2 to
36 :=3D 10) return string is

    constant STRING_LEN      : integer :=3D get_int_length(x, radix);
    variable ret_string      : string(1 to STRING_LEN);

    --internal variables
    variable temp            : integer :=3D abs x;
    variable temp_rem        : integer;
  begin

                  --downto to make sure the string isnt the wrong way
round.
    for i in STRING_LEN downto 1 loop

      --add -ve sign
      if i =3D 1 and x < 0 then
        ret_string(i)         :=3D '-';
      else
        temp_rem              :=3D temp rem radix;

        case temp_rem is
          when 0      =3D> ret_string(i) :=3D '0';
          when 1      =3D> ret_string(i) :=3D '1';
          when 2      =3D> ret_string(i) :=3D '2';
          when 3      =3D> ret_string(i) :=3D '3';
          when 4      =3D> ret_string(i) :=3D '4';
          when 5      =3D> ret_string(i) :=3D '5';
          when 6      =3D> ret_string(i) :=3D '6';
          when 7      =3D> ret_string(i) :=3D '7';
          when 8      =3D> ret_string(i) :=3D '8';
          when 9      =3D> ret_string(i) :=3D '9';
          when 10     =3D> ret_string(i) :=3D 'A';
          when 11     =3D> ret_string(i) :=3D 'B';
          when 12     =3D> ret_string(i) :=3D 'C';
          when 13     =3D> ret_string(i) :=3D 'D';
          when 14     =3D> ret_string(i) :=3D 'E';
          when 15     =3D> ret_string(i) :=3D 'F';
          when 16     =3D> ret_string(i) :=3D 'G';
          when 17     =3D> ret_string(i) :=3D 'H';
          when 18     =3D> ret_string(i) :=3D 'I';
          when 19     =3D> ret_string(i) :=3D 'J';
          when 20     =3D> ret_string(i) :=3D 'K';
          when 21     =3D> ret_string(i) :=3D 'L';
          when 22     =3D> ret_string(i) :=3D 'M';
          when 23     =3D> ret_string(i) :=3D 'N';
          when 24     =3D> ret_string(i) :=3D 'O';
          when 25     =3D> ret_string(i) :=3D 'P';
          when 26     =3D> ret_string(i) :=3D 'Q';
          when 27     =3D> ret_string(i) :=3D 'R';
          when 28     =3D> ret_string(i) :=3D 'S';
          when 29     =3D> ret_string(i) :=3D 'T';
          when 30     =3D> ret_string(i) :=3D 'U';
          when 31     =3D> ret_string(i) :=3D 'V';
          when 32     =3D> ret_string(i) :=3D 'W';
          when 33     =3D> ret_string(i) :=3D 'X';
          when 34     =3D> ret_string(i) :=3D 'Y';
          when 35     =3D> ret_string(i) :=3D 'Z';

          --something has gone very wrong. Kill simulation
          when others =3D> report "Illegal option chosen in converting
integer to string" severity failure;
        end case;

        temp :=3D temp / radix;
      end if;
    end loop;

    return ret_string;

  end function int_to_string;

Article: 146577
Subject: Re: Confusion in address generation for MIG generated DDR2 interface
From: Seeker <fpga.tales@gmail.com>
Date: Tue, 23 Mar 2010 03:01:44 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Mar 23, 2:07=A0pm, Magne Munkejord <magnem...@yahoo.no> wrote:
> Hi,
>
> Each address designates a 64 bit word in memory.
> Are you sure about the FIFO's width? As far as I remember this was 128
> bits for read and write data. The command FIFOs width is 36.
>
> The DDR2 controller transmits 64 bits at rising and 64 bits at falling
> edge of the clock, 128 bits per clock cycle.
>
> A burst size of 8 means 8x64 bits words burst length which is 4x128 bits
> words in your data FIFOs (read or write) per read/write command.
>
> HTH,
>
> Magne

Thanks for the reply,
You are right, the data FIFO is 128 bits wide.
In case of a burst length of 4, every write command would have 2x128
bits write (4x64 bits). If each address designates a 64 bit word in
memory (which is what I thought), the addresses should be generated
with an offset of 4 (since there are 4 64 bit words, each 64 bits
corresponds to a location in memory), the addresses should progress
like 0x000000, 0x000004, 0x00008 and so on. Then why the simulation
generated from MIG progresses the addresses with an offset of 8? Is it
just to show writing and reading of the memory?

Seeker...

Article: 146578
Subject: Re: Why hardware designers should switch to Eclipse
From: Hendrik <hendrik.eeckhaut@gmail.com>
Date: Tue, 23 Mar 2010 03:04:09 -0700 (PDT)
Links: << >>  << T >>  << A >>
Moving files around within your project is a no-brainer. Sigasi will
even update your Makefile if you wish.
And it is also no problem to move 'projects' around on your computer
(or network). You just have to point Eclipse to the new location.

Hendrik.



On Mar 23, 10:27=A0am, Petter Gustad <newsmailco...@gustad.com> wrote:
> Philippe <philippe.f...@gmail.com> writes:
> > In Eclipse, you can check out a project in any location at all, and
> > then point your Eclipse to that location.
> > While the conventional place to check out projects would be ${HOME}/
> > workspace/projectname, you can use any other location on your file
> > system.
>
> But it's not a relative pathname, is it? If you copy it or use it on a
> system where the filesystem is mounted elsehere it will fail to find
> it.
>
> Petter
> --
> .sig removed by request.


Article: 146579
Subject: Re: Why hardware designers should switch to Eclipse
From: "Nial Stewart" <nial*REMOVE_THIS*@nialstewartdevelopments.co.uk>
Date: Tue, 23 Mar 2010 10:13:19 -0000
Links: << >>  << T >>  << A >>
> Generally I use nedit and a whole bunch of perl scripts/java apps I've written
> over the years. I'm not totally against eclipse. I use it with the Lattice mico32
> environment for instance.

Similary, I use Textpad with perl scripts and a lot of tool customisation.


> Regarding the Sigasi tool, the price on the website is 'within reason'. What's not
> within reason, IMHO, is the licensing model. If I don't fork out every year it
> will stop working. I would never even look at a tool that I can't get a perpetual
> license for. If I develop a project with it then I want to be able to come back to
> it again in five years if I have to regenerate the project from my archives.

I started looking at Sigasi but stopped experimenting when I found out the price/
licensing model.


Nial







Article: 146580
Subject: Re: Confusion in address generation for MIG generated DDR2 interface
From: Magne Munkejord <magnemunk@yahoo.no>
Date: Tue, 23 Mar 2010 11:19:16 +0100
Links: << >>  << T >>  << A >>
Seeker wrote:
> On Mar 23, 2:07 pm, Magne Munkejord <magnem...@yahoo.no> wrote:
>> Hi,
>>
>> Each address designates a 64 bit word in memory.
>> Are you sure about the FIFO's width? As far as I remember this was 128
>> bits for read and write data. The command FIFOs width is 36.
>>
>> The DDR2 controller transmits 64 bits at rising and 64 bits at falling
>> edge of the clock, 128 bits per clock cycle.
>>
>> A burst size of 8 means 8x64 bits words burst length which is 4x128 bits
>> words in your data FIFOs (read or write) per read/write command.
>>
>> HTH,
>>
>> Magne
> 
> Thanks for the reply,
> You are right, the data FIFO is 128 bits wide.
> In case of a burst length of 4, every write command would have 2x128
> bits write (4x64 bits). If each address designates a 64 bit word in
> memory (which is what I thought), the addresses should be generated
> with an offset of 4 (since there are 4 64 bit words, each 64 bits
> corresponds to a location in memory), the addresses should progress
> like 0x000000, 0x000004, 0x00008 and so on. Then why the simulation
> generated from MIG progresses the addresses with an offset of 8? Is it
> just to show writing and reading of the memory?
> 
> Seeker...

Could be, but I remember that a burst length of 8 is also an option in 
the MIG so maybe they made the testbench so that it would work for both 
options (4 and 8 burst length) or maybe the testbench is confused which 
option is set?
(by "offset of 8" I assume you mean increments of 8.)

Magne

Article: 146581
Subject: Re: Why hardware designers should switch to Eclipse
From: Petter Gustad <newsmailcomp6@gustad.com>
Date: Tue, 23 Mar 2010 11:24:01 +0100
Links: << >>  << T >>  << A >>
Hendrik <hendrik.eeckhaut@gmail.com> writes:

> (or network). You just have to point Eclipse to the new location.

That's one of the things I don't like: absolute pathnames.

In my typical makefile based environment I don't have to change
anything to point to the new location if I should switch back and
forth between computers where the directory is mounted at different
mount points since the paths are all relative.


Pettr
-- 
.sig removed by request. 

Article: 146582
Subject: Re: Why hardware designers should switch to Eclipse
From: Hendrik <hendrik.eeckhaut@gmail.com>
Date: Tue, 23 Mar 2010 03:55:17 -0700 (PDT)
Links: << >>  << T >>  << A >>
You misunderstood. The only absolute path is in the user interface. If
you move your project, you will also have to change parameters to
point Emacs to the new location, be it a command line parameter.

The paths in Makefiles do NOT depend on the location of the project.

Hendrik.


On Mar 23, 11:24=A0am, Petter Gustad <newsmailco...@gustad.com> wrote:
> Hendrik <hendrik.eeckh...@gmail.com> writes:
> > (or network). You just have to point Eclipse to the new location.
>
> That's one of the things I don't like: absolute pathnames.
>
> In my typical makefile based environment I don't have to change
> anything to point to the new location if I should switch back and
> forth between computers where the directory is mounted at different
> mount points since the paths are all relative.
>
> Pettr
> --
> .sig removed by request.


Article: 146583
Subject: Re: Writing Hex values to file in VHDL?
From: "Pete Fraser" <pfraser@covad.net>
Date: Tue, 23 Mar 2010 05:10:25 -0700
Links: << >>  << T >>  << A >>
"backhus" <goouse99@googlemail.com> wrote in message 
news:932a8e33-617d-4f84-928a-2f9729b09105@g28g2000yqh.googlegroups.com...

> which simulator do you use?
Active-HDL 8.2

> Probably the compile options are set to some old VHDL standard or you
> are using wrong or outdated libraries for the functions you intend to
> use.
I'm compiling with -2008.

Thanks

Pete 



Article: 146584
Subject: Re: Why hardware designers should switch to Eclipse
From: Marcus Harnisch <marcus.harnisch@gmx.net>
Date: Tue, 23 Mar 2010 13:10:29 +0100
Links: << >>  << T >>  << A >>
Philippe <philippe.faes@gmail.com> writes:

> In Eclipse, you can check out a project in any location at all, and
> then point your Eclipse to that location.

Problem is that in Eclipse you don't seem to be able to specify
*project relative* paths for resources (aka project files), except via
user variables which is annoying. All paths are either absolute or
relative to the workspace.

As for the speed, once started up, Eclipse/Win32 runs with decent
performance fast even on my old laptop. Even closing it an restarting
is not too bad. The startup delay is due to the JavaVM I suppose.

I know (former) passionate Eclipse haters who have just switched due
to the impressive speed improvements in recent versions.

Disclaimer: I use Eclipse for certain C development only, so my
opinion might be impacted by behaviour specific to ARM Embedded
Workbench/CDT plugin features.

Regards
Marcus

-- 
note that "property" can also be used as syntactic sugar to reference
a property, breaking the clean design of verilog; [...]

             (seen on http://www.veripool.com/verilog-mode_news.html)

Article: 146585
Subject: Re: Writing Hex values to file in VHDL?
From: "Pete Fraser" <pfraser@covad.net>
Date: Tue, 23 Mar 2010 05:13:31 -0700
Links: << >>  << T >>  << A >>
"he" <he_novalid_addresse@arcor.de> wrote in message 
news:4ba86240$0$7658$9b4e6d93@newsspool1.arcor-online.net...

> which textio-library are you using? if i remember correctly,
> hread/hwrite can only be used with ieee.std_logic_textio.all;

I'm using std.textio.all.
I'll give the other library a try, but sample_val is an integer,
so I didn't think I'd have to mess with std_logic stuff.

Thanks

Pete 



Article: 146586
Subject: Re: Writing Hex values to file in VHDL?
From: "Pete Fraser" <pfraser@covad.net>
Date: Tue, 23 Mar 2010 05:15:18 -0700
Links: << >>  << T >>  << A >>
"Magne Munkejord" <magnemunk@yahoo.no> wrote in message 
news:hoa188$2opp$1@toralf.uib.no...

> From my experiences from modelsim :
> * hwrite works on std_logic_vector but requires the vector to be of "even 
> length", that is the length must be a multiple of 4.
> * to_hstring doesn't work for std_logic_vector, you'll have to convert it 
> to a bit_vector first.

Probably my problem is that sample_val is an integer.
How to I print an integer as hex?

Thanks

Pete 



Article: 146587
Subject: Re: Writing Hex values to file in VHDL?
From: "Pete Fraser" <pfraser@covad.net>
Date: Tue, 23 Mar 2010 05:17:34 -0700
Links: << >>  << T >>  << A >>
"Tricky" <trickyhead@gmail.com> wrote in message 
news:1fc70f4e-cd42-49cc-8d65-2a4b8d1eb032@d37g2000yqn.googlegroups.com...

> why not create an integer to string function:
[code supplied]

Thanks. I'll try that.
It's my first time using textio, and I just assumed
some formatting control was provided somewhere,
but that I was too dumb to find it.

Pete 



Article: 146588
Subject: Re: Standard cell library help
From: Jason Thibodeau <jason.p.thibodeau@gmail.com>
Date: Tue, 23 Mar 2010 08:17:50 -0400
Links: << >>  << T >>  << A >>
I'm sorry, Kal and Ed, I should have been more specific.

I know what the gates are, but they are not defined in the code 
anywhere. I am figuring I need to include a library where they will be 
defined, but I don't know which I should be using, or if any are even 
available in the Xilinx flow.

I import the (verilog) benchmark, instantiate it in my VHDL toplevel, 
and when it is synthesized, I have 614 errors since the gates are not 
defined.

I was hoping it would be something as simple as including a library.

On 03/23/2010 12:47 AM, Muzaffer Kal wrote:
> On Mon, 22 Mar 2010 17:59:29 -0700 (PDT), Ed McGettigan
> <ed.mcgettigan@xilinx.com>  wrote:
>
>> On Mar 22, 5:42 pm, Jason Thibodeau<jason.p.thibod...@gmail.com>
>> wrote:
>>> I'm having a terrible time finding a solution to a library problem.
>>>
>>> I am implementing some IWLS benchmarks on a Spartan3e, and I need some
>>> standard cells such as:
>>>
>>> AOI21X1
>>> AND3X1
>>> AND2X1
>>> NAND2X1
>>>
>>> etc.
>>>
>>> Does anyone have a suggestion? Am I overlooking something simple?
>>>
>>> Thanks in advance.
>>> --
>>> Jason Thibodeau
>>
>> The standard cell library should document the function of each these
>> cells.  Likely guesses are.
>>
>> AOI21X1 - 2-Input AND-OR with Inversion on inputs?
>> AND3X1 - 3-Input AND
>> AND2X1 - 2-Input AND
>> NAND2X1 - 2-Input NAND
>>
>> etc... = etc... :-)
>>
>> Ed McGettigan
>
> If we had more info, we can make better guesses. The ports are
> extremely helpful in fact. Usually AOI21 is AND-OR of two inputs which
> is OR-inverted  with the third ie y = !((a0&a1) | b0).
> One more thing which is again very helpful is to get the simulation
> model of the standard cell library and use it without any timing as
> the behavioral model. Synthesis tools do a pretty decent job of doing
> the mapping.


-- 
Jason Thibodeau
www.jayt.org

Article: 146589
Subject: Xilinx ISE Tcl Script Error
From: "jjplaw" <jjplawnewera@n_o_s_p_a_m.yahoo.co.uk>
Date: Tue, 23 Mar 2010 07:23:03 -0500
Links: << >>  << T >>  << A >>
Newbie here. I'm running a program that invokes a tcl file. I'm trying to
execute the xilinx tcl commands from that tcl script.

In the tcl script, i only have the following code.

source $env(XILINX)/bin/xilinx-init.tcl

But i received the following error when the script gets invoked:

error reading package index file C:/Xilinx/10.1/ISE/bin/pkgIndex.tcl: load:
Cannot match with any static package. 
Try "load_unsupported" to load dynamic packages into statically wrapped
applications. 
error reading package index file C:/Xilinx/10.1/ISE/bin/pkgIndex.tcl: load:
Cannot match with any static package. 
Try "load_unsupported" to load dynamic packages into statically wrapped
applications. 
can't find package xilinx 
while executing 
"package require xilinx" 
(file "C:\Xilinx\10.1\ISE/bin/xilinx-init.tcl" line 30) 
invoked from within 
"source $env(XILINX)/bin/xilinx-init.tcl"
...........
....

Anyone here with experience dealing with xilinx tcl commands?
Any idea how to solve this? Please advise....

	   
					
---------------------------------------		
Posted through http://www.FPGARelated.com

Article: 146590
Subject: Re: Writing Hex values to file in VHDL?
From: Magne Munkejord <magnemunk@yahoo.no>
Date: Tue, 23 Mar 2010 13:43:02 +0100
Links: << >>  << T >>  << A >>
Pete Fraser wrote:
> "Magne Munkejord" <magnemunk@yahoo.no> wrote in message 
> news:hoa188$2opp$1@toralf.uib.no...
> 
>> From my experiences from modelsim :
>> * hwrite works on std_logic_vector but requires the vector to be of "even 
>> length", that is the length must be a multiple of 4.
>> * to_hstring doesn't work for std_logic_vector, you'll have to convert it 
>> to a bit_vector first.
> 
> Probably my problem is that sample_val is an integer.
> How to I print an integer as hex?
> 
> Thanks
> 
> Pete 
> 
> 
It was in the original post, if you missed it:
std_logic_vector(to_unsigned(sample_val, <length>))

make sure <length> is multiple of 4 if you intend to use it with hwrite.

Article: 146591
Subject: Re: Confusion in address generation for MIG generated DDR2 interface
From: Gabor <gabor@alacron.com>
Date: Tue, 23 Mar 2010 06:02:35 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Mar 23, 6:19=A0am, Magne Munkejord <magnem...@yahoo.no> wrote:
> Seeker wrote:
> > On Mar 23, 2:07 pm, Magne Munkejord <magnem...@yahoo.no> wrote:
> >> Hi,
>
> >> Each address designates a 64 bit word in memory.
> >> Are you sure about the FIFO's width? As far as I remember this was 128
> >> bits for read and write data. The command FIFOs width is 36.
>
> >> The DDR2 controller transmits 64 bits at rising and 64 bits at falling
> >> edge of the clock, 128 bits per clock cycle.
>
> >> A burst size of 8 means 8x64 bits words burst length which is 4x128 bi=
ts
> >> words in your data FIFOs (read or write) per read/write command.
>
> >> HTH,
>
> >> Magne
>
> > Thanks for the reply,
> > You are right, the data FIFO is 128 bits wide.
> > In case of a burst length of 4, every write command would have 2x128
> > bits write (4x64 bits). If each address designates a 64 bit word in
> > memory (which is what I thought), the addresses should be generated
> > with an offset of 4 (since there are 4 64 bit words, each 64 bits
> > corresponds to a location in memory), the addresses should progress
> > like 0x000000, 0x000004, 0x00008 and so on. Then why the simulation
> > generated from MIG progresses the addresses with an offset of 8? Is it
> > just to show writing and reading of the memory?
>
> > Seeker...
>
> Could be, but I remember that a burst length of 8 is also an option in
> the MIG so maybe they made the testbench so that it would work for both
> options (4 and 8 burst length) or maybe the testbench is confused which
> option is set?
> (by "offset of 8" I assume you mean increments of 8.)
>
> Magne

Maybe the testbench writer was just lazy and an offset of 8
would "work" for either case because you never overwrite
any data even though in the burst of 4 case you skip over
half the available memory?

- Gabor

Article: 146592
Subject: Re: Update init data in dualport BRAM without re-run anything?
From: Mawa_fugo <ccon67@netscape.net>
Date: Tue, 23 Mar 2010 06:08:25 -0700 (PDT)
Links: << >>  << T >>  << A >>
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

Article: 146593
Subject: Re: Writing Hex values to file in VHDL?
From: "Pete Fraser" <pfraser@covad.net>
Date: Tue, 23 Mar 2010 06:27:16 -0700
Links: << >>  << T >>  << A >>
"Magne Munkejord" <magnemunk@yahoo.no> wrote in message 
news:hoad0m$4g$1@toralf.uib.no...

> It was in the original post, if you missed it:
> std_logic_vector(to_unsigned(sample_val, <length>))
>
> make sure <length> is multiple of 4 if you intend to use it with hwrite.

That worked great.
I shouldn't read / respond to posts at 4 am.

Thanks

Pete 



Article: 146594
Subject: Re: Finally, selling my old Xilinx/Viewlogic software package
From: Peter <nospam@nospam1234.com>
Date: Tue, 23 Mar 2010 13:32:41 +0000
Links: << >>  << T >>  << A >>

D Yuniskis <not.going.to.be@seen.com> wrote

>I don;t recall yours as showing much age!  :>  Though it *has* been
>a few years (and I am always amazed at just how *quick* things like
>this can change  ;-)

You're very kind :) My new girl is looking after me well :) Another
reason I don't do FPGA design anymore ;)

>Wow!  I wouldn't have thought them to still be available!  I've
>an XC4xxx in a design that I had abandoned figuring it would be
>impossible to get...

I think the 4k devices are pretty well available. Also there is a huge
(vast) surplus component market out there. You could keep yourself
stocked in 1990s parts for ever. They gradually get more expensive,
and are rarely available right there when you want them (the stocks
appear at random times) and you can't get real production volumes, but
"low cost" and "Xilinx" was never said in the same sentence :) The top
end 4k devices were about $1500 when I looked at using one for
building a replacement for a UART (one of the TMS9900 family) which TI
stopped making but there were many 1000s in the field and for some
bizzare reason they had defective silicon which made them all fail
after some years. I lined-up an FPGA designer for the customer on that
job... That would have been a fun project - building a drop-in
replacement for a fairly complex uP peripheral chip. Obviously one
would not be implementing stuff like SDLC...

>So, your attitude is "move on to new tools *if* the need arises"?

Actually, my attitude would be to bit-bang it with an Atmel uC. Every
single FPGA design I ever did could have been done with a fast simple
uC, with a bit of imagination - except the ASIC prototyping projects,
obviously. Might need a few chips on the outside but the learning
curve of assembler programming is maybe 1% of the l.c. on FPGA design.
And you don't have to re-learn everything every time the FPGA vendor
turns everything upside down in trying to keep ahead of the
competition. I decided long ago that FPGAs are a technology for "must
get there now before the competition no matter what the long term cost
is" and the long term cost is that  after a few years you cannot
maintain the design because after the original designer has left
nobody will want to touch it. And the later tools will not import the
original designs, which is really great.... in fact that happened
right after Xilinx dropped Viewlogic as schematic entry. I had loads
of correspondence with them at the time but their view was "tough...
move on". All schematics had to be re-drawn in the new tool. You could
keep VL running somewhere but if the dongle broke, everything was
orphaned. Luckily, as I said, the dongle got cracked ;)

Article: 146595
Subject: Re: Why hardware designers should switch to Eclipse
From: "M. Norton" <remillard@gmail.com>
Date: Tue, 23 Mar 2010 06:41:50 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Mar 22, 6:36=A0pm, Eric Smith <space...@gmail.com> wrote:
> On Mar 22, 2:36=A0pm, "M. Norton" <remill...@gmail.com> wrote:
>
> > On whole I agree with you, however let's be realistic, the learning
> > curve for Emacs is incredibly steep.
>
> A steep learning curve is a Good Thing. =A0If it was shallow, it would
> take you a very long time to learn it.

Alright, you got me.  :-)  I used the phrase in a vernacular way
without being terribly precise.  Let me be specific.

With emacs, coming at it with little to no prior knowledge, there are
a great many skills that need to be acquired to become proficient with
merely editing text, let alone achieving the productivity required to
achieve success in a reasonable amount of time for a complex HDL
project, in particular compared to a text editor whose interface that,
through use of various other common text editing utilities and
applications, might be relatively intuitive.

With Sigasi, at least upon light inspection, I thought it had a great
many features that might be useful for the casual HDL designer without
the necessity of becoming fully proficient with emacs.  I believe
emacs is probably the superior environment, not the least of which is
the FOSS nature of the software compared with the Sigasi, but it is
not a trivial task to learn it.

I didn't try Sigasi with anything very large, and I did not try to
customize it.  I stepped through the tutorial/feature list, thought
"hey that's interesting" and went back to my development in emacs.  I
would hope that the Sigasi developers are reading this thread and
noticing all the complaints from others and considering ways to
mitigate those experiences.  Still simply because I do not need the
features at the price doesn't mean no one would find value with it,
which is all I was trying to express originally.

As for the "steep learning curve" comment, I did a little research on
Google and it's an interestingly common mis-use of the concept so I'll
have to find some other way of saying what I intended to say :-).

Mark Norton


Article: 146596
Subject: Re: Standard cell library help
From: jkljljklk <maricic@gmail.com>
Date: Tue, 23 Mar 2010 06:47:48 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Mar 23, 8:17=A0am, Jason Thibodeau <jason.p.thibod...@gmail.com>
wrote:
> I'm sorry, Kal and Ed, I should have been more specific.
>
> I know what the gates are, but they are not defined in the code
> anywhere. I am figuring I need to include a library where they will be
> defined, but I don't know which I should be using, or if any are even
> available in the Xilinx flow.
>
> I import the (verilog) benchmark, instantiate it in my VHDL toplevel,
> and when it is synthesized, I have 614 errors since the gates are not
> defined.
>
> I was hoping it would be something as simple as including a library.
>
> On 03/23/2010 12:47 AM, Muzaffer Kal wrote:
>
>
>
> > On Mon, 22 Mar 2010 17:59:29 -0700 (PDT), Ed McGettigan
> > <ed.mcgetti...@xilinx.com> =A0wrote:
>
> >> On Mar 22, 5:42 pm, Jason Thibodeau<jason.p.thibod...@gmail.com>
> >> wrote:
> >>> I'm having a terrible time finding a solution to a library problem.
>
> >>> I am implementing some IWLS benchmarks on a Spartan3e, and I need som=
e
> >>> standard cells such as:
>
> >>> AOI21X1
> >>> AND3X1
> >>> AND2X1
> >>> NAND2X1
>
> >>> etc.
>
> >>> Does anyone have a suggestion? Am I overlooking something simple?
>
> >>> Thanks in advance.
> >>> --
> >>> Jason Thibodeau
>
> >> The standard cell library should document the function of each these
> >> cells. =A0Likely guesses are.
>
> >> AOI21X1 - 2-Input AND-OR with Inversion on inputs?
> >> AND3X1 - 3-Input AND
> >> AND2X1 - 2-Input AND
> >> NAND2X1 - 2-Input NAND
>
> >> etc... =3D etc... :-)
>
> >> Ed McGettigan
>
> > If we had more info, we can make better guesses. The ports are
> > extremely helpful in fact. Usually AOI21 is AND-OR of two inputs which
> > is OR-inverted =A0with the third ie y =3D !((a0&a1) | b0).
> > One more thing which is again very helpful is to get the simulation
> > model of the standard cell library and use it without any timing as
> > the behavioral model. Synthesis tools do a pretty decent job of doing
> > the mapping.
>
> --
> Jason Thibodeauwww.jayt.org

Why don't you create a standard cell library yourself? In verilog it
should be pretty straightforward.

Article: 146597
Subject: Re: Why hardware designers should switch to Eclipse
From: John_H <newsgroup@johnhandwork.com>
Date: Tue, 23 Mar 2010 06:51:26 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Mar 23, 1:44=A0am, Eric Smith <space...@gmail.com> wrote:
> Think about it. =A0When you graph the learning curve, what are the axes?

uhhh.... "steep learning curve" is a bad thing.  The axis aren't
knowledge gained versus time but knowledge required versus competence.

It's not like a "quantum improvement" where a quanta is the lowest
measurable unit.  Learning curves haven't been misused in this
engineer's opinion.  Perhaps until now.

Article: 146598
Subject: Re: Why hardware designers should switch to Eclipse
From: Gabor <gabor@alacron.com>
Date: Tue, 23 Mar 2010 06:56:37 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Mar 22, 3:43=A0pm, Philippe <philippe.f...@gmail.com> wrote:
> Integrated Development Environments (IDEs) have long been the primary
> tool for software engineers. Like an airplane cockpit, an IDE is the
> control center from which the engineer accesses all of the data and
> tools that he needs. IDEs, and especially Eclipse, have proven to be
> extensible, open, high quality platforms.
>
> However, until now, IDEs have not been popular in hardware development
> circles. This is partly because many of the available IDEs for
> hardware development have not lived up to the potential of IDEs that
> is typical in the software world. Instead, IDEs tend to be overly
> complex, closed, and they lock the customer in.
>
> Today, though, Eclipse is finally gaining traction among EDA
> (electronic design automation) and FPGA companies. One such EDA
> company, Sigasi, has just released the first commercial VHDL plugin
> for Eclipse. Now, at last, hardware design teams can use Eclipse as a
> basis for their own customized IDEs, based on the commercial and open-
> source plugins that they need in their central cockpit for hardware
> design.
>
> I've published a white paper on this subject.http://www.sigasi.com/conten=
t/why-hardware-designers-should-switch-ec...
> I'd be interested to know what you guys think.
>
> kind regards
>
> Philippe Faes
> Founding CEO Sigasihttp://www.sigasi.com

Any plans to support the other half of hardware developers in
the Verilog camp?  Most of my projects are either all Verilog
or mixed VHDL / Verilog.  For just code entry I either use
the chip-vendors brain-dead editor, which at least highlights
known device primitive names so I don't need the Libraries
Guide every time I instantiate them, or I use MED with my
own language customizations.

Regards,
Gabor

Article: 146599
Subject: Re: Standard cell library help
From: Jason Thibodeau <jason.p.thibodeau@gmail.com>
Date: Tue, 23 Mar 2010 10:15:26 -0400
Links: << >>  << T >>  << A >>
On 03/23/2010 09:47 AM, jkljljklk wrote:
> On Mar 23, 8:17 am, Jason Thibodeau<jason.p.thibod...@gmail.com>
> wrote:
>> I'm sorry, Kal and Ed, I should have been more specific.
>>
>> I know what the gates are, but they are not defined in the code
>> anywhere. I am figuring I need to include a library where they will be
>> defined, but I don't know which I should be using, or if any are even
>> available in the Xilinx flow.
>>
>> I import the (verilog) benchmark, instantiate it in my VHDL toplevel,
>> and when it is synthesized, I have 614 errors since the gates are not
>> defined.
>>
>> I was hoping it would be something as simple as including a library.
>>
>> On 03/23/2010 12:47 AM, Muzaffer Kal wrote:
>>
>>
>>
>>> On Mon, 22 Mar 2010 17:59:29 -0700 (PDT), Ed McGettigan
>>> <ed.mcgetti...@xilinx.com>    wrote:
>>
>>>> On Mar 22, 5:42 pm, Jason Thibodeau<jason.p.thibod...@gmail.com>
>>>> wrote:
>>>>> I'm having a terrible time finding a solution to a library problem.
>>
>>>>> I am implementing some IWLS benchmarks on a Spartan3e, and I need some
>>>>> standard cells such as:
>>
>>>>> AOI21X1
>>>>> AND3X1
>>>>> AND2X1
>>>>> NAND2X1
>>
>>>>> etc.
>>
>>>>> Does anyone have a suggestion? Am I overlooking something simple?
>>
>>>>> Thanks in advance.
>>>>> --
>>>>> Jason Thibodeau
>>
>>>> The standard cell library should document the function of each these
>>>> cells.  Likely guesses are.
>>
>>>> AOI21X1 - 2-Input AND-OR with Inversion on inputs?
>>>> AND3X1 - 3-Input AND
>>>> AND2X1 - 2-Input AND
>>>> NAND2X1 - 2-Input NAND
>>
>>>> etc... = etc... :-)
>>
>>>> Ed McGettigan
>>
>>> If we had more info, we can make better guesses. The ports are
>>> extremely helpful in fact. Usually AOI21 is AND-OR of two inputs which
>>> is OR-inverted  with the third ie y = !((a0&a1) | b0).
>>> One more thing which is again very helpful is to get the simulation
>>> model of the standard cell library and use it without any timing as
>>> the behavioral model. Synthesis tools do a pretty decent job of doing
>>> the mapping.
>>
>> --
>> Jason Thibodeauwww.jayt.org
>
> Why don't you create a standard cell library yourself? In verilog it
> should be pretty straightforward.


That's what I will do if I can't find a solution, but I'm hoping there 
is a less time-consuming approach.

-- 
Jason Thibodeau



Site Home   Archive Home   FAQ Home   How to search the Archive   How to Navigate the Archive   
Compare FPGA features and resources   

Threads starting:
1994JulAugSepOctNovDec1994
1995JanFebMarAprMayJunJulAugSepOctNovDec1995
1996JanFebMarAprMayJunJulAugSepOctNovDec1996
1997JanFebMarAprMayJunJulAugSepOctNovDec1997
1998JanFebMarAprMayJunJulAugSepOctNovDec1998
1999JanFebMarAprMayJunJulAugSepOctNovDec1999
2000JanFebMarAprMayJunJulAugSepOctNovDec2000
2001JanFebMarAprMayJunJulAugSepOctNovDec2001
2002JanFebMarAprMayJunJulAugSepOctNovDec2002
2003JanFebMarAprMayJunJulAugSepOctNovDec2003
2004JanFebMarAprMayJunJulAugSepOctNovDec2004
2005JanFebMarAprMayJunJulAugSepOctNovDec2005
2006JanFebMarAprMayJunJulAugSepOctNovDec2006
2007JanFebMarAprMayJunJulAugSepOctNovDec2007
2008JanFebMarAprMayJunJulAugSepOctNovDec2008
2009JanFebMarAprMayJunJulAugSepOctNovDec2009
2010JanFebMarAprMayJunJulAugSepOctNovDec2010
2011JanFebMarAprMayJunJulAugSepOctNovDec2011
2012JanFebMarAprMayJunJulAugSepOctNovDec2012
2013JanFebMarAprMayJunJulAugSepOctNovDec2013
2014JanFebMarAprMayJunJulAugSepOctNovDec2014
2015JanFebMarAprMayJunJulAugSepOctNovDec2015
2016JanFebMarAprMayJunJulAugSepOctNovDec2016
2017JanFebMarAprMayJunJulAugSepOctNovDec2017
2018JanFebMarAprMayJunJulAugSepOctNovDec2018
2019JanFebMarAprMayJunJulAugSepOctNovDec2019
2020JanFebMarAprMay2020

Authors:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Custom Search