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 130275

Article: 130275
Subject: Re: Optimizing an inferred counter
From: KJ <kkjennings@sbcglobal.net>
Date: Wed, 19 Mar 2008 04:57:19 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Mar 18, 11:13=A0pm, "Marty Ryba" <martin.ryba.nos...@verizon.net>
wrote:
> Hello everyone,
>
> =A0 =A0 After banging our heads for last few weeks (sometimes literally), =
I
> figure I'll query the group of experts here. We have a design that is
> functionally correct (ModelSim test bench) but it appears to be very iffy
> when it gets on the real chip. I have a couple copies of "identical" board=
s
> with Virtex2-1000 chips on them. I'll check again soon, but I believe they=

> are -6 parts. We've been synthesizing the design in Synplify Pro (v7.5
> though others are available; this design has some history of working fine)=
.

Which design are you referring to here that has some history of
working fine?  The PCB design or the FPGA design?

> Sometimes it works on one or more boards, other times after I load it (and=

> verify) with iMPACT this counter acts screwy (it messes up critical timing=
,
> and it also looks all wrong on Chipscope).

You might want to clarify what you mean by 'messes up critical timing'
and 'looks all wrong'.  I'm assuming here that the counter starts off
correctly and just doesn't decrement properly which would lead one to
suspecting problems related in some way to the signal 'making_data'
but again you should clarify this.

In any case, the problem is one of the following (not in any
particular order):
1. Inadequate power supply.  Check the Vcc at the chip with a high
speed scope and good probing techniques, make sure that you're within
spec.  If only 'slightly' out that's not likely the cause of your
symptoms but is still something that needs to be addressed.
2. Timing.  Are the signals 'RESET', 'counter_load' and 'making_data'
all synchronized to 'CLK'?  As I said, I'm not sure which symptoms
you're exactly seeing but I'm guessing that it resets and initializes
properly it's just not counting correctly in which case 'making_data'
is the likely culprit.
3. More timing.  There is more to timing than just clock frequency.
There are also setup/hold time requirements.  Do 'counter_load' or
'making_data' come from external I/O pins?  If so, then
- Do the signals on the board meet the timing requirements that you
specified?
- You did specify a timing requirement on the inputs?
- Did the computed setup time from the P&R timing report (not
Synplify's estimated timing) meet all requirements?
4. Yet more timing.  'CLK' isn't a gated clock is it?
5. Clock signal quality.  Put a scope on the input clock.  Is it
absolutely monotonic through the entire Vih voltage range?  Both
edges?  No dips and bounces anywhere between Vih(min) and Vih(max)?

Go through the above checklist and I'm fairly confident that you'll
find the cause.

> We
> tried trimming the size of the counter from 32 bits down to 20 and it seem=
s
> to help some.
>

This is a symptom of failing timing, see items #2, 3 and 4 or double
clocking , see item #5 above.

>
> Another process block checks that this counter is nonzero and a few other
> requirements to set the value of making_data true or false.
>

This is a process block that is clocked by 'CLK' I presume?

How about the inputs into that process block?  The same sort of timing
considerations mentioned previously apply here as well.  Violating
timing may cause 'making_data' to miss or double hit occasionally.

>
> I notice the RTL shows this using an adder (it fans out making_data to
> COUNT_WIDTH bits so that it becomes either the 0 or -1 to add). Isn't ther=
e
> a simpler structure to define a count(down) counter? I sure can buy a simp=
le
> counter in 74xx series logic. I notice neither arith_std or numeric_std
> define special operators (a la C's ++ and -- operators) to specify
> increment/decrement, so maybe there is no simple way to create a counter
> structure in fewer FPGA logic elements. Seems odd to me (non-EE).
>
The RTL viewer is a graphical view of your SOURCE code, it is not a
view of the final routed design.  Have no fear, the adder that adds -1
and the muxer that selects the final output will get optomized
appropriately.

Good luck

Kevin Jennings

Article: 130276
Subject: Re: Optimizing an inferred counter
From: Brian Drummond <brian_drummond@btconnect.com>
Date: Wed, 19 Mar 2008 12:38:50 +0000
Links: << >>  << T >>  << A >>
On Wed, 19 Mar 2008 03:13:40 GMT, "Marty Ryba" <martin.ryba.nospam@verizon.net>
wrote:

>Hello everyone,
>
>    After banging our heads for last few weeks (sometimes literally), I 
>figure I'll query the group of experts here. We have a design that is 
>functionally correct (ModelSim test bench) but it appears to be very iffy 
>when it gets on the real chip. 

>the timing is marginal for a specified clock of 100 MHz around this path, 
>but the chip is really running at 66 MHz (PCI clock). 

One thought: Are you using anything like a DCM or (since it's a Virtex) DLL to
clean up the clock?

PCI clock can be stopped, and switched between 33 and 66 MHz, during a PC's boot
sequence (I have watched this in a scope). This can confuse a DLL; you may need
means to reset it after any such change; or use an alternative (constant
frequency) clock.

- Brian


Article: 130277
Subject: Re: ISE 10.0 finally with multi-threading and SV support ?
From: sky465nm@trline4.org
Date: Wed, 19 Mar 2008 13:53:10 +0100 (CET)
Links: << >>  << T >>  << A >>
ratztafaz <heinerlitz@googlemail.com> wrote:
>Will the 10th edition of ISE, to be relealed next week, finally
>support multithreading/SMP machines to reduce synthesis + P&R time?

>Will we finally get support for synthesis of System Verilog
>constructs?

>What other major features to you still miss? - Discuss!

 * Proper exit codes upon failure..
 * Use libusb (drop jungo).
 * Published API for Impact.
 * GUI that doesn't crash.
 * Possible to exploit server farms such that the Synthesis/P&R can be shared
   between physically different machines.
 * Installer that allows installation on non-RH machines.


Article: 130278
Subject: Re: Using TimeQuest Timing Analyzer
From: =?ISO-8859-1?Q?Guilherme_Corr=EAa?= <gcorrea@gmail.com>
Date: Wed, 19 Mar 2008 06:29:39 -0700 (PDT)
Links: << >>  << T >>  << A >>
Hi, everyone.

Do you think that the best way of doing this is to compute the clock
period based on the Fmax information?
I know that it's not exactly the same of finding the critical delay of
my circuit, but I can't think of another way.
What do you think of it?

Guilherme Corr=EAa.


On 19 mar, 00:25, Guilherme Corr=EAa <gcor...@gmail.com> wrote:
> Hi, Rob.
>
> Thanks for answering.
> Actually, I can't use the Classic Timing Analyzer. I need to use the
> data obtained from TimeQuest, which is recommended by Altera for CMOS
> 65nm projects.
>
> Guilherme C.
>
> On 19 mar, 00:20, Rob <buz...@leavemealone.com> wrote:
>
> > You can tell Quartus to use the Classic Timing Analyzer by going into
> > the Timing Analysis Settings.
>
> > Guirico C. wrote:
> > > Hello,
>
> > > I'm trying to identify the critical path of a sequential circuit using=

> > > the TimeQuest Timing Analyzer. However, I'm facing some dificulties
> > > because the tool doesn't provide, as the Classic Timing Analyzer used
> > > to do, any table showing the worst-case paths of the circuit. Instead,=

> > > the TimeQuest generates a table with the Required Width, the Actual
> > > Width and the Slack refering to the pulse.
> > > How can I find, based on this provided information, the critical delay=

> > > of the circuit?
>
> > > Thanks a lot.
> > > Guirico C.


Article: 130279
Subject: Re: vhdl type conversions
From: Mike Treseler <mike_treseler@comcast.net>
Date: Wed, 19 Mar 2008 06:49:09 -0700
Links: << >>  << T >>  << A >>
u_stadler@yahoo.de wrote:
> thanks for all the answers!
> just tried it and yes it works in ise too!

Thanks for reporting the results.

    -- Mike Treseler

Article: 130280
Subject: Re: A Challenge for serialized processor design and implementation
From: "Ulf Samuelsson" <ulf@a-t-m-e-l.com>
Date: Wed, 19 Mar 2008 15:00:18 +0100
Links: << >>  << T >>  << A >>

"Antti" <Antti.Lukats@googlemail.com> skrev i meddelandet 
news:b2a2d8ca-444d-4508-9f2c-33adb30c8829@p73g2000hsd.googlegroups.com...
> Hi
>
> I have been think and part time working towards a goal to make useable
> and useful serialized processor. The idea is that it should be
>
> 1) VERY small when implemented in any modern FPGA (less 25% of
> smallest device, 1 BRAM)
> 2) be supported by high level compiler (C ?)
> 3) execute code in-place from either serial flash (Winbond quad speed
> SPI memory delivers 320 mbit/s!) or from file on sd-card
>

You mean  a COP800 FPGA core :-)

> serial implementation would be smaller and run at higher speeds, so
> 128 clock per machine cycle would already mean 2 MIPS, what would be
> acceptable for many applications.
>

The COP800 uses 10 clocks,
Clock 1 = Precharge
Clock 2-9 process 8 bits of data.
Clock 10 ?

> Parallax basic stamps I executes 2KIPS only, so ultra lite serial
> processor in FPGA with 2 MIPS would be eh, for me its some to dream
> off :)
>
> I have poked around this idea for some years, but never got the "final
> kick" to really go and do-complete the design and development of this
> processor.
>
> So I decided to offer some bounty for others to maybe motivate to work
> for this goal and dream, current list of items available for the
> developers from my own funding is listed here (I hope to add items and
> maybe some $ by the time)
>
> http://code.google.com/p/serial-processor/w/list
>
> there is also very preliminary spec-goal document as well
>
> Antti Lukats


-- 
Best Regards,
Ulf Samuelsson
This is intended to be my personal opinion which may,
or may not be shared by my employer Atmel Nordic AB 



Article: 130281
Subject: Re: Xilinx interview questions
From: "Symon" <symon_brewer@hotmail.com>
Date: Wed, 19 Mar 2008 14:08:41 -0000
Links: << >>  << T >>  << A >>
"austin" <austin@xilinx.com> wrote in message 
news:frolf3$ob81@cnn.xsj.xilinx.com...
>
> Other managers will ask about your schooling, grades, courses, etc.  I
> do not find that useful, as I know some of the best students become the
> worst employees, and some of the worst students become the best
> employees (education is required, but grades are not always a measure of
> what you learned, nor how you may perform).
>
On the other hand, I've found idiots don't get top class degrees from 
universities with a good reputation. This is an important part of the 
information needed to determine if the candidate is up to the task. I find 
it useful.
>
> Xilinx is also about how you, the person, how you will fit and interact
> with others here at Xilinx: how do you deal with difficult situations?
> How do you argue a technical issue?  How respectful are you of others,
> and their diversity (we have employees from around the world working at
> every site).
>
Out of interest, how many of the racist/mysogynistic/homophobic candidates 
that you've come across actually fess up to the fact that they hate the 
Welsh/Ellen DeGeneris/Ellen DeGeneris during the interview?
>
> How innovative are you?  Are you able to "think out of the
> box?"
>
> Good luck,
>
> Austin

I wonder if 'waterboarding' would work as an interview technique? Probably 
illegal in a few states, perhaps the Xilinx jet could be used to carry the 
candidate overseas? Just thinking outside the box...

Cheers, Syms. ;-) 



Article: 130282
Subject: Re: Optimizing an inferred counter
From: kennheinrich@sympatico.ca
Date: Wed, 19 Mar 2008 07:13:19 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Mar 19, 8:38 am, Brian Drummond <brian_drumm...@btconnect.com>
wrote:
> On Wed, 19 Mar 2008 03:13:40 GMT, "Marty Ryba" <martin.ryba.nos...@verizon.net>
> wrote:
>
> >Hello everyone,
>
> >    After banging our heads for last few weeks (sometimes literally), I
> >figure I'll query the group of experts here. We have a design that is
> >functionally correct (ModelSim test bench) but it appears to be very iffy
> >when it gets on the real chip.
> >the timing is marginal for a specified clock of 100 MHz around this path,
> >but the chip is really running at 66 MHz (PCI clock).
>
> One thought: Are you using anything like a DCM or (since it's a Virtex) DLL to
> clean up the clock?
>
> PCI clock can be stopped, and switched between 33 and 66 MHz, during a PC's boot
> sequence (I have watched this in a scope). This can confuse a DLL; you may need
> means to reset it after any such change; or use an alternative (constant
> frequency) clock.
>
> - Brian

My experience agrees with the common wisdom that it's almost always
clocks or power. But sometimes in mysterious, non-obvious ways :-)

Basic things to check on the timing side:

- how do you *know* that this is the process that's giving you
trouble? I'm assuming that there's a lot more logic than that in a
V2-1000 :-) Step back and ask yourself why you're so sure this is the
culprit.

- do you know that the clock is OK inside the chip? Have you brought
the clock out to a pin (or even a divide-by-two or by-four version,
using a simple flop, *not* a DCM/DLL) and scoped it out?

- are any of the signals in the process generated or used by a
different clock? If so, fix that first, and make sure any clock
crossing logic is (1) designed right, and (2) laced with
do_no_replicate and do_not_retime synthesis attributes (details differ
by synthesis tool)

- Xilinx DLLs and DCM tend to exhibit peculiar behaviour in that their
LOCK output can assert even though the output clock is completely
unstable, or possibly just running at a harmonic, like half-rate. If
you are using one of these devices, you need to manually implement
your own "LOCK" output, in a frequency measurement module using a pair
of counters, one from DCM and one from a known rock-solid (XTAL input)
reference and verifying that they count up at the right rate relative
to each other. Otherwise you need to keep hitting them with a reset.
Then once everything else is stable, reset the rest of the chip. This
problem can happen when input clocks are changed, as Brian mentioned,
and can be made worse if you have a cascade of DLL's, depending on
each other, producing a series of clocks.

- do you have enough synthesis constraints on the clock and any pin
inputs that may drive signals going into the state machine?

- have you tried running a post-place-and-route timing annotated
simulation to see if any timing errors show up there?

Good luck,

 - Kenn


Article: 130283
Subject: DDR SDRAM interface for Virtex II Pro and Spartan3a
From: robertwalczyk@gmail.com
Date: Wed, 19 Mar 2008 07:42:22 -0700 (PDT)
Links: << >>  << T >>  << A >>
Hi

I'd like to share with you my experience concerning DDR SDRAM
interface development for XUP V2P baord, it may save your time and
money.

I spent long time working on it, trying to make the code gererated by
the older MIG tools working. I found that there's more other people
with similar problem, but finally didn't get answer. Since I got new
board, Spartan3a Starter Kit, everything works fine.

Here's my advice - if your project requires more memory and you're not
well experienced FPGA engineer, I strongly recommend Spartan3a (in
fact DDR2 in this case) with ISE 9.2.

Rob


Article: 130284
Subject: Re: ISE 10.0 finally with multi-threading and SV support ?
From: ratztafaz <heinerlitz@googlemail.com>
Date: Wed, 19 Mar 2008 07:51:33 -0700 (PDT)
Links: << >>  << T >>  << A >>

>  * Use libusb (drop jungo).

Theres a much better approach availlable: XILINX JTAG tools on Linux
without proprietary kernel modules

windrvr sucks!

look: http://www.rmdir.de/~michael/xilinx/

Article: 130285
Subject: Re: ISE 10.0 finally with multi-threading and SV support ?
From: Uwe Bonnes <bon@hertz.ikp.physik.tu-darmstadt.de>
Date: Wed, 19 Mar 2008 14:58:01 +0000 (UTC)
Links: << >>  << T >>  << A >>
ratztafaz <heinerlitz@googlemail.com> wrote:

> >  * Use libusb (drop jungo).

> Theres a much better approach availlable: XILINX JTAG tools on Linux
> without proprietary kernel modules

> windrvr sucks!

> look: http://www.rmdir.de/~michael/xilinx/

You both mean the same...
-- 
Uwe Bonnes                bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------

Article: 130286
Subject: Re: Optimizing an inferred counter
From: Peter Alfke <peter@xilinx.com>
Date: Wed, 19 Mar 2008 10:14:39 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Mar 18, 8:13=A0pm, "Marty Ryba" <martin.ryba.nos...@verizon.net>
wrote:
> Hello everyone,
>
> =A0 =A0 After banging our heads for last few weeks (sometimes literally), =
I
> figure I'll query the group of experts here. We have a design that is
> functionally correct (ModelSim test bench) but it appears to be very iffy
> when it gets on the real chip. I have a couple copies of "identical" board=
s
> with Virtex2-1000 chips on them. I'll check again soon, but I believe they=

> are -6 parts. We've been synthesizing the design in Synplify Pro (v7.5
> though others are available; this design has some history of working fine)=
.
> Sometimes it works on one or more boards, other times after I load it (and=

> verify) with iMPACT this counter acts screwy (it messes up critical timing=
,
> and it also looks all wrong on Chipscope). Today I got brave enough to loa=
d
> it into the EEPROM; it worked this afternoon but who knows tomorrow (grrr)=
.
> Looking at the Synplify timing report (with -4 speed setting in Synplify),=

> the timing is marginal for a specified clock of 100 MHz around this path,
> but the chip is really running at 66 MHz (PCI clock). The key code is very=

> simple (some syntax may be a bit off since I'm doing it from memory). We
> tried trimming the size of the counter from 32 bits down to 20 and it seem=
s
> to help some.
>
> signal my_counter : std_logic_vector(COUNT_WIDTH-1 downto 0);
>
> countdown_process: process (CLK)
> begin
> =A0 if rising_edge(CLK) then =A0 =A0 =A0 =A0-- do everything synchronous
> =A0 =A0 if RESET =3D '1' then
> =A0 =A0 =A0 =A0my_counter <=3D ZEROIZE_COUNT;
> =A0 =A0 elsif counter_load =3D '1' then
> =A0 =A0 =A0 my_counter <=3D input_bus(COUNT_WIDTH-1 downto 0);
> =A0 =A0 elsif making_data =3D '1' then
> =A0 =A0 =A0 my_counter <=3D my_counter - '1';
> =A0 =A0 endif
> =A0 endif =A0-- CLK
> end -- process
>
> Another process block checks that this counter is nonzero and a few other
> requirements to set the value of making_data true or false.
>
> Ideas/suggestions? My main FPGA engineer has been working with the local
> Xilinx FAE but no "Eureka!" moments yet. A very similar (if anything,
> somewhat larger) design has never shown this trouble on the same boards. T=
he
> current design takes about 45% of the LUTs.
>
> I notice the RTL shows this using an adder (it fans out making_data to
> COUNT_WIDTH bits so that it becomes either the 0 or -1 to add). Isn't ther=
e
> a simpler structure to define a count(down) counter? I sure can buy a simp=
le
> counter in 74xx series logic. I notice neither arith_std or numeric_std
> define special operators (a la C's ++ and -- operators) to specify
> increment/decrement, so maybe there is no simple way to create a counter
> structure in fewer FPGA logic elements. Seems odd to me (non-EE).
>
> Thanks in advance for your sagacity.
>
> -Dr. Marty Ryba
> Mad GNSS scientist

Marty, for the past 15 years, all Xilinx FPGAs have had a built-in
ripple-carry structure which assures that a counter takes only one
flip-lop per bit, up to 32 bits and beyond.
If I were you, I would test this counter with a clean clock and adjust
the clock frequency up until the counter fails. That should eliminate
(or illuminate) the alleged frequency dependence.
If your clock comes from PCI, then you should be very leary about
running it through a DCM, which inherently does not tolerate abrupt
frequency changes or excessive jitter. But the raw counter itself is
very forgiving.
Peter Alfke, Xilinx

Article: 130287
Subject: Re: Xilinx interview questions
From: sky465nm@trline4.org
Date: Wed, 19 Mar 2008 18:49:23 +0100 (CET)
Links: << >>  << T >>  << A >>
>I wonder if 'waterboarding' would work as an interview technique? Probably 
>illegal in a few states, perhaps the Xilinx jet could be used to carry the 
>candidate overseas? Just thinking outside the box...

Vomit comet(tm) ..? :-)



Article: 130288
Subject: Re: Optimizing an inferred counter
From: ghelbig@lycos.com
Date: Wed, 19 Mar 2008 11:16:27 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Mar 18, 9:03 pm, Mike Treseler <mike_trese...@comcast.net> wrote:
> Marty Ryba wrote:
> > Another process block checks that this counter is nonzero and a few other
> > requirements to set the value of making_data true or false.
>
> > Ideas/suggestions?
>
> Combine the two processes into one.
>
>              -- Mike Treseler

Mike is spot-on here.  In my experience, the comparison(s) is (are)
the problem, not the counter operation.

You need to be a little clever and predict when the counter will be
zero (or whatever):

     elsif making_data = '1' then
      my_counter <= my_counter - '1';

      if my_counter = "0001" then    -- If it's one, and we're
counting down
          will_be_zero <= '1';       -- It will be zero by the time we
latch this

    endif

Hope that helps,
G.

Article: 130289
Subject: Re: Using TimeQuest Timing Analyzer
From: Subroto Datta <sdatta@altera.com>
Date: Wed, 19 Mar 2008 11:29:37 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Mar 18, 8:15=A0pm, "Guirico C." <gcor...@gmail.com> wrote:
> Hello,
>
> I'm trying to identify the critical path of a sequential circuit using
> the TimeQuest Timing Analyzer. However, I'm facing some dificulties
> because the tool doesn't provide, as the Classic Timing Analyzer used
> to do, any table showing the worst-case paths of the circuit. Instead,
> the TimeQuest generates a table with the Required Width, the Actual
> Width and the Slack refering to the pulse.
> How can I find, based on this provided information, the critical delay
> of the circuit?
>
> Thanks a lot.
> Guirico C.

Hi Guirico,

The TimeQuest timing analyzer reports only a summary of the timing
results by default during a full compilation.  This is the worst-case
slacks per clock domain in the reports ending in "Setup Summary",
"Hold Summary", etc. found in the .sta.rpt file or in the messages.

You can also enable the option "Report worst-case paths during
compilation" in the timing analysis settings to see the worst-case
path per clock domain by default.  To see more paths, open the
TimeQuest timing analyzer GUI and use "Report Timing" to report more
paths.  There are many other options available as well.

For more information on the TimeQuest timing analyzer, please visit
www.altera.com/timequest.

Hope this helps,
Subroto Datta
Altera Corp.

Article: 130290
Subject: Re: dual clock fifo
From: Patrick Dubois <prdubois@gmail.com>
Date: Wed, 19 Mar 2008 11:31:07 -0700 (PDT)
Links: << >>  << T >>  << A >>
On 18 mar, 12:41, KJ <kkjenni...@sbcglobal.net> wrote:
> Google for lpm_fifo_dc and then ask Xilinx why they don't support EIA
> standard LPM 220 components.
>
> KJ

Very interesting, thank you. My understanding is that source code was
available a while ago (edif.org) but this doesn't seem to be the case
anymore. Any idea where I could find some source code?

Patrick

Article: 130291
Subject: Re: Optimizing an inferred counter
From: Peter Alfke <peter@xilinx.com>
Date: Wed, 19 Mar 2008 12:17:33 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Mar 19, 11:16=A0am, ghel...@lycos.com wrote:
> On Mar 18, 9:03 pm, Mike Treseler <mike_trese...@comcast.net> wrote:
>
> > Marty Ryba wrote:
> > > Another process block checks that this counter is nonzero and a few ot=
her
> > > requirements to set the value of making_data true or false.
>
> > > Ideas/suggestions?
>
> > Combine the two processes into one.
>
> > =A0 =A0 =A0 =A0 =A0 =A0 =A0-- Mike Treseler
>
> Mike is spot-on here. =A0In my experience, the comparison(s) is (are)
> the problem, not the counter operation.
>
> You need to be a little clever and predict when the counter will be
> zero (or whatever):
>
> =A0 =A0 =A0elsif making_data =3D '1' then
> =A0 =A0 =A0 my_counter <=3D my_counter - '1';
>
> =A0 =A0 =A0 if my_counter =3D "0001" then =A0 =A0-- If it's one, and we're=

> counting down
> =A0 =A0 =A0 =A0 =A0 will_be_zero <=3D '1'; =A0 =A0 =A0 -- It will be zero =
by the time we
> latch this
>
> =A0 =A0 endif
>
> Hope that helps,
> G.

More general, and from a hardware point of view:
When the counter approaches zero, the most significant bits go to zero
first, and it is only the least significant bits that determine the
final count of zero. So most of the inputs to your big comparator of
32 bits are stable long before the zer0-count is reached. That means
you can divide up, and even pipeline your 32-bit comparator. You might
also be clever and detect underflow at the Most Significant bit, and
avoid the detector AND gate alltogether (but after one additional
clock pulse).
Peter Alfke, Xilinx

Article: 130292
Subject: Re: A Challenge for serialized processor design and implementation
From: Jim Granville <no.spam@designtools.maps.co.nz>
Date: Thu, 20 Mar 2008 07:34:00 +1200
Links: << >>  << T >>  << A >>
Ulf Samuelsson wrote:
> "Antti" <Antti.Lukats@googlemail.com> skrev i meddelandet 
> news:b2a2d8ca-444d-4508-9f2c-33adb30c8829@p73g2000hsd.googlegroups.com...
> 
>>Hi
>>
>>I have been think and part time working towards a goal to make useable
>>and useful serialized processor. The idea is that it should be
>>
>>1) VERY small when implemented in any modern FPGA (less 25% of
>>smallest device, 1 BRAM)
>>2) be supported by high level compiler (C ?)
>>3) execute code in-place from either serial flash (Winbond quad speed
>>SPI memory delivers 320 mbit/s!) or from file on sd-card
>>
> 
> 
> You mean  a COP800 FPGA core :-)

With the COP800 well past it's commercial life, what
is the status of 'abandonware' C Compilers for it ?
How small is a COP800 in fpga ?

> 
>>serial implementation would be smaller and run at higher speeds, so
>>128 clock per machine cycle would already mean 2 MIPS, what would be
>>acceptable for many applications.
>>
> 
> 
> The COP800 uses 10 clocks,
> Clock 1 = Precharge
> Clock 2-9 process 8 bits of data.
> Clock 10 ?

Opcode execute ?

With BRAM being cheap, and DATA SRAM being slow/relatively expensive,
the core needs to use many registers well.
Features like Bank swap, or register frame pointer aka Z8/XC166 etc.
Also a Push NN/PopNN would avoid costly DATA ram thrashing.

-jg


Article: 130293
Subject: Re: dual clock fifo
From: KJ <kkjennings@sbcglobal.net>
Date: Wed, 19 Mar 2008 12:45:24 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Mar 19, 2:31=A0pm, Patrick Dubois <prdub...@gmail.com> wrote:
> On 18 mar, 12:41, KJ <kkjenni...@sbcglobal.net> wrote:
>
> > Google for lpm_fifo_dc and then ask Xilinx why they don't support EIA
> > standard LPM 220 components.
>
> > KJ
>
> Very interesting, thank you. My understanding is that source code was
> available a while ago (edif.org) but this doesn't seem to be the case
> anymore. Any idea where I could find some source code?
>
> Patrick

Altera (Sim model and synthesis)
Synplicity (synthesis only)
Lattice (synthesis only)
ISE (synthesis only, .TDF files)

And that's the rub when it comes to LPM, you can't always get
simulation models from the various synthesis vendors even though they
'support' it.  The resourceful designer though might see that using
the same interface that LPM uses (i.e. generics and signals) would
make for a good starting point for making their own...while grumbling
to the suppliers about their lack of sim support for a standard that
they 'support'...while they try to claim that 'their' fifo interface
is somehow superior to some others....even though it's not, their
implementation of a fifo might be better, but the interface TO the
fifo is not.

The other reality is that by making you jump through hoops with their
various wizards that purport to 'help' they lock you into their stuff
just a bit.

KJ

Article: 130294
Subject: Re: dual clock fifo
From: Patrick Dubois <prdubois@gmail.com>
Date: Wed, 19 Mar 2008 12:59:52 -0700 (PDT)
Links: << >>  << T >>  << A >>
On 19 mar, 15:45, KJ <kkjenni...@sbcglobal.net> wrote:
> Altera (Sim model and synthesis)
> Synplicity (synthesis only)
> Lattice (synthesis only)
> ISE (synthesis only, .TDF files)
>
> And that's the rub when it comes to LPM, you can't always get
> simulation models from the various synthesis vendors even though they
> 'support' it.  The resourceful designer though might see that using
> the same interface that LPM uses (i.e. generics and signals) would
> make for a good starting point for making their own...while grumbling
> to the suppliers about their lack of sim support for a standard that
> they 'support'...while they try to claim that 'their' fifo interface
> is somehow superior to some others....even though it's not, their
> implementation of a fifo might be better, but the interface TO the
> fifo is not.
>
> The other reality is that by making you jump through hoops with their
> various wizards that purport to 'help' they lock you into their stuff
> just a bit.
>
> KJ

I found the source code that was available at edif.org through
archive.org:
http://web.archive.org/web/20031204114425/http://www.edif.org/lpmweb/more/vhdl.htm

It looks like complete source code, I'm not sure what additionnal
support I would need from vendors. It seems to me that I could just
use lpm_fifo_dc from 220model.vhd. Am I missing something?

Patrick



Article: 130295
Subject: Re: total cost for virtex II pro FPGA
From: "David Binnie" <td.binnie@blueyonder.co.uk>
Date: Wed, 19 Mar 2008 20:09:23 GMT
Links: << >>  << T >>  << A >>
The Virtex2Pro board is not recognised by the latest version of EDK (9.2i)

If you want larger memory the V2P DDR memory interface requires specialist 
support.
Digilent nor Xilinx  will not give you a working example.

Strongly suggest Spartan 3A board instead.



Article: 130296
Subject: Altera EPM7032S reading checksum
From: "maxi" <maxitubo@virgilio.it>
Date: Wed, 19 Mar 2008 20:15:48 GMT
Links: << >>  << T >>  << A >>
Hi,

is it possible to read a checksum of a
EPM7032S with Byteblaster an Max Plus II without having any information of 
how and what can be inside only for test the Jtag is ok?

If yes how can i do?

Thanks for any help



MAX

EPM7032SEPM7032S 



Article: 130297
Subject: Re: ISE 10.0 finally with multi-threading and SV support ?
From: sky465nm@trline4.org
Date: Wed, 19 Mar 2008 21:29:54 +0100 (CET)
Links: << >>  << T >>  << A >>
Uwe Bonnes <bon@hertz.ikp.physik.tu-darmstadt.de> wrote:
>ratztafaz <heinerlitz@googlemail.com> wrote:

>> >  * Use libusb (drop jungo).

>> Theres a much better approach availlable: XILINX JTAG tools on Linux
>> without proprietary kernel modules

>> windrvr sucks!

>> look: http://www.rmdir.de/~michael/xilinx/

>You both mean the same...

Yep.

(I thought no-one would misunderstand the original message)

Article: 130298
Subject: Re: A Challenge for serialized processor design and implementation
From: Walter Banks <walter@bytecraft.com>
Date: Wed, 19 Mar 2008 16:00:25 -0500
Links: << >>  << T >>  << A >>


Jim Granville wrote:

> >>I have been think and part time working towards a goal to make useable
> >>and useful serialized processor. The idea is that it should be
> >>
> >>1) VERY small when implemented in any modern FPGA (less 25% of
> >>smallest device, 1 BRAM)
> >>2) be supported by high level compiler (C ?)
> >>3) execute code in-place from either serial flash (Winbond quad speed
> >>SPI memory delivers 320 mbit/s!) or from file on sd-card
> >>
> >
> >
> > You mean  a COP800 FPGA core :-)
>
> With the COP800 well past it's commercial life, what
> is the status of 'abandonware' C Compilers for it ?
> How small is a COP800 in fpga ?
>
> >
> >>serial implementation would be smaller and run at higher speeds, so
> >>128 clock per machine cycle would already mean 2 MIPS, what would be
> >>acceptable for many applications.
> >>
> >
> >
> > The COP800 uses 10 clocks,
> > Clock 1 = Precharge
> > Clock 2-9 process 8 bits of data.
> > Clock 10 ?

We have a COP8 compiler. The COP8 certainly fits the description
because it original implementation was almost identical.

8051, Z8 and 6804 would also be on my historical short list.

Walter..


Article: 130299
Subject: Re: A Challenge for serialized processor design and implementation
From: Jecel <jecel@merlintec.com>
Date: Wed, 19 Mar 2008 14:29:58 -0700 (PDT)
Links: << >>  << T >>  << A >>
Antti,

my impression is that a subset of the 32 bit Transputers with a serial
implementation would be the best tradeoff in terms of complexity and
performance. The 3 element hardware stack and ALU would be very
compact on the FPGAs and the instruction set would give you reasonable
access to a block RAM (you don't want to write too much to a Flash and
it is nice to avoid reading random data from it to keep the
instruction stream flowing).

Depending on how compatible it was (I wouldn't include the
multitasking and message sending stuff) you would have these languages
available for it:

http://www.classiccmp.org/transputer/languages.htm

A serial implementation of a classic RISC (like MIPS or DLX) would be
somewhat more awkward, but it would be doable.

A well known serial processor was the Motorola MC14500B, which is
probably as simple as it can get - see VHDL at
http://www.brouhaha.com/~eric/retrocomputing/motorola/mc14500b/

Sadly, it is far too simple and wouldn't do a good job for the
applications you are probably interested in. Since you mentioned Basic
Stamps, a very unorthodox approach would be to implement in hardware
the virtual machine for TinyBasic, put the interpreter in a block RAM
and have your Flash hold the source (or tokenized source) directly.

Sorry about only giving advice instead of actual help, but you know
how hard it is to find time for so many projects.

-- Jecel



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