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 145600

Article: 145600
Subject: Re: How relevant is the Residue Number System (RNS)?
From: Muzaffer Kal <kal@dspia.com>
Date: Mon, 15 Feb 2010 09:52:33 -0800
Links: << >>  << T >>  << A >>
On Sun, 14 Feb 2010 12:10:21 -0800 (PST), Guy Eschemann
<guy.eschemann@gmail.com> wrote:

>In Uwe Meyer-Baese's Book "Digital Signal Processing with Field
>Programmable Gate Arrays", I saw quite a lot of references to the (at
>least for me) obscure Residue Number System. I'm wondering how
>relevant the RNS is in practice. I've never seen it mentioned anywhere
>except in scientific publications. Is anyone using RNS in a real FPGA
>project?
>Cheers, Guy.

RNS is one of the methods which allow you to add without carries. The
problem with them is two fold both of which have the same slow
solution. One you can't compare them, two there are no RNS peripherals
so while things are fast while you're in the RNS domain you have
convert IO to a 'normal' number system and also to compare two numbers
you have to convert to NNS. The conversion is quite slow as you have
to account for the carries during the conversion. These days with all
the embedded arithmetic blocks in FPGAs (or high speed/density of
logic processes in ASICs) there is no more need for them anymore. If
one manages to formulate an adaptive filter solely in RNS domain then
there may be renewed interest in their use.
-- 
Muzaffer Kal

DSPIA INC.
ASIC/FPGA Design Services

http://www.dspia.com

Article: 145601
Subject: Re: Repost on 10 layer stack for 1152 pin BGA.
From: rickman <gnuarm@gmail.com>
Date: Mon, 15 Feb 2010 09:53:57 -0800 (PST)
Links: << >>  << T >>  << A >>
On Feb 15, 7:34 am, "Nial Stewart"
<nial*REMOVE_TH...@nialstewartdevelopments.co.uk> wrote:
> After Symon's pleading to re-post, here it is...
>
>
>
> I'm about to start the layout on a board which I think needs
> a 10 layer stack.
>
> After the religious wars betwen rickman and Symon on decoupling I'm
> unsure on the best stack but am veering towards...
>
> 1  signal - Top
> 2  GND plane
> 3  signal
> 4  signal
> 5  PWR plane
> 6  GND plane
> 7  signal
> 8  signal
> 9  PWR & GND plane
> 10 signal - Bottom

Rather than have us tell you what we think of your design and ideas
(which you actually don't give much of) why not you tell us why you
want to do things the way you are doing them.  I think it would be
much more useful to discuss the rational rather than the result.
There are any number of reasons to do something one way or another
which may or may not have been stated.  Since we can't easily know all
the facts, it might be easier for us to critique your thinking rather
than your result.


> I'll keep the gaps between layers 2 and 9 and the associated signal
> layers fairly tight.

Here is an example.  Why are you concerned about layers 2 and 9 and
not 5 and 6?  Why are you concerned about spacing rather than coupling
or impedance?  My point is that the spacing of signal layers to power
planes can vary depending on a number of factors including limitations
in the stackup total thickness.  What is mostly important is the ratio
of the spacing to the trace width (which is also how you control
impedance).


> What I didn't say was that this application isn't terribly
> demanding but it would be good to have a 'useful' stack defined
> that I know can be built for the future.
>
> Answering some of the previous comments...
>
> Gabor:
>
> > If you're planning a solid plane for the "PWR plane" on
> > layer 5, I'd probably swap that one with layer 9 so you'd
> > have a solid plane near the bottom.  Otherwise you need
> > to be careful routing high speed signals across the plane
> > splits on layers 8 and 10.
>
> Understood, but in this application I can fairly easily route
> any power in where there are not IO signals.

I'm not clear on what you are saying.  Are you suggesting that you
will be routing power on signal layers?  What I'm really curious about
is why you want to mix power and ground on one plane.  Everything I
have learned says that coupled power and ground planes are the same
for high speed signals and you will get better coupling if you have
more area common between the ground and power planes.  So using the
entire layer for power should give better coupling and better high
speed signal returns.  If you don't have good high frequency coupling
between power and ground, won't you see a change in impedance if a
trace on an adjacent signal layer passes from the ground area to the
power area and vice versa?

In other words, I don't get why you are mixing ground and power on one
plane when you already have two ground planes.


> Symon:
>
> >  Are you gonna use any gigabit stuff to the BGA? If so, what rate?
>
> No, fastest outputs are several 200MHz single ended clocks. These will
> be kept short, source terminated and trace impedance tightly controlled.

With the stackup shown above I suggest that you keep them off of
layers 7, 8 and 10.  Potentially poor impedance control depending on
the area and spacing of your power planes on layer 9.


> The biggest concern is clock & PLL useage flexibility (system clock to
> all PLL inputs) and optimal jitter performance on the 200MHz clock IOs.
>
> > What are you connecting the 1152 pin part to?
>
> I can't give too many details but it's a number of SDRAMs, FLASH, PCI
> etc. Nothing madly fast but a few interfaces I'll need to be careful
> with.
>
> > Is the 1152 pin part an FPGA?
>
> Yep, Stratix EP3SE100F1152
>
> > How many supplies does the 1152 pin part need?
>
> Not that many, I've maneged to keep the number down.

I've heard of primitive number systems that count 1, 2, 3 and "more
than 3".  But I've not heard of one that used "Not that many".  Can
you tell us if you are using 1, 2, 3 or "more than 3" power supply
voltages?   ;^)


> > What rise time are you shooting for on the I/O from this BGA?
>
> As slow as possible. There are the 200MHz outputs above and a
> synch ram which might be runat 167MHz but that's it.

So how slow is that?  With the huge number of I/Os you appear to be
using, SSN (simultaneous switching noise) is potentially large.  You
might want to simulate that to get an idea of the amount of ground
bounce you will see.  And when you do it, I recommend that you
simulate *all* of the components in your PDS, not just one example
component... ;^)

It has occurred to me that Altera must have done simulations on their
parts to be sure that they are usable with a large number of I/Os
switching.  You might want to ask them for info on their simulations.
They may have detailed simulations available complete with recommended
stackups and PDS specs.  If they have done a worst case design
analysis, maybe you won't have to reinvent the wheel.  It's worth
asking about.

Rick

Article: 145602
Subject: Re: VHDL vs Verilog
From: rickman <gnuarm@gmail.com>
Date: Mon, 15 Feb 2010 10:03:40 -0800 (PST)
Links: << >>  << T >>  << A >>
On Feb 14, 12:41=A0pm, Paul <pault...@googlemail.com> wrote:
> On 14 Feb, 17:15, rickman <gnu...@gmail.com> wrote:
>
>
>
>
>
> > I tend to use self-checking test benches. =A0There is some question as
> > to what is best, but I find that often my design has to be tweaked
> > after I have it working and once I have the test bench working, the
> > tweaked design can be tested very easily. =A0I guess it is a question o=
f
> > whether the test bench is a one time thing or will be "reused". =A0I
> > often find I "reuse" my test benches in both ways, I often run them
> > more than once and I use parts of one test bench in others as I test
> > my way up the integration process.
>
> > Oh, also, there has been more than once that my test bench was
> > actually another FPGA design that ended up on a test fixture to
> > production test the real board. =A0That can be a fair amount of work,
> > but not as much work as separately testing two FPGA designs.
>
> > Rick
>
> I thought non-checking test benches was the most prevalent method
> used, because that's what I do and almost all engineers I've come
> across do as well. Hmmmm...... maybe I need to change my mind :-)

I can't say I have worked with that many engineers well enough to know
how their test benches work, but I can only think of one designer (I
hate to call him an engineer even if he has a degree) who does not use
self-checking test benches.  But then this guy also doesn't use static
timing analysis.  He claims a post-route simulation will find timing
errors.  I actually could not get him to understand why everyone else
uses static timing analysis and why the vendors put so much effort
into providing the tool!

Rick

Article: 145603
Subject: Re: Repost on 10 layer stack for 1152 pin BGA.
From: "maxascent" <maxascent@n_o_s_p_a_m.yahoo.co.uk>
Date: Mon, 15 Feb 2010 12:48:03 -0600
Links: << >>  << T >>  << A >>
If its any help I can relate my experience of designing an 8 layer PCI
Express card (4 lanes). This consisted of a Virtex 5 with four DDR2 SDRAM
components operating at 333 MHz. The stackup I used :-

1. Signal
2. Gnd
3. Signal
4. Pwr (1V8 2V5 1V0(GTP))
5. Pwr (1V0 0V9 1V2 (GTP))
6. Signal
7. Pwr (3V3)
8. Signal

I tried to keep one continous plane (layers 2 and 7) next to each signal
layer for controlled impedance routing. I followed the Xilinx documentation
with regard to decoupling caps and power supply requiremnts. I routed the
GTP signals on layers 1 and 8 next to the continuous planes. The DDR2
signals were kept as short as possible (about 50mm max). I have no external
termination on the tracks; I use the Xilinx DCI which works very well. I
did do some simulations using Hyperlynx before starting the board to verify
there would be no problem. I have to say that the board has worked
perfectly from the start of testing so I guess I must have done something
right.

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

Article: 145604
Subject: Re: Repost on 10 layer stack for 1152 pin BGA.
From: Symon <symon_brewer@hotmail.com>
Date: Mon, 15 Feb 2010 20:11:03 +0000
Links: << >>  << T >>  << A >>
Hi Nial,

OK, I understand your reticence to blab too much about your board, I 
would do the same.

FWIW, if I was gonna do this board at 1.6 mm thickness I would start from:-

1 Signal
2 Signal
3 Ground
4 Power pours, rarely some slow signals if absolutely needed.
****Thick core, 25 mils or so.****
5 Power pours, rarely some slow signals if absolutely needed.
6 Ground
7 Signal
8 Signal


To be able to route this up, I would use "frickin' laser beam" drilled 
microvias between layers 1 & 2, and maybe 7 & 8 if I needed it on a 
congested board. I'd try not to use the I/O balls in the middle of the 
package, if I could help it. This assumes the BGA is mounted on layer 1. 
The micro-vias can be 'in pad'. I would use 0.1mm-0.1mm-0.1mm 
track-gap-track. I use 1oz copper for everything, good for heat 
transfer. I would think long and hard about the signal assignments on 
the FPGA to ease the routing. I know Philip uses Altium and he was 
singing its praises when I last saw him; I was impressed with what it 
could do wrt pin swapping.

I've used this approach on several boards, a few with 1152 BGAs, with 
small sections of 11G stuff, with multiple different Vccos on the same 
part, DDR-2 DIMMs and 3G MGT stuff.

I can't be arsed to justify this on usenet, so, I'm not proselytising 
anything to you, because I don't know what your specific requirements 
are. I offer it as food for thought for you and your PCB vendor.

If you are interested, you can google my name and microvias and see what 
I've posted here in the past. Somewhere you'll find a link to a picture 
of a board I did long ago that Philip is still hosting I think.

Also, here's some reading material about some specific issues with big 
fast power hungry FPGAs:-

http://www.xilinx.com/support/documentation/application_notes/xapp689.pdf
I notice the Altera parts have much less I/O pin capacitance, 4pF vs 
10pF, so this should help you wrt ground bounce.

http://www.xilinx.com/products/virtex4/pdfs/BGA_Crosstalk.pdf
Have Altera sorted out their ball positions on Stratix 3? I couldn't 
find a nice picture.

Good luck, Syms.

p.s. I see no reason why Jon's suggested stack up wouldn't work either, 
unless it runs out of routing channels with only four signal layers and 
through vias.

Article: 145605
Subject: Re: To get higher clock frequencies at output using propagation delays.
From: glen herrmannsfeldt <gah@ugcs.caltech.edu>
Date: Mon, 15 Feb 2010 21:18:34 +0000 (UTC)
Links: << >>  << T >>  << A >>
Pallavi <pallavi_mp@n_o_s_p_a_m.rediffmail.com> wrote:
 
> I'm implementing this project where I've to generate higher output clk
> frequencies using DCM module. I have used a counter for delay generator,
> for propagation delays(Pls suggest if there is any other method). 

As a logic designer, one of the things you are responsible for is
understanding the timing limitations of the underlying logic.

Today, 300MHz is still pretty fast, but some logic families can
do that.  You do have to keep the logic between registers to a
minimum, though, to keep up.

It would be much easier, for example, to process four bits at
a time at 75MHz than one bit at 300MHz.  You may or may not be
able to do that in your design, but most of the time you can.

-- glen

Article: 145606
Subject: Re: optimal no of inputs to be given in a test bench
From: glen herrmannsfeldt <gah@ugcs.caltech.edu>
Date: Mon, 15 Feb 2010 21:44:17 +0000 (UTC)
Links: << >>  << T >>  << A >>
Brian Drummond <brian_drummond@btconnect.com> wrote:
> On Sun, 14 Feb 2010 20:32:19 -0800 (PST), "chaitanyakurmala@gmail.com"
> <chaitanyakurmala@gmail.com> wrote:

>>lets say there is a system in which there are N -inputs and 1 -
>>output. lets say N-100 or 1000 etc.
(snip)
 
> Glenn's answer is good, but I'd add:
 
> -       it is best achieved with intimate knowledge of the system under test
>        (but not necessarily so intimate that the tester shares the designer's
>         blind spots!)

That was the point I was (trying to) make:  That the best test method
is system specific.
 
> -       don't stop at just one test strategy (e.g. testing one bit at a time 
>        with all others '0') See "Hubble Telescope" for a failure to consider
>        this...

That was a specific example for the case of all XOR gates.  I believe
it is right for that case, but not for a large number of other cases.
For an actual example of failure to test appropriately, I once used
a system that had some signed comparators.  It seesm that no test was
done with values of different sign.  It gave the right result comparing
postiive number to positive numbers, and negative numbers to negative
numbers, but not mixed.  But that was in the design.  I was thinking
in this case the problem was to detect fabrication errors.
 
> -       Consider and test for pathological cases - e.g. where an internal
>         counter carries into the next highest bit or rolls over to 0

With the (not necessarily true) assumption that each logic device
is independent, you must test for all the combinations for each device.

For the 'rolls over to zero' case, there is another one to verify.
That is, that the logic gives the right results at the desired 
clock rate.  It might be, for example, that the counter is too slow
in the roll over case, but does eventually give the right result.
 
> -       test one count either side of such problem areas as well 
> -       as the problem case itself - sometimes a problem has been 
> -       hidden by a quick fix!

You do have to know the logic very well, but yes.  There are, for
example, counters that make the roll over case decision one clock
cycle earlier.  (That is, pipeline the roll over.)  
 
> -       make at least one test deliberately fail, to prove that 
> -      a "pass" doesn't mean that reports have been accidentally 
> -      turned off!

I was assuming we were talking about test vectors for fabricated chips.
That might have been an unwarrented assumption, though.
 
> -        "constrained random" testing may find errors you didn't 
> -        consider above.

In the days of punched cards, one test for compilers was to feed
it cards from the recycle bin.  That is, random wrong, but not
too wrong, statements.
 
> -       some designs CAN be exhaustively tested in a reasonable time. 
>        A 24-bit square root unit can, a 24-bit multiplier (48 inputs) 
> -       cannot (for a suitable definition of reasonable time)

And, as Intel knows, floating point dividers also can't be 
exhaustively checked, even at the design level.

-- glen

Article: 145607
Subject: rocketio TX delay between sata0 and sata1
From: "msegura" <ms_016@usc.edu>
Date: Mon, 15 Feb 2010 16:08:18 -0600
Links: << >>  << T >>  << A >>
Hi, I'm workng with MGT as GT_CUSTOM.
I use the MGT for transmiting to pulses of .66ns(1/15Ghg).
I check all the delays with FPGA editor and all was ok, but I mesure the
pulses at the SATA conector and there are a delay between SATA0 and SATA1
of 500ps.
I simplified the program as much as posible and this delay is always
present.
The mesurment was made with the same cable lenght.

Same ideas?
Thansk
Marcelo



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

Article: 145608
Subject: Searching rod carlson
From: "mmmniple" <mmmniple@hotmail.com>
Date: Mon, 15 Feb 2010 16:08:41 -0600
Links: << >>  << T >>  << A >>
Hi.I know this thead is older,but i am searching rod carlson,which posted
this .

if you read it,could contact me?

I have send mail this direction,but it seems is out.

a lot of thanks



>I have done this many times as a contract for other companies that have
>lost Verilog, VHDL, or AHDL source code.  Its quite common to have a
>.sof in control from manufacturing and missing the source code.  For
>example, if the designer leaves a company and his desktop is lost or
>changed by IT or if the designer's hard drive has a sudden death and is
>not under control or backed up.  The end result of my disassembling /
>decompiling the FPGA binary will be much better than a netlist as it
>will be readable (.v), (.vhdl) .  I usually charge anywhere from $3,000
>to $7,000 US dollars for the time required in reobtaining the source
>code depending on the type of FPGA and the amount of LUTS used.  I can
>usually have the source within a time frame of 2 weeks to a month
>depending on my schedule at the time.
>
>If you would like me to give you a quote on recovering your source code
>you can send me an email at:
>
>rcarlson "|AT|" @ skytekinc. "|DOT| " com  <=====My correct email is
>without the spaces and "|AT|" and "|DOT|" quotes above.  This is to
>prevent the spammers from getting my correct email by parsing the
>messages on this board.
>
>Rod Carlson
>Senior Hardware Engineer
>Sky Tek Inc.
>


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

Article: 145609
Subject: Re: What is the basis on flip-flops replaced by a latch
From: Weng Tianxiang <wtxwtx@gmail.com>
Date: Mon, 15 Feb 2010 15:44:18 -0800 (PST)
Links: << >>  << T >>  << A >>
On Feb 14, 5:28=A0am, John_H <newsgr...@johnhandwork.com> wrote:
> On Feb 14, 12:17=A0am, Patrick Maupin <pmau...@gmail.com> wrote:
>
> > On Feb 13, 6:21=A0pm, John_H <newsgr...@johnhandwork.com> wrote:
>
> > > The description comes out a little muddy which is why it took me a fe=
w
> > > days to buy in to the whole concept. =A0It's sweet! =A0It just takes =
some
> > > timing diagrams and head scratching. =A0And it's certainly not set up
> > > for proper analysis especially in the Xilinx tools where I
> > > experimented with the phase domain changes.
>
> > It's not just FPGA tools. =A0Many of the high-end chip tools don't
> > support this very well, and to do it you need a PhD in the tool.
>
> The sad thing is it *shouldn't* be difficult. =A0For each stage of latch
> traversed with an opposite clock edge, one more half cycle is added to
> the overall timing spec for the path. =A0By analyzing up to each stage,
> a logic delay short enough to change the input of a latch that's still
> not transparent starts the timing path fresh from this intermediate
> latch.
>
> It's such a "pretty" cascade of logic delays that I have to research
> what you mean by "domino logic" to make sure we're not talking about
> the same thing. =A0It truly would be simple to analyze, no PhD required.

John_H,
Read this paper first, then make your conclusion.

"Timing Verification and Optimal Clocking of Synchronous Digital
Circuits", published by 3 professors in University of Michigan in
1990, known as SMO algorithm.

Weng

Article: 145610
Subject: Intel's super-pipeline logic circuit paper is found
From: Weng Tianxiang <wtxwtx@gmail.com>
Date: Mon, 15 Feb 2010 15:50:42 -0800 (PST)
Links: << >>  << T >>  << A >>
Hi,
We talked about Intel's super-pipeline logic a few weeks ago, using
latch to replace flip-flops. Now I found the paper: patent number:
5796282.

http://scholar.google.com/scholar?q=5796282&hl=en&btnG=Search&as_sdt=2001&as_sdtp=on

Weng

Article: 145611
Subject: The more you read, the more you are confused: about Intel's a patent
From: Weng Tianxiang <wtxwtx@gmail.com>
Date: Mon, 15 Feb 2010 15:59:18 -0800 (PST)
Links: << >>  << T >>  << A >>
Hi,
Recently I read Intel's a patent "Apparatus and a method for embedding
dynamic state machines in a static environment".

http://www.google.com/patents?hl=en&lr=&vid=USPAT5712826&id=yqIeAAAAEBAJ&oi=fnd&dq=5712826&printsec=abstract#v=onepage&q=&f=false

It direct uses the first level of latches in a normally 2 levels of
latches to do a dynamic state machine memory cell: storing information
of last half clock and driving through it without output gate to
control.

Directly driving through the first level of latches without switching
between two levels of latches.

Really unbelievable !

Weng




Article: 145612
Subject: Re: The more you read, the more you are confused: about Intel's a patent
From: glen herrmannsfeldt <gah@ugcs.caltech.edu>
Date: Tue, 16 Feb 2010 00:41:45 +0000 (UTC)
Links: << >>  << T >>  << A >>
In comp.arch.fpga Weng Tianxiang <wtxwtx@gmail.com> wrote:

> Recently I read Intel's a patent "Apparatus and a method for embedding
> dynamic state machines in a static environment".
(snip)
 
Many intel processors historically used dynamic logic, though
without much explanation for what they actually did.

The 8080 and 8086 have minimum clock rates to satisfy the
dynamic logic in use.

> Directly driving through the first level of latches without switching
> between two levels of latches.

Would that also require a minimum clock rate?  Or clocking
on both edges of a clock signal.  The 8086, when clocked at
maximum frequency, requires a 33% duty cycle clock.  At lower
frequencies that requirement isn't there.

-- glen

Article: 145613
Subject: Differential Signaling Buffer
From: "lakshmi3489" <lakshmi.doravari@n_o_s_p_a_m.gmail.com>
Date: Mon, 15 Feb 2010 23:13:48 -0600
Links: << >>  << T >>  << A >>
Hi 

  Has anyone made use of the Differential Signaling Buffer ipcore in EDK???
I have read the pdf accompanying the ipcore and managed to add it properly.
But  I am confused as how to connect the output of this buffer to a custom
fifo i have created.
  please help!!!!	   
					
---------------------------------------		
Posted through http://www.FPGARelated.com

Article: 145614
Subject: Re: The more you read, the more you are confused: about Intel's a
From: Eric Smith <spacewar@gmail.com>
Date: Mon, 15 Feb 2010 22:11:08 -0800 (PST)
Links: << >>  << T >>  << A >>
On Feb 15, 4:41=A0pm, glen herrmannsfeldt <g...@ugcs.caltech.edu> wrote:
> Many intel processors historically used dynamic logic, though
> without much explanation for what they actually did.

Someone at AMI published a book on PMOS logic design, which included
good material on the principles of four-phase and two-phase dynamic
PMOS logic.  The same principles were generally applicable to NMOS.

> The 8080 and 8086 have minimum clock rates to satisfy the
> dynamic logic in use.

As did the original 186/188, 286, and 386.  In particular the original
Intel 386 was dynamic even though it was CMOS; when AMD reverse-
engineered it they reimplemented the logic as fully static for their
386.  The drawback was that the fully static design required a larger
die.

Article: 145615
Subject: EDK 11,1 on Windows 7, 32 Bit
From: Antti <antti.lukats@googlemail.com>
Date: Mon, 15 Feb 2010 23:10:48 -0800 (PST)
Links: << >>  << T >>  << A >>
Hi

my co-worker has a problem with EDK (used on w7, 32bit)
OLD project can be built but any new projexcts created stop
during implementation

xilinx claims that the following table
http://www.xilinx.com/ise/ossupport/index.htm

is UPTODATE OS support list for Xilinx tools, in that table win7 is
missing

so what is wrong? is there something wrong with the installation, but
hey
why then old projects pass full flow?

any ideas?

Antti



Article: 145616
Subject: Re: Differential Signaling Buffer
From: "lakshmi3489" <lakshmi.doravari@n_o_s_p_a_m.gmail.com>
Date: Tue, 16 Feb 2010 04:57:56 -0600
Links: << >>  << T >>  << A >>
>Hi 
>
>  Has anyone made use of the Differential Signaling Buffer ipcore in
EDK???
>I have read the pdf accompanying the ipcore and managed to add it
properly.
>But  I am confused as how to connect the output of this buffer to a
custom
>fifo i have created.
>  please help!!!!	   
>					
>---------------------------------------		
>Posted through http://www.FPGARelated.com
>
solved it!!	   
					
---------------------------------------		
Posted through http://www.FPGARelated.com

Article: 145617
Subject: Data2Mem ? BlockRAM ? Init BMM and MEM
From: "de4" <de4@n_o_s_p_a_m.poczta.onet.pl>
Date: Tue, 16 Feb 2010 05:20:28 -0600
Links: << >>  << T >>  << A >>
Please help me I have really mess in my head with titles above.
A have got custom processor that uses RAM which is created from Block
RAMs.
RAM is generated from CoreGen. I was initilizing BlockRAM's using .coe
file.
But it takes 'hours' to update code/data in .coe file and reimplement
design.
I wish to update data in .bit file without re-design. I found that there is
a tool data2mem that do that for me. But it takes .bmm files and .mem files
and this is problem for me...I don't know how to create files like this...
I have seen syntax in .bmm files and I was quite scary for me...

I'm FPGA beginner and can anybody tell me what to do in steps to create
those .bmm files and .mem files. I was searching it for few hours and I
don't catch this...

Please help and thank you for any answer...
Best Regards,
Mac
 	   
					
---------------------------------------		
Posted through http://www.FPGARelated.com

Article: 145618
Subject: Re: Data2Mem ? BlockRAM ? Init BMM and MEM
From: Symon <symon_brewer@hotmail.com>
Date: Tue, 16 Feb 2010 12:25:00 +0000
Links: << >>  << T >>  << A >>
http://www.xilinx.com/itp/xilinx92/books/docs/d2m/d2m.pdf

Read that. Then come back and ask questions.
HTH, Syms.

Article: 145619
Subject: Re: Data2Mem ? BlockRAM ? Init BMM and MEM
From: he <novalid@ddres.se>
Date: Tue, 16 Feb 2010 13:45:18 +0100
Links: << >>  << T >>  << A >>
First you should constrain the used BRAMs to fixed locations, so you
don't have to recreate a new bmm file after each P&R run.
Most probably, you will have to write the BMM file "by hand" (see the
link posted by Symon, tell me if theres an automated way ;)
The mem-file syntax is quite simple, but there are tools to create these
mem files from binary files like srecord (srecord.sourceforge.net):
$ srec_cat bram_content.bin -binary -o ram.mem -vmem 8

hth,
HE



de4 schrieb:
> Please help me I have really mess in my head with titles above.
> A have got custom processor that uses RAM which is created from Block
> RAMs.
> RAM is generated from CoreGen. I was initilizing BlockRAM's using .coe
> file.
> But it takes 'hours' to update code/data in .coe file and reimplement
> design.
> I wish to update data in .bit file without re-design. I found that there is
> a tool data2mem that do that for me. But it takes .bmm files and .mem files
> and this is problem for me...I don't know how to create files like this...
> I have seen syntax in .bmm files and I was quite scary for me...
> 
> I'm FPGA beginner and can anybody tell me what to do in steps to create
> those .bmm files and .mem files. I was searching it for few hours and I
> don't catch this...
> 
> Please help and thank you for any answer...
> Best Regards,
> Mac
>  	   
> 					
> ---------------------------------------		
> Posted through http://www.FPGARelated.com

Article: 145620
Subject: Re: Data2Mem ? BlockRAM ? Init BMM and MEM
From: Symon <symon_brewer@hotmail.com>
Date: Tue, 16 Feb 2010 13:50:02 +0000
Links: << >>  << T >>  << A >>
On 2/16/2010 12:45 PM, he wrote:
> First you should constrain the used BRAMs to fixed locations, so you
> don't have to recreate a new bmm file after each P&R run.
> Most probably, you will have to write the BMM file "by hand" (see the
> link posted by Symon, tell me if theres an automated way ;)

I dimly recall analysing the RBT format, and then writing a perl script 
that searched through the RBT file for a BRAM with contents beginning 
"DEADBEEF", or whatever I'd tagged the BRAM with, to automatically 
update the BMM after a PAR. However, as you point out, constraining the 
placement was much easier.

Cheers, Syms.

Article: 145621
Subject: Re: Data2Mem ? BlockRAM ? Init BMM and MEM
From: "de4" <de4@n_o_s_p_a_m.poczta.onet.pl>
Date: Tue, 16 Feb 2010 08:52:16 -0600
Links: << >>  << T >>  << A >>
>http://www.xilinx.com/itp/xilinx92/books/docs/d2m/d2m.pdf
>
>Read that. Then come back and ask questions.
>HTH, Syms.
>

I read that before but It didn't give me much... I was thinking CoreGen
generating RAM so probably map of this RAM can be generated also automatic.
I see it can't. .mem file is not a problem I've got my assembler program so
I will generate code in mem format but those .bmm are stupidness... Why it
cant be generated by software ? I don't know what constarin placement is ?

I have got something like that generated from CoreGen :

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
-- synthesis translate_off
Library XilinxCoreLib;
-- synthesis translate_on
ENTITY BlockRAM4 IS
	port (
	clka: IN std_logic;
	wea: IN std_logic_VECTOR(0 downto 0);
	addra: IN std_logic_VECTOR(10 downto 0);
	dina: IN std_logic_VECTOR(15 downto 0);
	douta: OUT std_logic_VECTOR(15 downto 0);
	clkb: IN std_logic;
	web: IN std_logic_VECTOR(0 downto 0);
	addrb: IN std_logic_VECTOR(10 downto 0);
	dinb: IN std_logic_VECTOR(15 downto 0);
	doutb: OUT std_logic_VECTOR(15 downto 0));
END BlockRAM4;

ARCHITECTURE BlockRAM4_a OF BlockRAM4 IS
-- synthesis translate_off
component wrapped_BlockRAM4
	port (
	clka: IN std_logic;
	wea: IN std_logic_VECTOR(0 downto 0);
	addra: IN std_logic_VECTOR(10 downto 0);
	dina: IN std_logic_VECTOR(15 downto 0);
	douta: OUT std_logic_VECTOR(15 downto 0);
	clkb: IN std_logic;
	web: IN std_logic_VECTOR(0 downto 0);
	addrb: IN std_logic_VECTOR(10 downto 0);
	dinb: IN std_logic_VECTOR(15 downto 0);
	doutb: OUT std_logic_VECTOR(15 downto 0));
end component;

-- Configuration specification 
	for all : wrapped_BlockRAM4 use entity
XilinxCoreLib.blk_mem_gen_v3_2(behavioral)
		generic map(
			c_has_regceb => 0,
			c_has_regcea => 0,
			c_mem_type => 2,
			c_rstram_b => 0,
			c_rstram_a => 0,
			c_has_injecterr => 0,
			c_rst_type => "SYNC",
			c_prim_type => 1,
			c_read_width_b => 16,
			c_initb_val => "0",
			c_family => "spartan3",
			c_read_width_a => 16,
			c_disable_warn_bhv_coll => 0,
			c_write_mode_b => "WRITE_FIRST",
			c_init_file_name => "no_coe_file_loaded",
			c_write_mode_a => "WRITE_FIRST",
			c_mux_pipeline_stages => 0,
			c_has_mem_output_regs_b => 0,
			c_has_mem_output_regs_a => 0,
			c_load_init_file => 0,
			c_xdevicefamily => "spartan3a",
			c_write_depth_b => 2048,
			c_write_depth_a => 2048,
			c_has_rstb => 0,
			c_has_rsta => 0,
			c_has_mux_output_regs_b => 0,
			c_inita_val => "0",
			c_has_mux_output_regs_a => 0,
			c_addra_width => 11,
			c_addrb_width => 11,
			c_default_data => "0",
			c_use_ecc => 0,
			c_algorithm => 1,
			c_disable_warn_bhv_range => 0,
			c_write_width_b => 16,
			c_write_width_a => 16,
			c_read_depth_b => 2048,
			c_read_depth_a => 2048,
			c_byte_size => 9,
			c_sim_collision_check => "ALL",
			c_common_clk => 0,
			c_wea_width => 1,
			c_has_enb => 0,
			c_web_width => 1,
			c_has_ena => 0,
			c_use_byte_web => 0,
			c_use_byte_wea => 0,
			c_rst_priority_b => "CE",
			c_rst_priority_a => "CE",
			c_use_default_data => 0);
-- synthesis translate_on
BEGIN
-- synthesis translate_off
U0 : wrapped_BlockRAM4
		port map (
			clka => clka,
			wea => wea,
			addra => addra,
			dina => dina,
			douta => douta,
			clkb => clkb,
			web => web,
			addrb => addrb,
			dinb => dinb,
			doutb => doutb);
-- synthesis translate_on

END BlockRAM4_a;


how I can create some .bmm from this ? I know that those things are simple
for exprets but I not an expert...

Thanks for aswers...	   
					
---------------------------------------		
Posted through http://www.FPGARelated.com

Article: 145622
Subject: Re: Data2Mem ? BlockRAM ? Init BMM and MEM
From: he <novalid@ddres.se>
Date: Tue, 16 Feb 2010 16:15:24 +0100
Links: << >>  << T >>  << A >>
> I read that before but It didn't give me much... I was thinking CoreGen
> generating RAM so probably map of this RAM can be generated also automatic.
> I see it can't. .mem file is not a problem I've got my assembler program so
> I will generate code in mem format but those .bmm are stupidness... Why it
> cant be generated by software ? I don't know what constarin placement is ?

Look up the number and names of your BRAMs in your routed design, for
example with fpga_editor or Planahead.
You can pin these BRAMs to fixed locations with the approprate entries
in your ucf file.
This is an example ucf entry for 4 BRAMs used in 8 bit mode in parallel:

---8<----
## BRAM location constraints
INST
"BRAM/blockram/BU2/U0/blk_mem_generator/valid.cstr/ramloop[3].ram.r/v4_init.ram/SP.SINGLE_PRIM.SP"
LOC = "RAMB16_X3Y1";
INST
"BRAM/blockram/BU2/U0/blk_mem_generator/valid.cstr/ramloop[2].ram.r/v4_init.ram/SP.SINGLE_PRIM.SP"
LOC = "RAMB16_X3Y0";
INST
"BRAM/blockram/BU2/U0/blk_mem_generator/valid.cstr/ramloop[1].ram.r/v4_init.ram/SP.SINGLE_PRIM.SP"
LOC = "RAMB16_X4Y1";
INST
"BRAM/blockram/BU2/U0/blk_mem_generator/valid.cstr/ramloop[0].ram.r/v4_init.ram/SP.SINGLE_PRIM.SP"
LOC = "RAMB16_X4Y0";
---8<----

you have to insert the approprate names/paths for your design...


> how I can create some .bmm from this ?

write it by hand, the commands are described in the data2mem user guide.
This is an example for the four BRAMs shown above:

---8<----
ADDRESS_MAP mymap PPC405 0
ADDRESS_SPACE BRAM COMBINED INDEX_ADDRESSING[0x00000000:0x00001FFF]
ADDRESS_RANGE RAMB16
BUS_BLOCK
wb_arbiter/BRAM/BU2/U0/blk_mem_generator/valid.cstr/ramloop[3].ram.r/v4_init.ram/SP.SINGLE_PRIM.SP
[31:24] PLACED=X5Y1;
wb_arbiter/BRAM/BU2/U0/blk_mem_generator/valid.cstr/ramloop[2].ram.r/v4_init.ram/SP.SINGLE_PRIM.SP
[23:16] PLACED=X5Y0;
wb_arbiter/BRAM/BU2/U0/blk_mem_generator/valid.cstr/ramloop[1].ram.r/v4_init.ram/SP.SINGLE_PRIM.SP
[15:8] PLACED=X4Y1;
wb_arbiter/BRAM/BU2/U0/blk_mem_generator/valid.cstr/ramloop[0].ram.r/v4_init.ram/SP.SINGLE_PRIM.SP
[7:0] PLACED=X4Y0;
END_BUS_BLOCK;
END_ADDRESS_RANGE;
END_ADDRESS_SPACE;
END_ADDRESS_MAP;
---8<----

now you can use data2mem to show or change the BRAM contents via
$ data2mem -bm brams.bmm -bt yourbitfile.bit > log.txt
$ data2mem -bm brams.bmm -bt yourbitfile.bit -bd ram_content.mem -o -b
bitfile_with_new_contents.bit

hth
HE

Article: 145623
Subject: Re: rocketio TX delay between sata0 and sata1
From: Symon <symon_brewer@hotmail.com>
Date: Tue, 16 Feb 2010 15:52:43 +0000
Links: << >>  << T >>  << A >>
On 2/15/2010 10:08 PM, msegura wrote:
> Hi, I'm workng with MGT as GT_CUSTOM.
> I use the MGT for transmiting to pulses of .66ns(1/15Ghg).
> I check all the delays with FPGA editor and all was ok, but I mesure the
> pulses at the SATA conector and there are a delay between SATA0 and SATA1
> of 500ps.

What are these two signals? Where do they connect to your FPGA?

Syms.

Article: 145624
Subject: Re: Data2Mem ? BlockRAM ? Init BMM and MEM
From: "de4" <de4@n_o_s_p_a_m.poczta.onet.pl>
Date: Tue, 16 Feb 2010 10:14:12 -0600
Links: << >>  << T >>  << A >>
Thank you very much, You helped me really a lot...
They should write it in datasheet as you said that.
Thanks again and I going now to fight with this

Best regards,
maciek 	   
					
---------------------------------------		
Posted through http://www.FPGARelated.com



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