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 79175

Article: 79175
Subject: Xilinx Post Place and Route FIFO problems
From: "Brad Smallridge" <bradsmallridge@dslextreme.com>
Date: Tue, 15 Feb 2005 09:02:16 -0800
Links: << >>  << T >>  << A >>
Hello All,

Still more problems with FIFOs.  Today I tried to
use the Coregen Wizard to generate a FIFO, hoping
that the generated FIFO would be better than the
one in my previous post.

I clicked on Project, New Source, IP.  Clicked
on Synchronous FIFO, Blocked Memory,
32 Width, 2048 Depth (thinking one BRAM).

I have some extra package that an FAE installed
so I don't know if this is available to the Web Pack
crowd.

I tried to run a Waveform for this generated FIFO
and got a message TestBench Waveforms are not
currently supported for Arch Wizard or CoreGen
sources.

I have seen this problem before and generated a
top level design with the generated FIFO as a
component.  This involves some cut and paste
of the component and instantiation of the VHDL
FIFO code into the top level, basically re copying
the entity ports, the component declaration, and
the instantiation of the FIFO in the top level. You
have to get rid of the word "wrapped".  I'll
put this code at the end.

Same problem however.  The Simulate Behavior
Model runs OK. The Simulate Post-Place and
Route VHDL Model does not.

Brad Smallridge
b r a d @ a i v i s i o n . c o m




library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

--  Uncomment the following lines to use the declarations that are
--  provided for instantiating Xilinx primitive components.
--library UNISIM;
--use UNISIM.VComponents.all;

entity top is
 port (
 clk: IN std_logic;
 sinit: IN std_logic;
 din: IN std_logic_VECTOR(31 downto 0);
 wr_en: IN std_logic;
 rd_en: IN std_logic;
 dout: OUT std_logic_VECTOR(31 downto 0);
 full: OUT std_logic;
 empty: OUT std_logic);
end top;

architecture Behavioral of top is

 component fifotest
 port (
 clk: IN std_logic;
 sinit: IN std_logic;
 din: IN std_logic_VECTOR(31 downto 0);
 wr_en: IN std_logic;
 rd_en: IN std_logic;
 dout: OUT std_logic_VECTOR(31 downto 0);
 full: OUT std_logic;
 empty: OUT std_logic);
 end component;


begin

U0 : fifotest
  port map (
   clk => clk,
   sinit => sinit,
   din => din,
   wr_en => wr_en,
   rd_en => rd_en,
   dout => dout,
   full => full,
   empty => empty);

end Behavioral;




Article: 79176
Subject: Re: ATM Cell Payload Scrambler / Descrambler Process Explaination Required
From: Allan Herriman <allan.herriman.hates.spam@ctam.com.au.invalid>
Date: Wed, 16 Feb 2005 04:03:47 +1100
Links: << >>  << T >>  << A >>
On 15 Feb 2005 08:32:52 -0800, "stockton"
<simon.stockton@baesystems.com> wrote:

>Hello Huub,
>
>I am just simulating a serial bit stream not actually running the
>scrambler / descrambler with 'real' data.
>
>I am actually simulating this in excel (spreadsheet) probably not the
>best way but should still work following the rules and my diagrams
>above.
>
>1) I make up a serial bit stream
>2) I scramble the serial bit stream (following my understanding
>outlined above)
>3) I descramble the serial bit stream (again following my understanding
>outlined)
>4) I compare the original serial bit stream with the output from the
>de-scrambler
>
>The result of 4) doesn't match, I am aware that the value that I preset
>the scrambler and de-scrambler with wil effect the first 43 bits but
>after that I should be able to see a correlation between the original
>serial bit stream and the output from the de-scrambler. I don't.
>
>I originally was testing my simulation using the whole 43 bits but
>someone told me that I could reduce the length of the shift register to
>make the results more clear I chose a 4 bit shift register, following
>the same rules but with 4 bits instead of 43 bits, should this still
>work?

Yes.  It won't be a very good scrambler, but it shouldn't cause a
mismatch.

You have a bug somewhere...

Do the values in the two shift registers match?

>Putting a string of 1's into my  4bit version of the simulation gives
>me a result of 4x 1's and then a 0 pattern that is repeated.
>(1111 0111 1111 0111 1111 0111 1111 0111 1111 0111 1111 0111 1111 0111
>1111 0111 1111 0111 etc ...)

You might need to specify *where* you observed that bit pattern.  Is
it on the output of the first scrambler, or on the output of the
descramber?

Regards,
Allan

Article: 79177
Subject: Re: Updated Stratix II Power Specs & Explanation [And a Junction Temperature Tutorial]
From: "Paul Leventis" <paul.leventis@utoronto.ca>
Date: 15 Feb 2005 09:10:33 -0800
Links: << >>  << T >>  << A >>
Hi Austin,

> Not only is the static Iccint current > 7.568 amperes at 100C, but
the
> device is clearly doing a thermal runaway (in Excel!).

The particular case you point out is not thermal runaway.  But with no
cooling solution at 36 degrees ambient, the junction temperature will
be out of spec (the spreadsheet indicates this with 100+).  The reality
is that anyone using 180,000 Logic Elements and 1000 I/O pins toggling
at a couple hundred Mhz will be dissipitating a lot more dynamic power
than static, and a cooling solution of some sort will be necessary
irrespective of static power.

BTW, we test our chips without heatsinks.  They do not go into thermal
runway.

> It looks as if the solution is iterative, and it keeps
> trying to converge with the formula for the Iccint being exponetial
with
> T, and the T just getting hotter, and hotter ...)

This iteration is a fundamental based on the physics at work here.
Static power is made up of a few components, but at 90 nm sub-threshold
leakage is the one that dominates.  This occurs because transistors
aren't really "off".  This is especially true on units that come out at
the fast end of the process spread (our Worst-Case numbers... you guys
don't seem to publish worst-case numbers), since these transistors are
leakier (due to lower threshold voltages, narrower channel lengths,
etc.).  This sub-threshold leakage power increases exponentially with
junction (transistor) temperature.

But junction temperature (Tj) is a function of overall power
dissipation and the cooling solution employed.  Cooling solutions
(package, thermal compound, heat sink, and air flow) can be represented
in the end by a "thermal resistance" expressed in degrees/Watt.  This
thermal resistance times the total power consumed gives the temperature
gradient from Ambient (surrounding air) to the Junction.  The parameter
used to express this resistance is ThetaJA -- the thermal resistance
between junction and ambient.

So we have:
    Power = DynamicPower + StaticPower(Tj)
    Tj = Ta (ambient) + Power * ThetaJA

As you can see, solving for the junction temperature requires
iteration.  Let's say you've got a chip that burns 1 W of static power
@ 25C, and is generating 3W of dynamic power (temperature insensitive).
 This is a total of 4W at 25C.  With no cooling solution, let's say
there is a thermal resistance of 10 degrees per Watt between the
junction (transistors) and ambient (surrounding air).  Let's say the
ambient temperature is 25C.

    Iteration 1: Tj = 25C (ambient)
         --> Static Power is 1W
    Iteration 2: Tj = 25C + 4W * 10 deg/Watt = 65C
         --> Static Power is now (say) 2W
    Iteration 3: Tj = 25C + 5W * 10 deg/Watt = 75C
         --> Static Power is now (say) 2.3W
    Iteration 4: Tj = 25C + 5.3W * 10 deg/Watt = 78C
         --> Static Power is now 2.4W
    Iteration 5: Tj = 25C + 5.4W * 10 deg/Watt = 79C
         --> ...

As you can see, we converge on a Tj of ~80C in this hypothetical
example.

Thermal runaway occurs when the this iteration reaches a point where
the incremental amount of static power for a 1 degree change in
temperature is greater than the cooling solution's ability to dissipate
that power.  For example, with a 10 degrees per Watt ThetaJA solution,
if we were to ever reach a junction temperature where the Static Power
increased by more than .1 W/deg, then the static power would increase
faster than we could dissipate and this iteration would result in an
infinite junction temperature.  In practice, the chip would release the
magic smoke that keeps it working.

> Sure, when the worst case static current is less than the surge, then

> there is no "surge...."
> Sure.  So if the worst case static is 6 ameres, what is the 'surge'
at
> 25C?  Less than 6 amperes, but still there?

At any temperature, worst-case or typical or best-case silicon, there
is no surge current.  A power supply designed to meet operating
conditions will result in succesful device power-up.

- Paul


Article: 79178
Subject: Re: Xilinx Spartan 3 kit - VHDL design question
From: "newman5382" <newman5382@yahoo.com>
Date: Tue, 15 Feb 2005 17:10:41 GMT
Links: << >>  << T >>  << A >>

"fpgawizz" <bhaskarstays@yahoo.com> wrote in message 
news:a26ec650d1e4f5f819b4b561d738000e@localhost.talkaboutelectronicequipment.com...
>I have 6 inputs to my entity, 4 switches (integer type), one clock, one
> reset. And a 4 bit o/p AN0-AN3 to control the anodes of the display and
> Data(6:0) which represents the data fed to the seven segments.
>
> I am trying to write a program where at each positive edge of the clock, I
> have to pass the values of the 4 integers to the 4 seven segment
> displays.for example. i/p i0 goes to the rightmost seven segment and i3
> goes to the left most. I have a process statement with a slower clock in
> my sensitivity list. Anyone has any ideas of what construct would be the
> best to use to pass the data from i0,i1,i2 and i3 to the seven segment
> displays inside the process statement?
>
> thanks
> -VJ
>

fpgawizz,
  I would look at the source code that represents the demo package that 
comes preloaded on the Spartan III starter kit.  I believe the name of the 
file on the Xilinx Web site is :
Spartan3_starter_PROM_source.zip

  Within that project directory, there is a file :
./pcores/opb_7segled_v1_00_a/hdl/vhdl/userlogic.vhd

  There is some OPB interface stuff in there that you are probably not 
interested in, but there is some stuff about how someone else thought the 
multiplexed 7segled should work.

  I have a question for you.  Why do you open new threads in this newsgroup 
to ask essentially the same question in a different way.  I would think that 
it makes it more difficult for someone else to benefit from the 
"conversations" at a later date.

-newman




Article: 79179
Subject: Re: Xilinx Post Place and Route FIFO problems
From: "Brad Smallridge" <bradsmallridge@dslextreme.com>
Date: Tue, 15 Feb 2005 09:11:06 -0800
Links: << >>  << T >>  << A >>
Excuse me. Spartan 3 4 BRAMs. 



Article: 79180
Subject: Re: See the next high-wire act, this time on power consumption
From: "Paul Leventis" <paul.leventis@utoronto.ca>
Date: 15 Feb 2005 09:13:56 -0800
Links: << >>  << T >>  << A >>
> If you mean this one, from 14 Feb
>
http://www.altera.com/corporate/news_room/releases/products/nr-powerplay.html
>
> that's a harder call. Are these actually the SAME numbers, (press
> released twice) or has two weeks resulted in another improvement ?.

I don't expect Xilinx to include these numbers.  They were after all
just released yesterday.

> They don't quite overlay, as the Jan spec says 45%, but the Feb one
is
> 47%, or is that 'really the same number' to marketing ?

Two seperate releases for two seperate improvements.  EPE 2.0 had a up
to 45% reduction vs. 1.0, and EPE 2.1 has a up to 47% reduction vs. EPE
2.0.  Sorry for the up to numbers -- the results do vary a lot across
process, temperature and device used.

Paul Leventis
Altera Corp.


Article: 79181
Subject: Re: Xilinx Spartan 3 kit - VHDL design question
From: "Brad Smallridge" <bradsmallridge@dslextreme.com>
Date: Tue, 15 Feb 2005 09:20:43 -0800
Links: << >>  << T >>  << A >>

Your inputs should be std_logic.  I know it's tough for beginners
to cozy up with the manipulation of strings as a solution for
modeling.  The IEEE libraries were sort of a kludge to address
some difficult questions about modeling, making VHDL one
of the most verbose languages I have seen.  However this
is how it was done and it's best to accept it.

Your question is hard to follow.  Why don't you post your
code and the group can sort it out for you.

"fpgawizz" <bhaskarstays@yahoo.com> wrote in message 
news:a26ec650d1e4f5f819b4b561d738000e@localhost.talkaboutelectronicequipment.com...
>I have 6 inputs to my entity, 4 switches (integer type), one clock, one
> reset. And a 4 bit o/p AN0-AN3 to control the anodes of the display and
> Data(6:0) which represents the data fed to the seven segments.
>
> I am trying to write a program where at each positive edge of the clock, I
> have to pass the values of the 4 integers to the 4 seven segment
> displays.for example. i/p i0 goes to the rightmost seven segment and i3
> goes to the left most. I have a process statement with a slower clock in
> my sensitivity list. Anyone has any ideas of what construct would be the
> best to use to pass the data from i0,i1,i2 and i3 to the seven segment
> displays inside the process statement?
>
> thanks
> -VJ
> 



Article: 79182
Subject: Re: Any Altera FIFO not a power of 2?
From: Rene Tschaggelar <none@none.net>
Date: Tue, 15 Feb 2005 18:22:08 +0100
Links: << >>  << T >>  << A >>
Kenneth Land wrote:

> Hello,
> 
> I'm having a hard time fitting the two fifo's I need into my StratixI device 
> (EPS10) because of the power of 2 requirement on the depth.
> 
> Are there any fifo variants that lift this requirement?
> 
> Right now we're instantiating 2 sc_fifo's within a AHDL file.  (I need two 
> 3600 word fifos which would fit, but have to use two 4096 word fifos which 
> do not fit)
> 
> I'm aware of the FIFO Partitioner, but would like to avoid this if possible.


Would it be thinkable to have multiple FIFOs behind each other ?
EG a 2048 & 1024 & 512 ?

Rene
-- 
Ing.Buero R.Tschaggelar - http://www.ibrtses.com
& commercial newsgroups - http://www.talkto.net

Article: 79183
Subject: Re: See the next high-wire act, this time on power consumption
From: "Paul Leventis" <paul.leventis@utoronto.ca>
Date: 15 Feb 2005 09:22:51 -0800
Links: << >>  << T >>  << A >>
Austin,

I am an engineer.  I do not knowingly put my name on a spec that could
lead to system failures.  When I say we do not have a power up surge,
and that users only need to size their power supply to meet the
operating requirements of the chip, I mean it.  This is based on the
data we have measured over a variety of conditions and ordering for
power supply ramp up.

> In denial, huh?

Are you this annoying in real life?

You thought you had a big advantage on this in-rush business (which was
overblown anyway).  You do not have an advantage here.  Get over it and
find something else to harp on.

Paul Leventis
Altera Corp.


Article: 79184
Subject: Re: See the next high-wire act, this time on power consumption
From: "Paul Leventis" <paul.leventis@utoronto.ca>
Date: 15 Feb 2005 09:33:02 -0800
Links: << >>  << T >>  << A >>
Hi Peter,

Ah!  I'm being tag teamed!  :-)

> If they are prepared to back them up,
> and to guarantee them.

We guarentee all our specs.  That is why we start with conservative
estimates, and tighten the specs over time.  You see this with our
static power data.  And you see this with our maximum Fmax specs.  It
is how we do things.  This sucks for marketing, but it means our
customer designs work.

I can't expect you to stop liberally interpreting our specs.  But I
think we should all draw the line at questioning whether either company
is cooking the numbers.

> It is, however, just a little strange that their
> leakage current evaporated the very moment Xilinx announced a seminar
> about it. Cause and effect ? Marketing jitters?

I have no control over when we release data.  But I can assure you that
the data collection and analysis was going on long before your seminar
announcement -- it is part of our on-going characterization.  Now that
we have all family members out, we have the data we need to update our
specs.

Paul Leventis
Altera Corp.


Article: 79185
Subject: Re: Xilinx Post Place and Route FIFO problems
From: "newman5382" <newman5382@yahoo.com>
Date: Tue, 15 Feb 2005 17:35:43 GMT
Links: << >>  << T >>  << A >>
Brad,
  I've used the Synchronous FIFO's from Coregen, (block ram and distributed) 
and had pretty good success.  ISE6.2 sp3, Modelsim PE5_8 Virtex2, Spartan 
III.  Do you let the ISE projectnav compile all the Modelsim stuff for you 
from the GUI?  It seemed to work OK for me.  Are the FIFO inputs accessed 
directly from the FPGA I/O, and the timing controlled via the testbench? 
Has the Modelsim Resolution been set to "ps"?  Any chance that there is a 
missing process sensitivity item missing?
  It is very difficult to debug a post place and route problem with 
Modelsim.  I feel your pain.

-Newman


"Brad Smallridge" <bradsmallridge@dslextreme.com> wrote in message 
news:1114apch4l4242c@corp.supernews.com...
> Hello All,
>
> Still more problems with FIFOs.  Today I tried to
> use the Coregen Wizard to generate a FIFO, hoping
> that the generated FIFO would be better than the
> one in my previous post.
>
> I clicked on Project, New Source, IP.  Clicked
> on Synchronous FIFO, Blocked Memory,
> 32 Width, 2048 Depth (thinking one BRAM).
>
> I have some extra package that an FAE installed
> so I don't know if this is available to the Web Pack
> crowd.
>
> I tried to run a Waveform for this generated FIFO
> and got a message TestBench Waveforms are not
> currently supported for Arch Wizard or CoreGen
> sources.
>
> I have seen this problem before and generated a
> top level design with the generated FIFO as a
> component.  This involves some cut and paste
> of the component and instantiation of the VHDL
> FIFO code into the top level, basically re copying
> the entity ports, the component declaration, and
> the instantiation of the FIFO in the top level. You
> have to get rid of the word "wrapped".  I'll
> put this code at the end.
>
> Same problem however.  The Simulate Behavior
> Model runs OK. The Simulate Post-Place and
> Route VHDL Model does not.
>
> Brad Smallridge
> b r a d @ a i v i s i o n . c o m
>
>
>
>
> library IEEE;
> use IEEE.STD_LOGIC_1164.ALL;
> use IEEE.STD_LOGIC_ARITH.ALL;
> use IEEE.STD_LOGIC_UNSIGNED.ALL;
>
> --  Uncomment the following lines to use the declarations that are
> --  provided for instantiating Xilinx primitive components.
> --library UNISIM;
> --use UNISIM.VComponents.all;
>
> entity top is
> port (
> clk: IN std_logic;
> sinit: IN std_logic;
> din: IN std_logic_VECTOR(31 downto 0);
> wr_en: IN std_logic;
> rd_en: IN std_logic;
> dout: OUT std_logic_VECTOR(31 downto 0);
> full: OUT std_logic;
> empty: OUT std_logic);
> end top;
>
> architecture Behavioral of top is
>
> component fifotest
> port (
> clk: IN std_logic;
> sinit: IN std_logic;
> din: IN std_logic_VECTOR(31 downto 0);
> wr_en: IN std_logic;
> rd_en: IN std_logic;
> dout: OUT std_logic_VECTOR(31 downto 0);
> full: OUT std_logic;
> empty: OUT std_logic);
> end component;
>
>
> begin
>
> U0 : fifotest
>  port map (
>   clk => clk,
>   sinit => sinit,
>   din => din,
>   wr_en => wr_en,
>   rd_en => rd_en,
>   dout => dout,
>   full => full,
>   empty => empty);
>
> end Behavioral;
>
>
> 



Article: 79186
Subject: Re: ATM Cell Payload Scrambler / Descrambler Process Explaination Required
From: "simon.stockton@baesystems.com" <simon.stockton@baesystems.com>
Date: 15 Feb 2005 09:42:41 -0800
Links: << >>  << T >>  << A >>
Allan,

Thanks for the responce, you may need to view this as plain text (in
notepad or something) so that all the numbers line up.


************************************************************************
A - Original Data
B - 4 bit Shift Register (B1 = C^, B2 = B1^, B3 = B2^, B4 = B3^)
C - Scrambled Data (C = A^ + B4^)
D - 4 bit Shift Register (D1 = C^, B2 = B1^, B3 = B2^, B4 = B3^)
E - Un Scrambled Data (E = C^ + D4^)
^ - previous iteration
+ - XOR

A B            C D            E
- 1234         - 1234         -

0 0000
1 0000 0 + 0 = 0 0000
1 0000 1 + 0 = 1 0000 0 + 0 = 0
1 1000 1 + 0 = 1 1000 1 + 0 = 1
0 1100 1 + 0 = 1 1100 1 + 0 = 1
1 1110 0 + 0 = 0 1110 1 + 0 = 1
1 0111 1 + 0 = 1 0111 1 + 0 = 1
1 1011 1 + 1 = 0 1011 0 + 1 = 1
0 0101 1 + 1 = 0 0101 1 + 1 = 0
0 0010 0 + 1 = 1 0010 0 + 1 = 1
1 1001 0 + 0 = 0 1001 0 + 0 = 0
1 0100 1 + 1 = 0 0100 1 + 1 = 0
1 0010 1 + 0 = 1 0010 0 + 0 = 0
0 1001 1 + 0 = 1 1001 0 + 0 = 0
0 1100 0 + 1 = 1 1100 1 + 1 = 0
1 1110 0 + 0 = 0 1110 1 + 0 = 1
**********************************************************

I think that I have included enough iteration to expect the original
data to been identified in the un-scrambled stream. However this is not
evident.

Any thoughs on my method?

Cheers
Simon


Article: 79187
Subject: Re: Xilinx Post Place and Route FIFO problems
From: "Peter Alfke" <peter@xilinx.com>
Date: 15 Feb 2005 09:50:18 -0800
Links: << >>  << T >>  << A >>
Brad, a synchronous FIFO design ( same clock for write and read)
implemented in a Xilinx dual-ported BlockRAM is really trivial: Two
binary counters and a comparator plus a simple circuit to distinguish
between FULL and EMPTY. Even the partial full calculations can easily
be done in binary.
I would design your FIFO as four parallel BlockRAMs, each 8 bit wide.
BTW, you never mentioned the clock rate.
All the difficulty and trickiness of FIFO design comes when the two
clocks are asynchronous, and you need Gray counters etc.
Peter Alfke, Xilinx Applications


Article: 79188
Subject: Re: ATM Cell Payload Scrambler / Descrambler Process Explaination Required
From: Allan Herriman <allan.herriman.hates.spam@ctam.com.au.invalid>
Date: Wed, 16 Feb 2005 05:13:31 +1100
Links: << >>  << T >>  << A >>
On 15 Feb 2005 09:42:41 -0800, "simon.stockton@baesystems.com"
<simon.stockton@baesystems.com> wrote:

>Allan,
>
>Thanks for the responce, you may need to view this as plain text (in
>notepad or something) so that all the numbers line up.
>
>
>************************************************************************
>A - Original Data
>B - 4 bit Shift Register (B1 = C^, B2 = B1^, B3 = B2^, B4 = B3^)
>C - Scrambled Data (C = A^ + B4^)
>D - 4 bit Shift Register (D1 = C^, B2 = B1^, B3 = B2^, B4 = B3^)
>E - Un Scrambled Data (E = C^ + D4^)
>^ - previous iteration
>+ - XOR
>
>A B            C D            E
>- 1234         - 1234         -
>
>0 0000
>1 0000 0 + 0 = 0 0000
>1 0000 1 + 0 = 1 0000 0 + 0 = 0
>1 1000 1 + 0 = 1 1000 1 + 0 = 1
>0 1100 1 + 0 = 1 1100 1 + 0 = 1
>1 1110 0 + 0 = 0 1110 1 + 0 = 1
>1 0111 1 + 0 = 1 0111 1 + 0 = 1
>1 1011 1 + 1 = 0 1011 0 + 1 = 1
>0 0101 1 + 1 = 0 0101 1 + 1 = 0
>0 0010 0 + 1 = 1 0010 0 + 1 = 1
>1 1001 0 + 0 = 0 1001 0 + 0 = 0
>1 0100 1 + 1 = 0 0100 1 + 1 = 0
>1 0010 1 + 0 = 1 0010 0 + 0 = 0
>0 1001 1 + 0 = 1 1001 0 + 0 = 0
>0 1100 0 + 1 = 1 1100 1 + 1 = 0
>1 1110 0 + 0 = 0 1110 1 + 0 = 1


You've messed up your pipeline delays quite badly.

The conceptual model all operates without pipeline delays, e.g. there
is no delay through the xor gates.  I expected to see your table
'flat' across the top, like this:

>A B            C D            E
>- 1234         - 1234         -
>
>0 0000 0 + 0 = 0 0000 0 + 0 = 0
>1 0000 1 + 0 = 1 0000 1 + 0 = 1
>1 1000 1 + 0 = 1 1000 1 + 0 = 1
>1 1100 1 + 0 = 1 1100 1 + 0 = 1
>0 1110 0 + 0 = 0 1110 0 + 0 = 0
>1 0111 1 + 1 = 0 0111 0 + 1 = 1
>1 0011 1 + 1 = 0 0011 0 + 1 = 1
>1 0001 1 + 1 = 0 0001 0 + 1 = 1
>0 0000 0 + 0 = 0 0000 0 + 0 = 0
>0 0000 0 + 0 = 0 0000 0 + 0 = 0

which, as you can see, does indeed recover the original data.


The extra delay you added changed the Tx shift register from 4 bits to
5 bits, which then doesn't match the Rx.

Of course, a real design in an FPGA would have pipeline delays, but
these are normally inserted in a manner that doesn't change the
functionality!

... at least I think that's what you've done.  I didn't look at it too
closely.

Regards,
Allan

Article: 79189
Subject: Re: ATM Cell Payload Scrambler / Descrambler Process Explaination Required
From: autogenerate@hotmail.com
Date: 15 Feb 2005 10:13:39 -0800
Links: << >>  << T >>  << A >>
>From my testbench i can give you the following results to help isolate
if the problem is with the scrambler or desccrambler.

input     scramble
00000001 00000001
00118000 00ee7fff
00076a6a fff897a5
696a6a6a 96959578

Note first bytes are ignored (header).  Next 43 bits are unchanged
(inital state of scrambler was all 0's).  Output is inverted as per
ITU-T I.432


Article: 79190
Subject: Re: Any Altera FIFO not a power of 2?
From: "Peter Sommerfeld" <psommerfeld@gmail.com>
Date: 15 Feb 2005 10:15:50 -0800
Links: << >>  << T >>  << A >>
Hi Ken,

I've done this before by writing my own fifo using the altsyncram
megafunction. altsyncram has a parameter MAXIMUM_DEPTH which allows
non-power-of-2 depths. Adding single-clock FIFO functionality (read and
write ptr management at a minimum) shouldn't be more than 20 lines of
HDL. You can go one step further and implement "stacked" memory
yourself, but then you have to write the muxing yourself, which
altsyncram does implicitly with MAXIMUM_DEPTH.

-- Pete


Article: 79191
Subject: Re: Updated Stratix II Power Specs & Explanation [And a Junction Temperature Tutorial]
From: "Peter Alfke" <peter@xilinx.com>
Date: 15 Feb 2005 10:33:39 -0800
Links: << >>  << T >>  << A >>
Paul, nice tutorial. You are a good teacher!

But let's look at the so-called reduction of 47% in the Altera leakage
current specs:
Here is the change in worst-case 85 degree static power (the only
static parameter that really matters)
 from the previous 2.0 to the new 2.1:

2S15 increased (!) by 48 %
2S30 reduced by 1 %
2S60 increased by 4 %
2S90 unchanged
2S130 decreased by 6 %
2S180 decreased by 14 %

It takes creative marketing to call that a 47% reduction in leakage
current !

Peter Alfke


Article: 79192
Subject: Re: Xilinx Spartan 3 kit - VHDL design question
From: "fpgawizz" <bhaskarstays@yahoo.com>
Date: Tue, 15 Feb 2005 13:39:00 -0500
Links: << >>  << T >>  << A >>
her is my code
entity Display is
    Port ( clk : in std_logic;
    		 rst : in std_logic;
           d0 : in integer range 0 to 9;
           d1 : in integer range 0 to 9;
           d2 : in integer range 0 to 9;
           d3 : in integer range 0 to 9;
           seven_seg : out std_logic_vector(6 downto 0);
           AN3 : inout std_logic;
		 AN2 : inout std_logic;
		 AN1 : inout std_logic;
		 AN0 : inout std_logic);
end Display;

architecture Behavioral of Display is
	component countdecoder is
	port( count: in integer range 0 to 9;
	seven_seg : out std_logic_vector(6 downto 0));
	end component;

signal count : integer range 0 to 9;
signal CTR : std_logic_vector(12 downto 0);
begin
 -- make a copy of the decoder
 decoder1: countdecoder port map(count => count, seven_seg => seven_seg);

 Display_left_to_right: process(rst,clk)
begin
if rst = '1' then
count <= 0;
AN3 <= '0';
AN2 <= '0';
AN1 <= '0';
AN0 <= '0';
elsif clk'event and clk = '1' then
if (ctr = "0000000000000") then
if AN3 = '0' then
AN3 <= '1';
count <= d3;
AN0 <= '0';
elsif AN2 = '0' then
AN2 <= '1';
count <= d2;
AN1 <= '0';
elsif AN1 = '0' then
AN1 <= '1';
count <= d1;
AN2 <= '0';
elsif AN0 = '0' then
AN0 <= '1';
count <= d0;
AN3 <= '0';
end if;
end if;
ctr <= ctr + "0000000000001";
if (ctr > "1000000000000") then
ctr <= "0000000000000";
end if;
					
end if;
end process Display_left_to_right;
	  
end Behavioral;

The component is a decoder that just spits out data for various integer
input values. the CTR is to delay the process block so the segments can be
refreshed at a slower rate.I could have used a slower clock in my process
statement i guess.

pls advise



Article: 79193
Subject: Re: Xilinx Post Place and Route FIFO problems
From: "Brad Smallridge" <bradsmallridge@dslextreme.com>
Date: Tue, 15 Feb 2005 10:42:28 -0800
Links: << >>  << T >>  << A >>
Trivial for you perhaps. But I have done two designs now with
the same problem.  They model OK under Behavior models but
the Post Place and Route Models do not work.

The Clock Rate is a good question.  Going back to the Waveform
and clicking on the Rescale Timing button, I get these numbers:

Clock High Time 10ns
Clock Low Time 10ns
Input Setup Time 5ns
Output Valid Delay 5ns
Offset  0ns

If there is any documentation about what these all mean please point it
out to me.  The only thing I understand fully is the Clock High and
Clock Low times.  50MHz is close to my target application.
My devices are Spartan 3s.

Brad Smallridge
b r a d @ a i v i s i o n . c o m



Article: 79194
Subject: Re: Cyclone clock
From: "Falk Brunner" <Falk.Brunner@gmx.de>
Date: Tue, 15 Feb 2005 19:42:54 +0100
Links: << >>  << T >>  << A >>

"Piotr Wyderski" <wyderskiREMOVE@ii.uni.wroc.pl> schrieb im Newsbeitrag
news:cusq4p$u8r$1@news.dialog.net.pl...

> > and square it up with a Schmidt trigger.
>
> The problem is that I have no fast enough 3.3V CMOS trigger,

What is fast enough?? AFAIK those 74LVC/LVT 14 are quite fast.

Regards
Falk




Article: 79195
Subject: Re: ATM Cell Payload Scrambler / Descrambler Process Explaination
From: Huub van Helvoort <hhelvooort@chello.nl>
Date: Tue, 15 Feb 2005 19:44:29 +0100
Links: << >>  << T >>  << A >>
Hi Simon,

I noticed something unexpected in the B shift register.

> ************************************************************************
> A - Original Data
> B - 4 bit Shift Register (B1 = C^, B2 = B1^, B3 = B2^, B4 = B3^)
> C - Scrambled Data (C = A^ + B4^)
> D - 4 bit Shift Register (D1 = C^, B2 = B1^, B3 = B2^, B4 = B3^)
> E - Un Scrambled Data (E = C^ + D4^)
> ^ - previous iteration
> + - XOR
> 
> A B            C D            E
> - 1234         - 1234         -
> 
> 0 0000
> 1 0000 0 + 0 = 0 0000
> 1 0000 1 + 0 = 1 0000 0 + 0 = 0
> 1 1000 1 + 0 = 1 1000 1 + 0 = 1
> 0 1100 1 + 0 = 1 1100 1 + 0 = 1
> 1 1110 0 + 0 = 0 1110 1 + 0 = 1
> 1 0111 1 + 0 = 1 0111 1 + 0 = 1
> 1 1011 1 + 1 = 0 1011 0 + 1 = 1
> 0 0101 1 + 1 = 0 0101 1 + 1 = 0
> 0 0010 0 + 1 = 1 0010 0 + 1 = 1
> 1 1001 0 + 0 = 0 1001 0 + 0 = 0
> 1 0100 1 + 1 = 0 0100 1 + 1 = 0
> 1 0010 1 + 0 = 1 0010 0 + 0 = 0
> 0 1001 1 + 0 = 1 1001 0 + 0 = 0
> 0 1100 0 + 1 = 1 1100 1 + 1 = 0
> 1 1110 0 + 0 = 0 1110 1 + 0 = 1
> **********************************************************

This is what I had expected:

0 0000
        0 + 0 = 0
1 0000           0000
        1 + 0 = 1      1 + 0 = 1
1 1000           1000
        1 + 0 = 1      1 + 0 = 1
1 1100           1100
        1 + 0 = 1      1 + 0 = 1
0 1110           1110
        0 + 0 = 0      0 + 0 = 0
1 0111           0111
        1 + 1 = 0      0 + 1 = 1
1 0011           0011
        1 + 1 = 0      0 + 1 = 1
1 0001           0001
        1 + 1 = 0      0 + 1 = 1
0 0000           0000
        0 + 0 = 0      0 + 0 = 0
0 0000           0000
        0 + 0 = 0      0 + 0 = 0
1 0000           0000
        1 + 0 = 1      1 + 0 = 1
1 1000           1000
        1 + 0 = 1      1 + 0 = 1
1 1100           1100
        1 + 0 = 1      1 + 0 = 1
0 1110           1110
        0 + 0 = 0      0 + 0 = 0
0 0111           0111
        0 + 1 = 1      1 + 1 = 0
1 1111           1011
        1 + 1 = 0      1 + 0 = 1

Cheers, Huub.

-- 
                reply to hhelvooort with 2 'o's
================================================================
              http://members.chello.nl/hhelvoort/
================================================================
Always remember that you are unique...just like everyone else...


Article: 79196
Subject: Re: OPB <-> WhishBone wrapper (opb_wb_wrapper at opencores)
From: Sylvain Munaut <tnt_at_246tNt_dot_com@reducespam.com>
Date: Tue, 15 Feb 2005 19:50:40 +0100
Links: << >>  << T >>  << A >>

> I also create a edk core from the wizard and take a look in the mpd file.
> I see in the mpd file under ## Generics for vhdl or Pa...
> 
> PARAMETER C_FAMILY = virtex2p, DT = STRING
> 
> This is probably what they need to the ncg build error ... And again i'm not 
> shure
>

Nope

look at the additionnal step I posted today a few hour ago.
It now builds fine.

But it doesn't seem to work ...
Has someone ever managed to use it ?


	Sylvain

Article: 79197
Subject: Re: Xilinx Post Place and Route FIFO problems
From: "Brad Smallridge" <bradsmallridge@dslextreme.com>
Date: Tue, 15 Feb 2005 10:59:18 -0800
Links: << >>  << T >>  << A >>
> Do you let the ISE projectnav compile all the Modelsim stuff for you from 
> the GUI?

YES.

>  Are the FIFO inputs accessed directly from the FPGA I/O, and the timing 
> controlled via the testbench?

YES. Well, as much as my previous post suggest with a Top level module.

> Has the Modelsim Resolution been set to "ps"?

AHA!  It was set to ns, which I guess is the default, but for grins I set it 
for us
and voila! the post place and route does work.  Apparently there are some
setups in there that take longer than 5ns.  Why I didn't see any Warnings 
baffles
me because I was getting them when my settings were at the default 2ns 
setup.

Thank you. Thank you.

> Any chance that there is a missing process sensitivity item missing?

Would that not effect the Behavior model as well?

>  It is very difficult to debug a post place and route problem with 
> Modelsim.  I feel your pain.

What is the best software for post place and route problems?

Thanks again,

Brad Smallridge
b r a d @ a i v i s i o n . c o m



Article: 79198
Subject: Re: Xilinx Post Place and Route FIFO problems
From: "newman5382" <newman5382@yahoo.com>
Date: Tue, 15 Feb 2005 19:13:30 GMT
Links: << >>  << T >>  << A >>

"Brad Smallridge" <bradsmallridge@dslextreme.com> wrote in message 
news:1114hkl50qr0gc0@corp.supernews.com...
>> Do you let the ISE projectnav compile all the Modelsim stuff for you from 
>> the GUI?
>
> YES.
>
>>  Are the FIFO inputs accessed directly from the FPGA I/O, and the timing 
>> controlled via the testbench?
>
> YES. Well, as much as my previous post suggest with a Top level module.
>
>> Has the Modelsim Resolution been set to "ps"?
>
> AHA!  It was set to ns, which I guess is the default, but for grins I set 
> it for us
> and voila! the post place and route does work.  Apparently there are some
> setups in there that take longer than 5ns.  Why I didn't see any Warnings 
> baffles
> me because I was getting them when my settings were at the default 2ns 
> setup.

I would think that you only get warnings when the data transition falls 
within the setup_hold window.

>
> Thank you. Thank you.
>
>> Any chance that there is a missing process sensitivity item missing?
>
> Would that not effect the Behavior model as well?

Typically, the synthesis tool will issue a warning, and insert the missing 
item in the sensitivity list.
This results in a mismatch between the behaverial and post place and route 
sims.  I believe this to be my number one reason why my simulations 
mismatch.

>
>>  It is very difficult to debug a post place and route problem with 
>> Modelsim.  I feel your pain.
>
> What is the best software for post place and route problems?

Perhaps the dataflow option from Modelsim.  I'm too cheap to buy it, so I 
cannot tell you much about it.

>
> Thanks again,
>
> Brad Smallridge
> b r a d @ a i v i s i o n . c o m
>
> 



Article: 79199
Subject: Re: See the next high-wire act, this time on power consumption
From: Austin Lesea <austin@xilinx.com>
Date: Tue, 15 Feb 2005 11:25:33 -0800
Links: << >>  << T >>  << A >>
Paul,

OK.  I'll reserve my judgement until I see the scope pictures.

No more comments on power ON surge.

And, yes, I have been told that I am extremely annoying 'in real life.'

Usually by people that are trying to divert attention from real issues.

Austin

Paul Leventis wrote:
> Austin,
> 
> I am an engineer.  I do not knowingly put my name on a spec that could
> lead to system failures.  When I say we do not have a power up surge,
> and that users only need to size their power supply to meet the
> operating requirements of the chip, I mean it.  This is based on the
> data we have measured over a variety of conditions and ordering for
> power supply ramp up.
> 
> 
>>In denial, huh?
> 
> 
> Are you this annoying in real life?
> 
> You thought you had a big advantage on this in-rush business (which was
> overblown anyway).  You do not have an advantage here.  Get over it and
> find something else to harp on.
> 
> Paul Leventis
> Altera Corp.
> 



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