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 140250

Article: 140250
Subject: Re: Spartan3E Starter Kit MISO and Flash pin shared
From: "mstanisz" <matt.staniszewski@gmail.com>
Date: Tue, 05 May 2009 16:42:07 -0500
Links: << >>  << T >>  << A >>
I've searched a little more and found that if I can somehow merge Ben
Cohen's 0 ohm device
(http://groups.google.com/group/comp.lang.vhdl/msg/7d14832588a0cabb) with
a
bi-directional MUX
(http://www.tek-tips.com/viewthread.cfm?qid=1188582&page=7), then I might
be able to create the VHDL module I would need.  The bus splitting
doesn't
need a module, since in VHDL I'll just manipulate bit0 of the inputted
flash data bus and pass the other 7 bits through.  Would this work? 
Thanks.

Matt

>The MISO and data<0> signals are bidirectional (IO).  Can you make a
>mux/switcher and bus splitter for bidirectional signals?
>
>Matt
>
>>"mstanisz" <matt.staniszewski@gmail.com> wrote in message 
>>news:19mdndgAN665R2LUnZ2dnUVZ_qadnZ2d@giganews.com...
>>> Okay, I went ahead and removed the duplicate NETs in the UCF and made
>them
>>> internal.  I'm trying to figure out how to MUX between the two
signals
>>> using a core in EDK.  It does seem like it should be fairly simple,
but
>
>>> I'm
>>> not sure how to go about it with IP cores.  Thanks.
>>
>>Minimally, define a module with OUT pins for the two now disconnected
>nets, 
>>additional pins for selection, and an IN pin for the external net. Add
>the 
>>external net to the UCF. This is exactly as you would do for any old
>simple 
>>design. There might already be an example or usable hdl in the samples
>files 
>>for that board.
>>
>>My normal workflow wraps the EDK project in an ISE project. Instantiate
>the 
>>switcher/mux in the top most module, at the same level you instantiate
>the 
>>EDK system. Swap and mix the pins as you need. Take a look at (for a
>project 
>>named system.xmp) hdl/system_stub.vhd for an example of instantiating
the
>
>>EDK system.
>>
>>I think it would be a bad idea to tear into the pcore hdl or wrappers
to
>do 
>>this.
>>
>>
>

Article: 140251
Subject: MPPR weirdness in ISE8.2.03
From: "MM" <mbmsv@yahoo.com>
Date: Tue, 5 May 2009 18:14:18 -0400
Links: << >>  << T >>  << A >>
Can someone explain the following behaviour?

1. Running MPPR to find the optimal seed number
par -n 0 -pl high -rl std -t 2 cufc_top_map.ncd results.dir cufc_top.pcf

Level/      Design      Timing      Number      Run         NCD
Cost [ncd]  Score       Score       Unrouted    Time        Status
----------  ------      --------    --------    -----       ------------
H_S_36  *   2269        302         0           33:09       Complete
H_S_26  *   4271        496         0           37:41       Complete
etc...

2. Running PAR with the found seed number
par -pl high -rl std -t 36 cufc_top_map.ncd cufc_top_par cufc_top.pcf

Timing Score: 243686


/Mikhail 



Article: 140252
Subject: Re: Spartan3E Starter Kit MISO and Flash pin shared
From: "Antti.Lukats@googlemail.com" <Antti.Lukats@googlemail.com>
Date: Tue, 5 May 2009 20:39:00 -0700 (PDT)
Links: << >>  << T >>  << A >>
On May 6, 12:42=A0am, "mstanisz" <matt.staniszew...@gmail.com> wrote:
> I've searched a little more and found that if I can somehow merge Ben
> Cohen's 0 ohm device
> (http://groups.google.com/group/comp.lang.vhdl/msg/7d14832588a0cabb) with
> a
> bi-directional MUX
> (http://www.tek-tips.com/viewthread.cfm?qid=3D1188582&page=3D7), then I m=
ight
> be able to create the VHDL module I would need. =A0The bus splitting
> doesn't
> need a module, since in VHDL I'll just manipulate bit0 of the inputted
> flash data bus and pass the other 7 bits through. =A0Would this work?
> Thanks.
>
> Matt
>
>
>
>
>
> >The MISO and data<0> signals are bidirectional (IO). =A0Can you make a
> >mux/switcher and bus splitter for bidirectional signals?
>
> >Matt
>
> >>"mstanisz" <matt.staniszew...@gmail.com> wrote in message
> >>news:19mdndgAN665R2LUnZ2dnUVZ_qadnZ2d@giganews.com...
> >>> Okay, I went ahead and removed the duplicate NETs in the UCF and made
> >them
> >>> internal. =A0I'm trying to figure out how to MUX between the two
> signals
> >>> using a core in EDK. =A0It does seem like it should be fairly simple,
> but
>
> >>> I'm
> >>> not sure how to go about it with IP cores. =A0Thanks.
>
> >>Minimally, define a module with OUT pins for the two now disconnected
> >nets,
> >>additional pins for selection, and an IN pin for the external net. Add
> >the
> >>external net to the UCF. This is exactly as you would do for any old
> >simple
> >>design. There might already be an example or usable hdl in the samples
> >files
> >>for that board.
>
> >>My normal workflow wraps the EDK project in an ISE project. Instantiate
> >the
> >>switcher/mux in the top most module, at the same level you instantiate
> >the
> >>EDK system. Swap and mix the pins as you need. Take a look at (for a
> >project
> >>named system.xmp) hdl/system_stub.vhd for an example of instantiating
> the
>
> >>EDK system.
>
> >>I think it would be a bad idea to tear into the pcore hdl or wrappers
> to
> >do
> >>this.- Hide quoted text -
>
> - Show quoted text -

you need

own small EDK IP, that


connects to xx_I xx_T xx_O busses (from the parallel flash core,
you need make this bus internal) and to your signal. you need to mux
using control signal, the new IP exposes the new bus to be exported

takes about 30 minutes to make


Antti




Article: 140253
Subject: Re: Spartan3E Starter Kit MISO and Flash pin shared
From: "MikeWhy" <boat042-nospam@yahoo.com>
Date: Wed, 6 May 2009 00:59:09 -0500
Links: << >>  << T >>  << A >>
"mstanisz" <matt.staniszewski@gmail.com> wrote in message 
news:0f2dnf-i_aMyL53XnZ2dnUVZ_hqdnZ2d@giganews.com...
> I've searched a little more and found that if I can somehow merge Ben
> Cohen's 0 ohm device
> (http://groups.google.com/group/comp.lang.vhdl/msg/7d14832588a0cabb) with
> a
> bi-directional MUX
> (http://www.tek-tips.com/viewthread.cfm?qid=1188582&page=7), then I might
> be able to create the VHDL module I would need.  The bus splitting
> doesn't
> need a module, since in VHDL I'll just manipulate bit0 of the inputted
> flash data bus and pass the other 7 bits through.  Would this work?
> Thanks.
>
> Matt

You'll still need logic to figure out which personality is active.

No one here is likely to write it for you, as this is a seminal moment in 
your learning. There's quite a bit involved, but they're all small and 
nothing by itself is overwhelming.

Step away from the immediate problem, and take it a step at a time. Start 
with a basic, empty ISE project, and wire one user I/O pin for dual 
functions as you have in the actual problem. Setup up a testbench and play 
with it in simulation. The immediate problem is strictly behavioral, so it 
should simulate well before moving on.

What are the roles of CE#, WE#, and SPI CS? Can you safely arbitrate 
conflicts? What effect does the additional logic have on signal timing? What 
are those requirements, and how do you specify them in the design?

Once it's working, how will you integrate it into EDK? Antii's suggestion of 
a pcore you can reuse is a good one. Another way is to wrap the xmp system 
in an overall design, and instantiate it there.



>
>>The MISO and data<0> signals are bidirectional (IO).  Can you make a
>>mux/switcher and bus splitter for bidirectional signals?
>>
>>Matt
>>
>>>"mstanisz" <matt.staniszewski@gmail.com> wrote in message
>>>news:19mdndgAN665R2LUnZ2dnUVZ_qadnZ2d@giganews.com...
>>>> Okay, I went ahead and removed the duplicate NETs in the UCF and made
>>them
>>>> internal.  I'm trying to figure out how to MUX between the two
> signals
>>>> using a core in EDK.  It does seem like it should be fairly simple,
> but
>>
>>>> I'm
>>>> not sure how to go about it with IP cores.  Thanks.
>>>
>>>Minimally, define a module with OUT pins for the two now disconnected
>>nets,
>>>additional pins for selection, and an IN pin for the external net. Add
>>the
>>>external net to the UCF. This is exactly as you would do for any old
>>simple
>>>design. There might already be an example or usable hdl in the samples
>>files
>>>for that board.
>>>
>>>My normal workflow wraps the EDK project in an ISE project. Instantiate
>>the
>>>switcher/mux in the top most module, at the same level you instantiate
>>the
>>>EDK system. Swap and mix the pins as you need. Take a look at (for a
>>project
>>>named system.xmp) hdl/system_stub.vhd for an example of instantiating
> the
>>
>>>EDK system.
>>>
>>>I think it would be a bad idea to tear into the pcore hdl or wrappers
> to
>>do
>>>this.
>>>
>>>
>> 


Article: 140254
Subject: Re: Code blocks to realize this in VHDL
From: Jonathan Bromley <jonathan.bromley@MYCOMPANY.com>
Date: Wed, 06 May 2009 09:23:46 +0100
Links: << >>  << T >>  << A >>
On Tue, 05 May 2009 16:27:20 -0500, "mstanisz" wrote:

>I've searched a little more and found that if I can somehow merge Ben
>Cohen's 0 ohm device
>(http://groups.google.com/group/comp.lang.vhdl/msg/7d14832588a0cabb) with a
>bi-directional MUX
>(http://www.tek-tips.com/viewthread.cfm?qid=1188582&page=7), then I might
>be able to create the VHDL module I would need.  The bus splitting doesn't
>need a module, since in VHDL I'll just manipulate bit0 of the inputted
>flash data bus and pass the other 7 bits through.  Would this work? 

I don't know exactly what you're trying to do, but you should
be aware of these points:

1) The zero-ohm link model won't synthesise.  Furthermore, it
   misbehaves in some corner cases that may get you, depending
   on what sort of logic appears at each end of the link.
2) The bidi-mux code you mention is effectively based on
   a bidirectional tri-state buffer on the mux I/O.  This is
   OK, even inside an FPGA; as has been discussed here 
   several times, the tri-states will be mapped to muxes
   by a synthesis tool; but you will need to be VERY careful
   to ensure that the direction-control bit is correctly
   manipulated.

Given that the bidi-mux needs a proper direction control 
signal, I don't see what you're gaining by all this palaver.
-- 
Jonathan Bromley, Consultant

DOULOS - Developing Design Know-how
VHDL * Verilog * SystemC * e * Perl * Tcl/Tk * Project Services

Doulos Ltd., 22 Market Place, Ringwood, BH24 1AW, UK
jonathan.bromley@MYCOMPANY.com
http://www.MYCOMPANY.com

The contents of this message may contain personal views which 
are not the views of Doulos Ltd., unless specifically stated.

Article: 140255
Subject: Re: some soft-processors
From: jetmarc@hotmail.com
Date: Wed, 6 May 2009 03:51:38 -0700 (PDT)
Links: << >>  << T >>  << A >>
> google mr16 verilog
>
> take first hit

I tried this, but it only takes me to a copy of this thread on
www.fpgarelated.com.

Do you have a permanent link to the project?

Best regards,
Marc

Article: 140256
Subject: Re: ISE & VHDL : how to include time/date
From: Jonathan Bromley <jonathan.bromley@MYCOMPANY.com>
Date: Wed, 06 May 2009 12:17:48 +0100
Links: << >>  << T >>  << A >>
On Tue, 5 May 2009 02:22:44 -0700 (PDT), Nicolas Matringe wrote:

>I'm just done with this and since this a quite frequent question I
>thought I might give my solution so that the time I struggled with
>this probllem will benefit to others.

Thanks for the nice writeup.  Useful!

>My time/date is a top-level generic parameter called G_DATE :
>  generic (
>    G_DATE : string  := "00:00 00/00/00");
[...]
>and added this line:
>   set current_date [clock format [clock seconds] -format "%H:%M %D"]
>which gives me the date in the format I want
>
>I then set the top-level generic parameter
>   project set "Generics, Parameters" "G_DATE=\"$current_date\" " 
>       -process "Synthesize - XST"
>Do not put spaces around the '=' and put one space between the double
>quotes

Fascinating - why is there a need for a space after the 
closing quote of the generic's value-string?  
Does ISE really need that?  Madness!

Also, the backslash-escaped quote characters are pretty ugly.
Could I suggest a slight modification in the interests of 
clarity (with no functional change) thus:

  set current_date ..... < exactly as you did >
  set GDATE_with_space [format {GDATE="%s" } $current_date]

Now the literal quote characters are part of the GDATE_with_space
variable, along with the generic's name and the = symbol; so
you can now

  project set {Generics, Parameters} $GDATE_with_space \
          -process {Synthesize - XST}

Notes:
(1) I used braces {} to quote the operation names; that makes
    it easier to include weird characters, since {} gives you 
    literal quoting in Tcl.  Inside regular quotes "", Tcl
    nevertheless performs its substitutions (it respects 
    [], $ and backslash).  The combination of braces {} and
    the "format" command often is a good way to construct 
    strings that contain weird characters.
(2) I used a backslash character to allow line continuation;
    this is nice for commands that have lots of options, but
    PLEASE NOTE that the backslash MUST be the very last 
    character at the end of the line.

Thanks again,
-- 
Jonathan Bromley, Consultant

DOULOS - Developing Design Know-how
VHDL * Verilog * SystemC * e * Perl * Tcl/Tk * Project Services

Doulos Ltd., 22 Market Place, Ringwood, BH24 1AW, UK
jonathan.bromley@MYCOMPANY.com
http://www.MYCOMPANY.com

The contents of this message may contain personal views which 
are not the views of Doulos Ltd., unless specifically stated.

Article: 140257
Subject: Re: Setting top level VHDL generics in XST
From: rickman <gnuarm@gmail.com>
Date: Wed, 6 May 2009 04:30:09 -0700 (PDT)
Links: << >>  << T >>  << A >>
On May 5, 4:36=A0pm, Nicolas Matringe <nicolas.matri...@fre.fre> wrote:
> rickman a =E9crit :
>
>
>
> > I am trying to use a generic at the top level of my code to define
> > which device family the code is being compiled to. =A0In XST there is a
> > property dialog that can attach a generic property to the synthesis
> > process. =A0I am using this and not finding that it works.
>
> > In the top level code, I assign a default value to the generic which
> > is what is being used. =A0Of course, I use the same default value at
> > every level of the code. =A0If I remove the default value for the
> > generic, the tool complains that there is *no* value assigned. =A0The
> > value set as the process property shows up in the Synthesis Report
> > except that in the property dialog box the generic value is enclosed
> > in double quotes and in the report the trailing quote is missing.
> > Removing the quotes does not work either.
>
> > Am I doing something wrong here? =A0Does this generic assignment
> > function work in XST? =A0Anyone else use it?
>
> Hi Rick
> Have a look at my last post (today, subject "ISE & VHDL : how to include
> time/date")
> At least in the tcl script there must be a space between final quotes. I
> don't know how you can fix this in the GUI though
>
> Nicolas

I tried it with the quotes, I tried with various combinations of
spaces and quotes, I tried with no quotes.  All gave the same
results.  The Generic is ignored.  If I remove the default value of
the top level generic an error says it has no value.

This is what ISE says is being passed into the code.

Generics, Parameters               :
{ DEVICE_FAM=3D"FPGA_FAMILY_SPARTAN_3 }


This is what is the top level module uses...

Analyzing hierarchy for entity <Novus> in library <work> (architecture
<rtl>) with generics.
	BYWTH =3D 9
	DAWTH =3D 18
	DEVICE_FAM =3D "fpga_family_lattice_xp"

Notice that the ending quote is always missing in the value reported
as passed into the top level.

Rick

Article: 140258
Subject: Re: Setting top level VHDL generics in XST
From: rickman <gnuarm@gmail.com>
Date: Wed, 6 May 2009 04:56:03 -0700 (PDT)
Links: << >>  << T >>  << A >>
The parameter being set is an enumerated type.  Would that make a
difference?

Rick

Article: 140259
Subject: Re: Darnit! Broke MXE...
From: LittleAlex <alex.louie@email.com>
Date: Wed, 6 May 2009 07:55:28 -0700 (PDT)
Links: << >>  << T >>  << A >>
On May 4, 11:33 pm, "MikeWhy" <boat042-nos...@yahoo.com> wrote:
> Feeling empowered and encouraged because MXE-III 6.3c Starter was running so
> well, I downloaded and installed MXE-III 6.4. It had problems compiling the
> EDK 10.1sp3 libraries, aborting the experiment abruptly. Several more
> iterations of failure later, sleep deprivation suggested that ModelSim PE
> student version was a good idea. After all, Xilinx characterizes MXE
> performance relative to PE. A search for license limitations turned up only
> the need to renew the license every 6 months. Alas, I discovered very
> quickly that it suffers the same 10k line limitation as MXE. It stalled at
> about the 80% mark while compiling the ISE libraries. That was my weekend in
> a nutshell.
>
> This evening, I tried in earnest to restore MXE 6.3 to working order. The
> library paths, environment vars, and tools settings are a faint blur in my
> mind, after a weekend of little sleep and much despair. Is there a neat
> checklist somewhere of things to put back in order to get it working again?
> Simulations bomb out on the Microblaze IP, complaining that the library .dat
> file is incompatible. Other modules blow out on various Unisim or other
> components. I've unpacked, installed, recompiled, updated, refreshed, and
> basically stirred around everything that could be stirred around. I've
> reinstalled the 10.1.3 ISE libraries, etc. Recmpiled the EDK libs, which
> reports a varying number of errors each time. Any help would be much
> appreciated.
>
> (I don't know if it's a bad idea or not, but 11.1 is downloading in the
> background as I type this. In for a penny..., as the saying goes. I was
> searching for MXE 6.4 version compatibility on the Xilinx website, when I
> was presented with a download button and a page offering to create floating
> licenses for my DSP stuff and EDK. Oh, what the heck. If it works, the
> recent frustrations will be moot.)
>
> (PPS: and totally unrelated to anything at all... This afternoon, a huge
> housefly noisily buzzed my monitors before landing on the window screen of
> the open window in the upstairs office. Crap! I had no way to invite it
> outside while preventing its escape to buzz the rest of the house. So I
> closed the storm window, trapping it in the narrow space between. He was
> doomed, of course, and there was no way he could know this. From his
> considerable size, he obviously survived the winter, only to come to this
> ignominious end. Long story short, he fought hard to the very end. Through
> it all, I watched him from time to time, and waved various stuff at him to
> keep him agitated and watch his response. I'm pleased and proud for him, for
> never once giving in to despair or frustration. Life is like that for each
> of us at one time or another, I think. My weekend sucked. I wonder this
> moment if 11.1 is the hoped for open window, or just another pretty purple
> plastic fly swatter. 2 hours left to go on the download...)

ModelSim has a bad habit of piddling on itself.  A complete un- and re-
install might help.  Other things to look for are (hidden) work
libraries that it left behind.

I have become a fan of virtual machines.  VMWare is not that
expensive, VirtualBox is free.  It takes very little time to clone a
known-good fresh system, and install the application of the moment on
it.

AL

Article: 140260
Subject: Re: some soft-processors
From: "Antti.Lukats@googlemail.com" <Antti.Lukats@googlemail.com>
Date: Wed, 6 May 2009 08:55:31 -0700 (PDT)
Links: << >>  << T >>  << A >>
On May 6, 1:51=A0pm, jetm...@hotmail.com wrote:
> > google mr16 verilog
>
> > take first hit
>
> I tried this, but it only takes me to a copy of this thread onwww.fpgarel=
ated.com.
>
> Do you have a permanent link to the project?
>
> Best regards,
> Marc

http://members.at.infoseek.co.jp/x1resource/xilinx/ip/mr16/mr16.html

Article: 140261
Subject: Re: Setting top level VHDL generics in XST
From: "M.Z." <mzdkmail@gmail.com>
Date: Wed, 6 May 2009 11:48:59 -0700 (PDT)
Links: << >>  << T >>  << A >>
Hi Rick,

I have had similar problems with the 'Generics, Parameters' under
'Synthesis Options'. I could get it to work in a simple example, but
synthesis did not react on the value for a more complex design.

But there is an alternative through the 'Other XST Command Line
Options', which is last line in the window with 'Generics,
Parameters'. You can then use the XST command line syntax, that
Jan Pech mentioned, thus '-generics {BIDIR=TRUE CHANNELS=1}'. That
worked for me.

Good luck,
Morten

Article: 140262
Subject: Re: Setting top level VHDL generics in XST
From: Svenn Are Bjerkem <svenn.bjerkem@googlemail.com>
Date: Wed, 6 May 2009 13:39:57 -0700 (PDT)
Links: << >>  << T >>  << A >>
How would the generics setting be done using xflow from a Makefile?
--
Svenn

Article: 140263
Subject: Copying data from one BRAM to a Dual-port RAM, problem with
From: Svenn Are Bjerkem <svenn.bjerkem@googlemail.com>
Date: Wed, 6 May 2009 14:20:32 -0700 (PDT)
Links: << >>  << T >>  << A >>
Hi,
In order to convert from 32-bit word with to 8-bit word width, I use a
dual-port ram with a 32-bit wide bus on the a-side and 8-bit bus on
the b-side. This "width-converter" is used by several memories, one at
a time. The memories are implemented as BRAMs, each 32-bit wide and 5
address bits deep. The "width-converter" a-side has the same depth as
the BRAMs.

The movement of the data from the BRAM to the dual-port RAM a-side is
done by a counter that run from 0 to 2**6-1 and give the same value on
BRAM address input and dual-port a-side address input. The data out of
the BRAM is routed directly to the data input of the dual-port RAM.

Now comes the snag that I have not really found a good solution to:
Since the BRAM only expose data on its dout after a clock, the dual-
port RAM will, on the same clock edge, sample the previous value of
the data bus. Hence, there will always be a shift in the dual-port
RAM:
(dual-port)address-0 will have (BRAM)data_-1 (whatever value that is
present on the data bus)
(dual-port)address-1 will have (BRAM)data_0
(dual-port)address-2 will have (BRAM)data_1 and so on.

I have tried to put a register between the counter and the dual-port
RAM to delay the address arriving at the dual-port RAM by one cycle.
When this register is always carefully set to 0 before each data
transfer, dual-port ram address 0 is written twice, once with data_-1
and once with data_1 and from there on address and data are aligned
until the counter stops. Then the last word is missing in the dual-
port ram since I would actually need one more dummy transfer for the
last address to propagate through the delay register.

I just can't find the magic way to get a nice aligned data transfer
between a BRAM and a dual-port RAM. Any ideas?

--
Svenn

Article: 140264
Subject: raid controller
From: water <water9580@yahoo.com>
Date: Wed, 6 May 2009 18:06:58 -0700 (PDT)
Links: << >>  << T >>  << A >>
anyone have design raid controller experience?

Article: 140265
Subject: Re: board with 2 gigabit ethernet connectors?
From: Andreas Ehliar <ehliar-nospam@isy.liu.se>
Date: Thu, 7 May 2009 07:58:54 +0000 (UTC)
Links: << >>  << T >>  << A >>
On 2009-05-07, recoder <kurtulmehtap@gmail.com> wrote:
> Hi FPGA Gurus,
>  I need to get a Gigabit Ethernet message, change its destination
> IP,change some bits in the message(process) and send it out. I figure
> out that I need 2 GigE ports to do that. I don't want to pay for the
> MAC, so the board should be built with the Virtex 5 FPGAs or Altera
> alternatives.

One solution could be the NetFPGA board which is rather decently
priced if you happen to be an academic customer. Although the FPGA
used (Virtex-II Pro 50) is somewhat old now.

http://www.digilentinc.com/Products/Detail.cfm?NavTop=2&NavSub=521&Prod=NETFPGA


/Andreas

Article: 140266
Subject: Re: Xilinx XPS_INTC and XPS_UARTLITE interrupt issues
From: ales.gorkic@gmail.com
Date: Thu, 7 May 2009 01:30:19 -0700 (PDT)
Links: << >>  << T >>  << A >>
On May 5, 8:03=A0pm, leevv <le...@mail.ru> wrote:
> I've discovered recently the problem with the edge-type interrupts
> under the Xilinx EDK.
> I heard that it was acknowledged by Xilinx and AR will come out soon.
> May be the following will be usefull for somebody.
>
> 1) XPS_INTC v1.00a synchronization FFs for the edge-type interrupts.
>
> During the upgrade of the working project from ISE/EDK9.1sp3 to =A0ISE/
> EDK10.1sp3 environment we've got a problem with the skipping
> interrupts from the custom =93Interleaver=94 PCORE.
>
> Interrupt subsystem consist of "Interleaver" PCORE -> =A0XPS_INTC 1.00a -=
> =A0PPC405_virtex4 v2.01a.
>
> "Interleaver" PCORE generates a regular Interrupt pulse every few
> mSeconds on asynchronous (relative to XPS_INTC) clk domain. Interrupt
> is configured to be a rising-edge-type interrupt. The duration of the
> pulse is more then several clk periods of the XPS_INTC clk (100 MHz in
> our case), as it=92s required by datasheet.
>
> After analysis with Chipscope it's turns out that the problem is due
> to the absence of synchronization flip-flops (FFs) on the interrupt
> inputs of the XPS_INTS !!!
>
> I was "surprised" to see the following in the "intc_core.vhd" of the
> XPS_INTC pcore:
>
> ---------------------------------------------------------------
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 -- Process REG_INTR_P to regiter the inte=
rrupt signal
>
> ---------------------------------------------------------------
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 REG_INTR_P : process (Clk) is
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 begin
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 if(Clk'event and Clk=3D'1') then
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 if (Rst =3D RESET_ACTIVE)=
 then
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 intr_d1(i) <=3D '=
1';
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 else
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 intr_d1(i) <=3D I=
ntr(i);
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 end if;
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 end if;
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 end process REG_INTR_P;
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 -- Creating one-shot rising edge triggere=
d interrupts
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 intr_edge(i) <=3D '1' when Intr(i) =3D '1=
' and intr_d1(i)
> =3D '0'
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0else '=
0';
>
> As you can see the =93Intr=94 signal, which is the input to the XPS_INTC
> module and could be completely ASYNCHRONOUS, is involved in the edge
> detection.
> There is no synchronization FFs et al! Not even mentioning meta-
> stability double FFs.
>
> I added a couple of FFs like this to the rising and falling edge
> inputs of XPS_INTC like this:
>
> ---------------------------------------------------------------
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 -- Process REG_INTR_P to regiter the inte=
rrupt signal
>
> ---------------------------------------------------------------
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 REG_INTR_P : process (Clk) is
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 begin
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 if(Clk'event and Clk=3D'1') then
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 if (Rst =3D RESET_ACTIVE)=
 then
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 intr_d1(i) <=3D '=
0'; intr_d2(i) <=3D '0';
> intr_d3(i) <=3D '0';
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 else
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 intr_d3(i) <=3D i=
ntr_d2(i);
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 intr_d2(i) <=3D i=
ntr_d1(i);
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 intr_d1(i) <=3D I=
ntr(i);
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 end if;
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 end if;
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 end process REG_INTR_P;
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 -- Creating one-shot rising edge triggere=
d interrupts
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0intr_edge(i) <=3D '1' when intr_d3(i) =3D =
'1' and intr_d2
> (i) =3D '0' else '0';
>
> Now Interleaver PCORE works fine. I still don=92t understand how our
> project was working under ISE/EDK9.1. There is no synchronization FFs
> either in OPB_INTC pcore. May be we were lucky (or unlucky) not to
> discover it under 9.1.
>
> But unfortunately this is not the end of the story.
>
> 2) XPS_UARTLITE v.1.00a receive interrupt.
>
> Now other edge-type interrupt inputs, which are connected to the
> XPS_INTC pcore, have a problem. In particularly the XPS_UARTLITE
> pcores has a problem with the receive interrupts. In our system we
> have only XPS_UARTLITE and Interleaver pcores which are using edge-
> type interrupts. All the rest pcores use level-type interrupts.
> In this project one XPS_UARTLITE is used as a debug console for the
> Linux and another one is used for the communication with the external
> peripheral (Upconverter). Both start to fail after I=92ve made the
> modification to XPS_INTC. On the debug console I can see that print-
> outs are working fine, while when I=92m typing something in the console
> - the RX direction of the XPS_UARTLITE doesn=92t work.
>
> Now I was =93surprised=94 second time to discover in the datasheet that
> XPS_UARTLITE generates the edge-type interrupt for the transmit part
> and level-type interrupt for the receive part of the pcore. While this
> is two completely different types of interrupts, they are both
> signaled through one physical output signal of the XPS_UARTLITE
> pcore !!!
>
> -------------------------------------------------------------------------
> =A0 =A0 -- Interrupt register handling
>
> -------------------------------------------------------------------------
> =A0 =A0 INTERRUPT_DFF: process (Clk) is
> =A0 =A0 begin
> =A0 =A0 =A0 =A0 if Clk'event and Clk =3D '1' then
> =A0 =A0 =A0 =A0 =A0 =A0 if Reset =3D '1' then =A0 =A0 =A0 =A0 -- synchron=
ous reset (active
> high)
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Interrupt <=3D '0';
> =A0 =A0 =A0 =A0 =A0 =A0 else
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Interrupt <=3D enable_interrupts and
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(rx_Data_Prese=
nt or (tx_Buffer_Empty and
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0not
> tx_Buffer_Empty_Pre));
> =A0 =A0 =A0 =A0 =A0 =A0 end if;
> =A0 =A0 =A0 =A0 end if;
> =A0 =A0 end process INTERRUPT_DFF;
>
> Here the =93rx_Data_Present=94 signal is the level-type interrupt,
> indicating that Receive buffer is not empty.
> I=92m not sure either the root of the problem is in the low-level
> software driver, which handle the XPS_UARTLITE interrupts or something
> else, but I think it=92s better to have both TX and RX interrupts to be
> edge-type anyway, especially if interrupt signal from the XPS_UARTLITE
> coming to the single edge-type input of the XPS_INTC. So I changed it
> to be edge type, and now it works fine.
>
> -------------------------------------------------------------------------
> =A0 =A0 -- convert level RX interrupt to rising edge
> =A0 =A0 Process (Clk) is
> =A0 =A0 begin
> =A0 =A0 =A0 =A0 if (Clk'event and Clk =3D '1') then
> =A0 =A0 =A0 =A0 =A0 =A0 if Reset =3D '1' or enable_interrupts=3D'0' then
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 rx_Data_Present_Pre <=3D '0';
> =A0 =A0 =A0 =A0 =A0 =A0 else
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 rx_Data_Present_Pre <=3D rx_Data_Present;
> =A0 =A0 =A0 =A0 =A0 =A0 end if;
> =A0 =A0 =A0 =A0 end if;
> =A0 =A0 end process ;
>
> -------------------------------------------------------------------------
> =A0 =A0 -- Interrupt register handling
>
> -------------------------------------------------------------------------
> =A0 =A0 INTERRUPT_DFF: process (Clk) is
> =A0 =A0 begin
> =A0 =A0 =A0 =A0 if Clk'event and Clk =3D '1' then
> =A0 =A0 =A0 =A0 =A0 =A0 if Reset =3D '1' then =A0 =A0 =A0 =A0 -- synchron=
ous reset (active
> high)
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 iInterrupt <=3D '0';
> =A0 =A0 =A0 =A0 =A0 =A0 else
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 iInterrupt <=3D enable_interrupts and
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 ((rx_Data_Pre=
sent =A0and not
> rx_Data_Present_Pre) or
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(tx_Buffer_Emp=
ty and not
> tx_Buffer_Empty_Pre));
> =A0 =A0 =A0 =A0 =A0 =A0 end if;
> =A0 =A0 =A0 =A0 end if;
> =A0 =A0 end process INTERRUPT_DFF;
>
> As a conclusion. Somebody should be very careful about designing
> Interrupt-related modules in a system (hardware or software). This
> kind of problem potentially could cause very rare and weird
> malfunctioning of the system which is very-very difficult to catch.

I also found such strange behaviour.
There are also some additional stuff: level detection also sucks. If
your peripheral triggers level based interrupt and if the interrupt
still exists afterwards then you will end up with no interrupt routine
triggering. That is a problem with xps_mailbox. I could not get it to
work properly. The xilinx tools are always full of bad surprises. I
hope that 11.1 has less.

Cheers.

Ales

Article: 140267
Subject: board with 2 gigabit ethernet connectors?
From: recoder <kurtulmehtap@gmail.com>
Date: Thu, 7 May 2009 04:25:18 -0700 (PDT)
Links: << >>  << T >>  << A >>
Hi FPGA Gurus,
 I need to get a Gigabit Ethernet message, change its destination
IP,change some bits in the message(process) and send it out. I figure
out that I need 2 GigE ports to do that. I don't want to pay for the
MAC, so the board should be built with the Virtex 5 FPGAs or Altera
alternatives.
 Does a board like this exists?

Article: 140268
Subject: Environmental variables to point at libraries with Modelsim?
From: "Nial Stewart" <nial*REMOVE_THIS*@nialstewartdevelopments.co.uk>
Date: Thu, 7 May 2009 12:38:00 +0100
Links: << >>  << T >>  << A >>
Hi all,


In all my FPGA projects I try to keep everything uniform including
directory structures for projects etc, this allowing the same Modelsim VCOM
command to be used throughout (ie compiling designs and testbanches to
../Modelsim/work).

To stop having to compile the (usually) Altera libraries (altera_mf) into every
project directory I usually have a 'central' library.

Unfortunately the location of this varies depending on the machine
I'm working on (main, client's, laptop).

It would be really convenient to be able to declare an $Altera_Libraries
environmental variable and use this in Modelsim.ini, the way the $Model_Tech
one is. This could be set once for the machine then the same directories
copied/revision controlled machine independantly.

I've played about with this but haven't had any sucess.

Has anyone got anything similar to work?


Thanks for any pointers,


Nial



Article: 140269
Subject: Re: Can the complex DSP archetecture based on FPGA+DSP be replaced by
From: stillwaters.zhj@gmail.com
Date: Thu, 7 May 2009 05:28:03 -0700 (PDT)
Links: << >>  << T >>  << A >>
Anybody has an idea?

Article: 140270
Subject: Re: Environmental variables to point at libraries with Modelsim?
From: Sean Durkin <news_MONTH@tuxroot.de>
Date: Thu, 07 May 2009 15:23:53 +0200
Links: << >>  << T >>  << A >>
Nial Stewart wrote:
> It would be really convenient to be able to declare an $Altera_Libraries
> environmental variable and use this in Modelsim.ini, the way the $Model_Tech
> one is. This could be set once for the machine then the same directories
> copied/revision controlled machine independantly.
> 
> I've played about with this but haven't had any sucess.
> 
> Has anyone got anything similar to work?
Yes, I haven't had any problems with that.

In my case it's Xilinx libraries, and I put them in the directory
defined by the $XILINX environment variable, wich I can use in the
modelsim.ini, so this should work for you as well.

I suspect there's a problem with the environment variable itself. I know
that in Linux/UNIX it matters in what startup script you define the
variable in. It might be that you put it in ~/.bash_profile, and that
isn't executed for non-login shells or something (I could never wrap my
head around this sort of stuff...). In Windows this should not be an issue.

I'd first check if the variable is in fact available in ModelSim. Start
ModelSim like you usually do, and check the variable ("set
env(altera_libraries)" or something). If that doesn't give you the right
value, then you need to define the variable somewhere else.

In some Linux distros you have /etc/profile.local for that kind of stuff
(variables that should be set for all users and all shells) or a
/etc/bash.bashrc that is executed for every Bash started (bur not for
ZSH or whatever else is there).

HTH,
Sean

-- 
Replace "MONTH" with the three-letter abbreviation of the current month
(simple, eh?).

Article: 140271
Subject: Re: board with 2 gigabit ethernet connectors?
From: glen herrmannsfeldt <gah@ugcs.caltech.edu>
Date: Thu, 7 May 2009 14:08:17 +0000 (UTC)
Links: << >>  << T >>  << A >>
recoder <kurtulmehtap@gmail.com> wrote:

> I need to get a Gigabit Ethernet message, change its destination
> IP,change some bits in the message(process) and send it out. I figure
> out that I need 2 GigE ports to do that. I don't want to pay for the
> MAC, so the board should be built with the Virtex 5 FPGAs or Altera
> alternatives.
> Does a board like this exists?

You might post to comp.dcom.lans.ethernet and see what they
say over there.  I believe you need at least the PHY as
external.  The echo cancelation needed for gigabit is
pretty complicated.  

-- glen

Article: 140272
Subject: Re: board with 2 gigabit ethernet connectors?
From: Bert_Paris <do_not_spam@me.com>
Date: Thu, 07 May 2009 17:02:31 +0200
Links: << >>  << T >>  << A >>
recoder a couché sur son écran :
> Hi FPGA Gurus,
>  I need to get a Gigabit Ethernet message, change its destination
> IP,change some bits in the message(process) and send it out. I figure
> out that I need 2 GigE ports to do that. I don't want to pay for the
> MAC, so the board should be built with the Virtex 5 FPGAs or Altera
> alternatives.
>  Does a board like this exists?

I think a good solution would be to use a venerable Cyclone II Kit :
http://www.altera.com/products/devkits/altera/kit-nios-2c35.html
and plug two Gigabit Adapters in the SantaCruz connectors.
http://www.devboards.de/shop/artikeldet.php?proid=5752&bez=DBGIG1%20V1.3&sid=b7a22203ac950ff9e4b316d03cab30a9&PHPSESSID=b7a22203ac950ff9e4b316d03cab30a9

Can be developped using the free Quartus II Web edition.
We have all these items in stock if it can help, let me know.
The whole system can be up & running in just a few hours.
(we also have optimized GbE MAC etc)

Bert



Article: 140273
Subject: Re: board with 2 gigabit ethernet connectors?
From: Bert_Paris <do_not_spam@me.com>
Date: Thu, 07 May 2009 17:13:46 +0200
Links: << >>  << T >>  << A >>
recoder a exprimé avec précision :
> Hi FPGA Gurus,
>  I need to get a Gigabit Ethernet message, change its destination
> IP,change some bits in the message(process) and send it out. I figure
> out that I need 2 GigE ports to do that. I don't want to pay for the
> MAC, so the board should be built with the Virtex 5 FPGAs or Altera
> alternatives.
>  Does a board like this exists?

Sorry for the silly question : do you absolutely need the two
/independent/ adapters ? GbE is bi-directional and a swicth will route 
and dispatch the flows. (You can receive a flow and re-send it at full 
speed with one single adapter)

Bert



Article: 140274
Subject: Re: Environmental variables to point at libraries with Modelsim?
From: Bert_Paris <do_not_spam@me.com>
Date: Thu, 07 May 2009 17:23:54 +0200
Links: << >>  << T >>  << A >>
Nial Stewart avait énoncé :
> Has anyone got anything similar to work?

Did you try this in ModelSim's cmmand windows :
puts $env(QUARTUS_ROOTDIR)

Bert





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