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 38950

Article: 38950
Subject: Re: configuring an FPGA from an Hard-drive with a 80c51 (Stupid idea ?)
From: Neil Glenn Jacobson <neil.jacobson@xilinx.com>
Date: Mon, 28 Jan 2002 14:14:13 -0800
Links: << >>  << T >>  << A >>
An approach that might be easier and cheaper than what you propose
is a compact flash and controller-based approach like that provided by Xilinx
as the SystemACE CF.  Have a look at the web page listed below.
http://www.xilinx.com/isp/systemace/systemacecf.htm

Steven Derrien wrote:

> Hello,
>
> This post is just for submitting an idea to those who are familiar with
> embedded system design, in order to get some feed-back (with respect to
> feasibility, cost, usefulness and so on?).
>
> The basic idea is the following :
>
> We want to design a reconfigurable SoC, which will be connected to an
> IDE hard-drive,  used by the application running on the SoC. One of the
> key point, is that we need to perform dynamic reconfiguration of the
> FPGA.
>
> Our idea is to use the Hard-drive memory to store the various FPGA
> configurations, and to use a small 32 I/O MCU (8051) to perform the FPGA
> reconfiguration from the HDD. (the 8051 would share the IDE bus with the
> FPGA, but they would have a mutual  exclusive use of the HDD, since the
> MCU would only be used during reconfiguration)
>
> Since the FPGA should be a relatively big Virtex/Spartan-II, and since a
> large density configuration EEPROMs (several Mbits) are quite expensive
> compared to a small MCU, we feel that this could be a nice way to reduce
> the total system cost.
>
> Now we are wondering whether this idea is good or not :), we are
> specifically concerned with :
>
> - PCB layout and signal integrity problems due to the fact that the IDE
> connection is shared between the MCU and the FPGA. For ex. would it be
> possible to use high-speed IDE (50Mhz clock) protocols from the FPGA ?
>
> - Reliability   : since the hard-drive will be used for both read and
> write operation during the application, we must ensure that some part of
> the HDD storage is locked (to guarantee that the configurations are not
> overwritten by mistake)
>
> - Feasibility  : How difficult would it be to design and debug such a
> system ?
>
> Any advice, comments, critics, ideas are welcome,
>
> Thank you in advance.
> Steven


Article: 38951
Subject: Re: Peaks in smaller PLDs
From: Peter Alfke <peter.alfke@xilinx.com>
Date: Mon, 28 Jan 2002 14:48:54 -0800
Links: << >>  << T >>  << A >>


Falk Brunner wrote:

>  Iam curious how much these glitching contributes to power consumption?.
> Just recently we had a presentation from our FAE about the new
> Coolrunner-II, where everything was tried to save the last uA (disabeling
> inputs to prevent internel nets from toggeling etc.)

Yes, the same was done in the good old XC3000 with PowerDown.

Any unnecessary excursion or activity costs energy. And glitches can contribute
significantly, even when they do not jeopardize functionality.
But that was not the original question.

Peter Alfke



Article: 38952
Subject: Re: Xilinx webpack
From: Russell Shaw <rjshaw@iprimus.com.au>
Date: Mon, 28 Jan 2002 22:50:14 GMT
Links: << >>  << T >>  << A >>


Falk Brunner wrote:
> 
> "Peter Alfke" <palfke@earthlink.net> schrieb im Newsbeitrag
> news:3C55764C.40E1023@earthlink.net...
> 
> > Russell, the question wa: How man diffrent functions can a LUT
> > implement.
> > And the answer is 64K.
> > It only taks a few minutes to describe few hundred completely
> > different ones, not counting input permutations.
> 
> I remember that there was a small file discussing the number of diffent
> functions possible with a 4 input LUT, 2^16-permutations of inputs
> But I cant find it anymore
> www.fpga-faq.com ?? NO.
> 
> AFAIR the number was somewhere around 1800.

Hmm, different math functions vs different output functions.

With a 4 input function, there's 16 distinct outputs.
For a 3 input and 1 input function, there's 8+2=10 distinct outputs,
  and 8x2=16 combinations of outputs.
For a 2 input and 2 input function, there's 4+4=8 distinct outputs,
  and 4x4=16 combinations of outputs.
For a 2 input and 1 input and 1 input function, there's 4+2+2=8 distinct
  outputs, and 4x2x2=16 combinations of outputs.
For a 1,1,1,1 input function, there's 2+2+2+2=8 distinct
  outputs, and 2x2x2x2=16 combinations of outputs.

Therefore, total combinations= 5x16= 80 (assuming all LUT inputs
are used)

I'm glad i fail nitpicking interviews;)

Article: 38953
Subject: Re: Spartan II power-up current - again
From: Austin Lesea <austin.lesea@xilinx.com>
Date: Mon, 28 Jan 2002 15:02:44 -0800
Links: << >>  << T >>  << A >>
Tim,

No apology required.  I said we were working on it, and it has taken
forever, and for that I apologize.

Smaller parts do require less, and we are in the process of finishing up
the characterization before we publish it in the datasheet and commit
ourselves for all future time.

The issue is that Spartan is the low cost product line, and we
definitely do not want to impact our yield by applying a spec that is
too tight.  If 100% pass the power on test now, can we get an acceptable
yield with a lower criteria?  This takes a lot of silicon over the dam,
and a lot of process corners. That takes time.

The better the yield, the lower our cost, and the better the price to
customers.

Please contact Kim.Goldblatt@xilinx.com (author of the app note) for
details.  Or you may email me directly: austin@xilinx.com.

Austin


Tim wrote:

> Sorry to return to this topic yet again...
>
> XAPP450/451 show the SpartanII power-up current requirement as
> 500mA for _all_ parts, provided the temperature requirements
> are met.
>
> However, I have a distant recollection that someone (Austin?)
> has at one time posted that the smaller parts need less than
> this?  Any ideas on the slope of the curve from the 2S15
> to the 2S200?
>
> I am particularly interested in the 2S30.


Article: 38954
Subject: Re: Homebrew computers using FPGA?
From: Eric Smith <eric-no-spam-for-me@brouhaha.com>
Date: 28 Jan 2002 15:07:08 -0800
Links: << >>  << T >>  << A >>
Franck Pissotte <franck.pissotte@free.fr> writes:
> do you mean that a real 1MHz 6502 or 8 Mhz 8051 is faster
> than a design implemented in a 20 mHz FPGA?

Yes, those 20 mHz FPGAs are really slow!  I didn't even think they
still offered speed grades that slow.

Actually, in my cycle-accurate 6502 design (work in progress), the data
path synthesizes with a maximum clock of over 30 MHz in an XC2S200-5,
with no manual placement.

The control is only perhaps 50% complete, but it looks like it won't be
in the critical path.

Article: 38955
Subject: Re: FPGA or Micro-controller in Lowpower designs?
From: Jim Granville <jim.granville@designtools.co.nz>
Date: Tue, 29 Jan 2002 12:27:37 +1300
Links: << >>  << T >>  << A >>
Arash Salarian wrote:
> 
> Hi,
> 
> I'm starting a new design in which I'm using a multi-channel A/D with a low
> sampling-rate and Flash memory for the storage and the system is going to be
> powered by battery. In this stage, I'm not yet sure if using a FPGA would be
> wise, as I'm very concerned with the power consumption. The gate count of
> the circuit will be 3k~4k in my opinion so basically any medium Spartan
> family or even maybe XPLA would do. I've seen a device from ATmel (T87C5111)
> that consumes only 5mA and I guess is a good candidate too. This makes me
> hesitate to choose any FPGA over these types of micro-controller in designs
> were every bit of current matters..
> 
> Does anyone has experience in using FPGAs in low power applications and is
> there any suggestion in selection FPGAs over micros in these types of
> designs?

 For a Data-Logger, a uC is the best solution.

 Where a S/CPLD can out-shine uC, in simple tasks, is usages like
slave IO / keypad / and power management applications, and 
MOSFET drivers.

 Once you add Time and Address calculations (maths), the uC is
doing what it does best.

 The T87C5111 is a very good choice, as it has 32KHz osc plus
12MHz buried burst oscillator, so can do the timestamp tasks
at very low power, and then run fast to minimise the WRITE energy

 FPGA will never compete with a small uC, but in a large system, where
the FPGA is needed already for data-path reasons, you can add a 
SOFT uC into the FPGA.
 The crunch is not the uC core, but the OP-CODE storage/delivery.

-jg

-- 
======= 80x51 Tools & IP Specialists  =========
= http://www.DesignTools.co.nz

Article: 38956
Subject: Re: glitchless clock enable/disable in spartanII
From: David Miller <spam@quartz.net.nz>
Date: Tue, 29 Jan 2002 12:37:18 +1300
Links: << >>  << T >>  << A >>
 > I am looking for some code to define a glitch less clock
 > enable/disable circuit.  The clock frequency is 100MHz.  What I am
 > trying to say is that I have a counter with a 100MHz clock and I
 > want to avoid runt pulses on the clock.  This could either be a
 > clock mux switching between 0 and clock on the output or a "safe"
 > clock enable that would eliminate (or at least minimize) the
 > possibility of metastability.  The counter could be asynchronous if
 > that simplifies things.  Any ideas, suggestions, sources,


SpartanIIs have dedicated clock enable inputs on all flops.  You should
use those rather than gating clocks (which is very bad practice anyway) 
with logic[1].  Consult your synthesis guide for more info on how to do 
that in your HDL.

Judging from your email address, I assume that you're a student.  An 
interesting exercise is to run the tool fpga_editor, create an empty, 
small fpga and play with the CLBs.  You can learn alot about how the 
fpgas actually implement logic in this way.


[1] PAR will complain loudly if you do this, because you are no longer 
able to use dedicated clock routing resources so, glitches aside, you'll 
have big problems with skew.


-- 
David Miller, BCMS (Hons)  | When something disturbs you, it isn't the
Endace Measurement Systems | thing that disturbs you; rather, it is
Mobile: +64-21-704-djm     | your judgement of it, and you have the
Fax:    +64-21-304-djm     | power to change that.  -- Marcus Aurelius


Article: 38957
Subject: Re: Xilinx webpack
From: Jim Granville <jim.granville@designtools.co.nz>
Date: Tue, 29 Jan 2002 13:03:43 +1300
Links: << >>  << T >>  << A >>
Russell Shaw wrote:
> 
> Why should the order of generating 16 separate 1-bit values
> matter? What fault could make them non independent?
> 
> Peter Alfke wrote:
> >
> > Sorry, Russell, no job offer.  ;-)
> >
> > There are 2, 3, 4-input AND, NAND, OR, NOR, XOR, XNOR functions and all sorts of
> > combinations of them, including multiplexers.
> > And then you can have an inversion on any input, etc.
> >
> > But the better reasoning goes like this:
> > To test the functionality 100%, one must obviously apply sixteen "test vectors" to
> > the group of four inputs. At the output, this will create a sequence of 16 bits.
> > Treat that as a word, and, voila, there are 64K different 16-bit words.  Yes, some
> > are stupid ( stuck High, etc) and some are the result of input permutations, but
> > there are still a lot of useful functions.

Q: How many test patterns does Xilinx apply, in production, 
to confirm each LUT is functioning correctly ?

-jg

Article: 38958
Subject: The LUT puzzle, Iam on the way
From: "Falk Brunner" <Falk.Brunner@gmx.de>
Date: Tue, 29 Jan 2002 01:42:44 +0100
Links: << >>  << T >>  << A >>
I think Peter triggerd some inner gost of mine.
I want to compute the EXACT number of unique functions possible with a 4
input LUT.
First start, lets have a look at the 2 input LUT.
Lets call the inputs A and B and the result R, so the truth table looks like
this.
(Use a fixed font)

B A   R
0 0   R0
0 1   R1
1 0   R2
1 1   R3

For two inputs, there is only one permutation. If we change A with B
(or verca vice ;-) we get the following table with the same logic function.

A B   R
0 0   R0
0 1   R2
1 0   R1
1 1   R3

Now we write down all possible 16 combinations for R0..R3 and compare them
to their
permutation. If the are identical, the code is a unique function.
If they differ, we found a permutation function.

Example 1

R       permutated
R0   0  0
R1   0  0
R2   0  0
R3   1  1

They are identical, so code 1000 is a unique function.

Example 2

R       permutated
R0   0  0
R1   1  0
R2   0  1
R3   0  0

They are different, so its a permutation function.
Now here the complete list for a 2 input LUT

U . . . . . . . means unique function
PxA, PxB  . . . means Permutation number X, part A / B


R3 R2 R1 R0    Type      general function name
0   0  0  0     U            LOW
0   0  0  1     U            A NOR B
0   0  1  0     P1A          A AND NOT B
0   0  1  1     P2A          NOT B
0   1  0  0     P1B          B AND NOT A
0   1  0  1     P2B          NOT A
0   1  1  0     U            A XOR B
0   1  1  1     U            A NAND B
1   0  0  0     U            A AND B
1   0  0  1     U            A XNOR B
1   0  1  0     P3A          A
1   0  1  1     P4A          A OR NOT B
1   1  0  0     P3B          B
1   1  0  1     P4B          B OR not A
1   1  1  0     U            A OR B
1   1  1  1     U            HIGH

So we see, a 2 input LUT has

   2 fixed codes (LOW / HIGH)
   6 unique functions
   4 permutations of 2 codes
------------------------------
  16 functions overall

OK, this was the first part. Now I will make a small programm to calculate
all permutation
of the 4 inputs of a 4 input LUT (which are 4! = 24), compare them all and
write down a statistic.
Stay tuned folks, I'll be back.

--
MfG
Falk





Article: 38959
Subject: Re: Altera support sites
From: Mike Treseler <mike.treseler@flukenetworks.com>
Date: Mon, 28 Jan 2002 16:47:15 -0800
Links: << >>  << T >>  << A >>
Paul wrote:
> 
> Anyone got any tips about web sites/newsgroups discussing problems/tips with
> Altera devices and tools.

http://www.altera.com/support/solutions/spt-search_solutions.html

> Obviously there is a certain amount of excellent information here and in
> c.l.vhdl, but I was surprised that there wasn't an altera newsgroup or
> similar bulletin board for users to discuss things.

I don't know. Doesn't seem to be Altera's style.


  --Mike Treseler

Article: 38960
Subject: Re: Xilinx webpack
From: Jim Granville <jim.granville@designtools.co.nz>
Date: Tue, 29 Jan 2002 13:51:44 +1300
Links: << >>  << T >>  << A >>
Rick Filipkiewicz wrote:
> 
<snip>
> 
> One thing I've always wondered since I first came across LUT based architectures is:
> 
> ``What is the LUT equivalent of Quine-McClusky sum of products reduction ?''
> 
> is there is such a thing. i.e is there a logic reduction algorithm that's always
> guaranteed to find an implementation of any logic function in the minimum number of
> ``levels'' ? Assuming all the inputs are equally critical and ignoring things like
> F5MUXs, carry chains, etc.

 Not sure what you mean.
 In a LUT, any combination of 4 IP can be 'mapped', so there is no
resource to
save with logic minimise ?

 In a conventional PLD, with AND/OR structure, then product term
minimise is
very usefull, and does save resource.

 To compare the two, we have a 7 Segement Hexadecimal ROM design, 
minimised in CUPL, that can be thought of as 7 1 bit ROM (LUT) 
patterns of 4 inputs.

 In AND/OR logic, these minimise to this product term count :
=>  4.4.4.4.3.3.3 

 As a tutorial, we coded the Logic table of the S57/58 tinylogic, and
that
is a 3 IP LUT.
 The two 'most usefull ones' chosen from the '256 in-theory possible', 
can reduce to two product terms.

Article: 38961
Subject: Re: Xilinx webpack
From: "Tim" <tim@rockylogic.com.nooospam.com>
Date: Tue, 29 Jan 2002 01:23:39 -0000
Links: << >>  << T >>  << A >>

"Jim Granville" <jim.granville@............co.nz> wrote

> Q: How many test patterns does Xilinx apply, in production,
> to confirm each LUT is functioning correctly ?

Q: I wonder how Xilinx came to invent the SRL?   :)






Article: 38962
Subject: Re: Quartus 2 and bus ripping
From: steen_junk@yahoo.com (Steen Larsen)
Date: 28 Jan 2002 17:51:21 -0800
Links: << >>  << T >>  << A >>
Thanks for the solution Paul.  I am not familiar with conduits, so was
pretty much out of my depth.  Not using conduits, you should not need
the WIRE primitive and probably do something like
http://www.tech-forge.com/bustest-steen.qar.

Regards,
-Steen 

"Paul" <nospam@nospamplease.com> wrote in message news:<UCG38.9500$4i5.1212763@news11-gui.server.ntli.net>...
> Because I hate threads without an answer, I've posted my solution.
> 
> After ripping the single bit from the output bus use a WIRE primitive and
> connect the output of WIRE to the desired output signal.
> 
> You do not seem to be able to use the block mapper to map say q[23..0] to
> one signal bus as well as say q[7] to a single signal. Bring q[23..0] out
> and name it to some arbitrary bus name and then also take the single bit
> from that bus to the WIRE primitive.
> 
> Paul

Article: 38963
Subject: Soft errors climb in 0,13u SRAM
From: Jim Granville <jim.granville@designtools.co.nz>
Date: Tue, 29 Jan 2002 15:15:13 +1300
Links: << >>  << T >>  << A >>
This looks interesting :

http://www.ebnonline.com/story/OEG20020128S0079

 It has many spins (as expected :) on the problem, but it 
seems very  relevant to fast-shrink-path SRAM FPGAs.

 Is there any information on the 'disturbance energy' for the
various SRAM components of FPGAs :-

 - The Config Cells ( Slower/larger, but not zero FIT ? ) 
 - The Fast SRAM Blocks
 - The sea of registers
 - The LUT array store

 The SRAM notes do not mention register errors, but since a SRAM
cell is effectively a strobed latch, is it possible to disturb 
the BIT state in a latch, just as in a SRAM cell ?

 Error recovery in data blocks is possible with correction, but
how does a system detect config or latch errors ?

-jg

Article: 38964
Subject: random
From: piiszo <fogi@isfh.jdk>
Date: Mon, 28 Jan 2002 18:48:06 -0800
Links: << >>  << T >>  << A >>
who can post a verilog code or link
about random?

Article: 38965
Subject: Re: Simple shift register not working (update)
From: newman5382@aol.com (newman)
Date: 28 Jan 2002 18:59:53 -0800
Links: << >>  << T >>  << A >>
> >If you have a slow clock and look at it on the oscilloscope, it may
> >look perfect cause you have the timescale zoomed out.  Measure the
> >rise time and the fall time of your clock.  I suspect it is too slow,
> >and the cmos inputs are interpreting this as multiple clocks per
> >transition.
> >
> >Newman
> 
> Possible. The rise time, IIRC, was around 220 ns. I would guess that
> this is fast enough, but I don't know.
> 
> -Kevin

220 ns seems like an eternity.  I looked up the input transition time
in the Xilinx book for you.  It is 250 ns max, but I would take that
with a grain of salt, because perhaps that is for regular inputs, and
not the clock.

I assume that you are not using a DLL and are using a global clock.

I went back to your previous thread (why did you start another one?),
and you said that your clock come off a GPIO pin on another card.  How
did you connect the GPIO pin from one card to the Spartan II clock
input pin?  If it was by just tying a wire from point A to point B,
you might want to twist a ground wire with it attached to a ground
point at both ends close to where the signals are attached.  This may
help, or maybe it won't.

If the connection from the GPIO port to the clock input is point to
point (e.g. no other connection point involved.  You may want to try a
series source point termination where you add resistor (25 ohms?) to
the GPIO pin, and reattach your clock to the other end of the
resistor.  This may not work because the GPIO may have a high output
impedence, hence the long rise and fall time.

If you are just experimenting around, you may want to try adding a
bipolar Schmidt trigger inverter/buffer  on the spartan board that
attaches the incoming "clock" to the inverter/buffer, whose output is
to the input of the FPGA.  Try to make the connection to the FPGA as
short as possible, with the wire close to the board.  Of course you
would disconnect the original clock connection to the FPGA.

If the Spartan board already has a clock on it that is much faster
(higher frequency) than the GPIO clock, you could bring the GPIO clock
into a regular FPGA pin, and resample the GPIO clock with the Spartan
board clock to generate a clock enable pulse that would shift your
register using the board clock.  You may have to think about how to
detect the rising edge of the GPIO clock, while sampling it far enough
apart to avoid having two samples in the 220 nS rise/fall time region.

Hope you can get it to work,

Newman

Article: 38966
Subject: Re: Xilinx webpack
From: Keith R. Williams <krw@attglobal.net>
Date: Mon, 28 Jan 2002 22:17:36 -0500
Links: << >>  << T >>  << A >>
In article <1012267550.1627.0.nnrp-14.9e9832fa@news.demon.co.uk>, 
tim@rockylogic.com.nooospam.com says...
> 
> "Jim Granville" <jim.granville@............co.nz> wrote
> 
> > Q: How many test patterns does Xilinx apply, in production,
> > to confirm each LUT is functioning correctly ?
> 
> Q: I wonder how Xilinx came to invent the SRL?   :)

Does Xilinx use LSSD, or are your referring to the SRL16?

----

   Keith

Article: 38967
Subject: Re: Xilinx webpack
From: Rick Filipkiewicz <rick@algor.co.uk>
Date: Tue, 29 Jan 2002 03:18:48 +0000
Links: << >>  << T >>  << A >>


Jim Granville wrote:

> Rick Filipkiewicz wrote:
> >
> <snip>
> >
> > One thing I've always wondered since I first came across LUT based architectures is:
> >
> > ``What is the LUT equivalent of Quine-McClusky sum of products reduction ?''
> >
> > is there is such a thing. i.e is there a logic reduction algorithm that's always
> > guaranteed to find an implementation of any logic function in the minimum number of
> > ``levels'' ? Assuming all the inputs are equally critical and ignoring things like
> > F5MUXs, carry chains, etc.
>
>  Not sure what you mean.
>  In a LUT, any combination of 4 IP can be 'mapped', so there is no
> resource to
> save with logic minimise ?
>
>

The sort of thing I'm thinking of is an arbitrary logic function of a large number, N, of
inputs:

out = f(in0, in1, ..., inN)

what you can always do is (i) determine the minimal sum of products and then (ii)
re-arrange the function as a mux:

out = in0 & g(in1, ..., inN) | !in0 & h (in1, ..., inN)

doing the same for g & h and continuing on its easy to see that, with K input LUTs, the
number of logic levels is no more than (N - K) + 1. For Xilinx this is N-3.  This seems to
be inefficient since most of the LUTs are only using 3 inputs.

So the question becomes:

Is there an algorithm that can do better than this ?


Article: 38968
Subject: Re: Xilinx webpack
From: "Tim" <tim@rockylogic.com.nooospam.com>
Date: Tue, 29 Jan 2002 03:23:51 -0000
Links: << >>  << T >>  << A >>

"Jim Granville" <jim.granville@.........ls.co.nz> wrote

> Rick Filipkiewicz wrote:
> >
> <snip>
> >
> > One thing I've always wondered since I first came across LUT based
architectures is:
> >
> > ``What is the LUT equivalent of Quine-McClusky sum of products reduction ?''
> >
> > is there is such a thing. i.e is there a logic reduction algorithm that's
always
> > guaranteed to find an implementation of any logic function in the minimum
number of
> > ``levels'' ? Assuming all the inputs are equally critical and ignoring
things like
> > F5MUXs, carry chains, etc.
>
>  Not sure what you mean.
>  In a LUT, any combination of 4 IP can be 'mapped', so there is no
> resource to
> save with logic minimise ?

You need to go hunting for stuff which combines "BDD optimization"
with "LUT mapping".  Probably a recent DAC proceedings is a good
place to start.

Of course, min_levels has to be balanced against fanout.  Routing costs.




Article: 38969
Subject: Boundary Scan Chain and JTAG Emulation of MSP430
From: rickman <spamgoeshere4@yahoo.com>
Date: Mon, 28 Jan 2002 22:58:33 -0500
Links: << >>  << T >>  << A >>
I have been looking at using JTAG boundary scan for board test and it
looks like there are more devices that support it than don't. Everything
I have read about the Xilinx parts indicate that they will work in
boundary scan and the download tool will configure a part with other
devices in the chain. Likewise, the TI C67 DSP documentation and
emulator software seem to support operation with other devices in the
scan chain and the chips support boundary scan. 

But the fly in the ointment seems to be the MSP430. I have been told by
TI support that the MSP430 chips do not support boundary scan. Also, the
software does not allow operation while in a scan chain. This is a
problem for me since the board I am working on is very small and does
not have room for multiple JTAG connectors. 

Anyone know if the MSP430 can work with an emulator in a JTAG scan
chain? The IAR is the only emulator I have looked at. Are there others
that work correctly in this case?

Are there other MCUs that support a full JTAG implementation along with
all the features of the MSP430? The important features are:

Self programmable Flash >=8K
SRAM 2KB
UART
IOs >=48
ADC >=4 inputs
Analog Comparator
Watchdog
Internal OSC (no Xtal needed)
Very low power <= 10 mA @ full speed
Ultra low standby power <= 1 mA at reduced speed
And of course, JTAG emulation, programming and boundary scan.


Not many devices meet all of these specs. The MSP430 and the PIC18F6620
are the only ones I have found that are also under $10 and the TI is not
full JTAG. Anyone know about the PIC18F JTAG compatibility?

Anyone have any alternatives???


-- 

Rick "rickman" Collins

rick.collins@XYarius.com
Ignore the reply address. To email me use the above address with the XY
removed.

Arius - A Signal Processing Solutions Company
Specializing in DSP and FPGA design      URL http://www.arius.com
4 King Ave                               301-682-7772 Voice
Frederick, MD 21701-3110                 301-682-7666 FAX

Article: 38970
Subject: Re: glitchless clock enable/disable in spartanII
From: Peter Alfke <palfke@earthlink.net>
Date: Tue, 29 Jan 2002 05:52:47 GMT
Links: << >>  << T >>  << A >>
The worst thing you might build would be a synchronous counter with the clock
enable fed to every bit in parallel. Don't do that!

My sugestion is to build any counter you want, synchronous or ripple, but have
a one-bit prescaler toggle-flip-flop generate the clock. This prescaler must
use the Xilinx CE feature, which really is a multiplexer in the D input.
Since CE changes asynchronously, but does not affect the clock, you never get
a runt clock pulse, but you might ( once in a blue moon) get a longer Q
delay.    It will be many thousands (millions?) of years between the worst
happening, when this extra metastable delay swallows one incoming clock tick.

Peter Alfke, Xilinx Applications
==================================
Theron Hicks wrote:

> I am looking for some code to define a glitch less clock enable/disable
> circuit.  The clock frequency is 100MHz.  What I am trying to say is that I
> have a counter with a 100MHz clock and I want to avoid runt pulses on the
> clock.  This could either be a clock mux switching between 0 and clock on
> the output or a "safe" clock enable that would eliminate (or at least
> minimize) the possibility of metastability.  The counter could be
> asynchronous if that simplifies things.  Any ideas, suggestions, sources,
> etc.
>
> Thanks,
> Theron


Article: 38971
Subject: Importing ngo netlist into Foundation
From: sjhoffe@webmail.co.za (Simon Hoffe)
Date: 28 Jan 2002 22:53:24 -0800
Links: << >>  << T >>  << A >>
Hi All,

I am doing research work for a university, and I was recently supplied
with a Spartan II VoIP demo kit from Memec. The instructions in the
kit assume that I have Synplicity and ModelSim. Unfortunately I only
have Xilinx ISE Foundation 4.1i. Part of the kit is a UDP stack core,
the file which (I assume) contains the core is called UDPStack.ngo

In the application note everything (synthesis and modeling) is done
very neatly with pre-built batch files using Synplicity and ModelSim.
How do I go about using an ngo file in Foundation so that I can use
the core in my own project? I've tried almost every menu, option and
tool, including the Core Generator, yet I've achieved no success.

I'm fairly new to the programmable logic arena, though I'm learning
fast. Please help if you can, as I'm absolutely stumped.

Thanks in advance
Simon Hoffe

Article: 38972
Subject: Re: Quartus 2 and bus ripping
From: "Paul" <nospam@nospamplease.com>
Date: Tue, 29 Jan 2002 08:47:39 -0000
Links: << >>  << T >>  << A >>
> Thanks for the solution Paul.  I am not familiar with conduits, so was
> pretty much out of my depth.  Not using conduits, you should not need
> the WIRE primitive and probably do something like
> http://www.tech-forge.com/bustest-steen.qar.
>
> Regards,
> -Steen

Thanks for that Steen,

If you try and analyse the file however it comes up with various errors
associated with the buses you've created.
(I'm using 1.1 service pack 2 though, you use SP 1)

I had in fact tried that solution since I believed it should work!

Disconnecting the single wire from the bus (still calling it <<dataout[7]>>)
works so far as analysis passes OK.
If you don't disconnect you get width mismatches amongst other things.

Unfortunately generating the VHDL shows that the tickpulse connection just
gets ignored.

I pointed this out in my service request (before I had the WIRE primitive
fudge) and they acknowledged that this may be a bug. (In my mind its a bit
dubious to happily generate incomplete VHDL. I'd prefer a syntax error or
even crash rather than silently ignoring bits of my design....)

The use of the WIRE primitive between <<dataout[7]>> and the 'tickpulse'
output sorts things out correctly. Its not pretty but the VHDL is OK

Paul




Article: 38973
Subject: Re: The LUT puzzle, Iam on the way
From: Russell Shaw <rjshaw@iprimus.com.au>
Date: Tue, 29 Jan 2002 09:22:55 GMT
Links: << >>  << T >>  << A >>


Falk Brunner wrote:
> 
> I think Peter triggerd some inner gost of mine.
> I want to compute the EXACT number of unique functions possible with a 4
> input LUT...

It depends on the exact definition of a function.
To get 64k functions from a 4-bit lut, one could
assume that all 4 input bits are dedicated to one
function, and that all combinations of inputs are
valid. Then by defining function as "the set of
input->output maps", there'd by 2^16. However,
the LUT inputs can be divided between smaller
sub-LUTs, so that for two 2-input LUTs, each
has 16 functions, so the total in this case
is 2x16=32 functions. Its easy to give a
seemingly wrong answer if the question
doesn't have enough restrictions.

Article: 38974
Subject: Re: tri-state vs. Mux
From: hmurray-nospam@megapathdsl.net (Hal Murray)
Date: Tue, 29 Jan 2002 09:24:43 -0000
Links: << >>  << T >>  << A >>
[push/pop 4 sets of 4 registers]

>My question is: what are the pros and cons of instantiating muliplexors vs.
>tri-stating a couple of small busses for each flop?  This is still in the
>planning phase, so I'm considering both gate count and speed.

If you are interested in things like that, it's probably worth
reading the data sheet a few times to get a better feel for the
innards of the chip.  (I find that I have to read them several
times.  The details fit together better each time.)

The 4010 is a 20x20 array of CLBs.  There are two tri-state
lines per CLB.  So you get a total of 40 of them.  (Maybe two
more at the top and bottom?)  So you can easily make a 32 bit
bus, or possibly two 16 bit busses, either interleaved or 
above/below eachother.

The tri-state long lines go all the way across the chip.
You can't split them up into shorter segments.  I've never used
one for a 3 input MUX.  There are generally more valuable things
you can do with them.


I'm not sure what sort of design you have in mind.  The suggestion
of using the LUTs as a RAM is one way to avoid the MUX.  Note
that you might be able to pack two sets or registers (or all 4?)
into one set of LUTs.  Depends upon how many you need to read
at the same time.  (If you replicate the RAMs, you can read
any two registers at the same time.)

Another possibility is to make 4 copies of the rest of the logic.
If you think of a column of CLBs as a register, you have some
smarts in the LUTs in front of the FFs.  If you can use
counters rather than adders, you can make "smart" registers
that can count, hold, or load without using a main ALU.
Maybe you don't need the MUXes at all?

For example, you might have one column/register be the
DMA address for an external memory, use the tri state bus
to get the address to the edge of the chip.  Then use another
column for the length remaining.  You don't need an ALU to
bump the pointer or decriment the count - the LUTs in front
of the register are smart enough to do that.


It's probably worth sketching out several designs and seeing
how well they fit the chip resources.  (As compared to picking
a design and forcing the chip to implement it.)

On the other hand, if you already have a design that does what
you want and you toss it at the tools and whatever they give you
meets timing, then you don't need to consider what's inside the
chip.

-- 
These are my opinions, not necessarily my employer's.  I hate spam.




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