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 35825

Article: 35825
Subject: Re: Timing Constarint Error message
From: "Dave Brown" <dbrown@novatel.ca>
Date: Thu, 18 Oct 2001 16:57:58 -0600
Links: << >>  << T >>  << A >>
Sorry, in my confused state I ommited some very important information. I'm
using Xilinx ISE 4.1 with FPGA Express.
Thanks,
Dave

"Dave Brown" <dbrown@novatel.ca> wrote in message
news:9qnk2u$2pu$1@pallas.novatel.ca...
> I get the following Timing Constraint not met message:
>
> Asterisk (*) preceding a constraint indicates it was not met.
>
> --------------------------------------------------------------------------
--
> ----
>   Constraint                                | Requested  | Actual     |
> Logic
>                                             |            |            |
> Levels
> --------------------------------------------------------------------------
--
> ----
> * TS_CLK20MHZ = PERIOD TIMEGRP "CLK20MHZ"   | 50.000ns   | 28.049ns   | 11
>   50 nS   HIGH 50.000000 %                  |            |            |
> --------------------------------------------------------------------------
--
> ----
>
> Sorry the spacing is kind of messed up. What it says is Requested period
is
> 50.000ns, and actual is 28.049ns. Is this supposed to mean that 28.049ns
is
> half my actual period? If not, I'd say I met the timing constraint, why is
> it giving me an error?
> Thanks,
> Dave
>
>
>



Article: 35826
Subject: Re: Firewire chipset
From: "Ben" <seabybs@hotmail.com>
Date: Fri, 19 Oct 2001 00:07:38 +0100
Links: << >>  << T >>  << A >>
Thanks all.

"Christoph Hauzeneder" <chauzen@t-online.de> wrote in message
news:3BCF46B5.A8A7C076@t-online.de...
> Hello,
>
> I have made my diploma thesis about FireWire. The problem is, that you
need an
> IEEE 1394 chipset, that is ideal for your application.
>
> If you will send data from an camera, then you can use link layers from
philips,
> because they have an port for audio and video signals. Also you can look
at TI
> and Fujitsu, Sony and NEC.
>
> Christoph
>
> Ben schrieb:
>
> > Hi all,
> >  I'm working on a university project invloving using Firewire (IEEE
1394)
> > interfaces for input and output from an FPGA-based video processing
board.
> > The firewire will form a link from a DV camera to the board, and from
the
> > board to a PC/workstation.
> >
> >  Does anyone have any reccomendations for physical layer interfaces and
link
> > layer controller devices?  I've found the
> > Altera IP for FPGA-based LLCs, but would prefer to have an external
device
> > if possible, as I need all the logic resources for other things.
> >
> >  Also, has anyone else done this kind of thing before? If so, any
> > hints/tips/links would be handy.
> >
> > Thanks,
> > Ben.
>



Article: 35827
Subject: Re: simple question
From: Andy Peters <andy@exponentmedia.deletethis.com>
Date: Thu, 18 Oct 2001 23:12:26 GMT
Links: << >>  << T >>  << A >>
Theron Hicks wrote:
 
> A second question comes to mind.  I have a system with two boards.  Each board
> has one FPGA.  Board 1 supplies _most_ but not all of the test signals for
> board 2.  I would like to use the output of board 1 as test vectors for board
> 2.  I am using web-pack.  Is there a way to separately compile each FPGA and
> yet use a single test bench to run the simulation?  What about if I went to the
> full version of the software?  (i.e. Foundation ISE or equiv.)?

I've simulated boards with multiple FPGAs using ModelSim.  Basically,
your "board" test bench instantiates each FPGA as a component, with
whatever interconnects and other components are required.

It's not a Web Pack issue at all.

-a

Article: 35828
Subject: map,place &route
From: pnandini@hotmail.com (Nandini)
Date: 18 Oct 2001 16:17:17 -0700
Links: << >>  << T >>  << A >>
hi,

I have this heirarchy ADD_mantissa in VHDL where i instantiate a 56
bit adder which inturn instantiates 1 bit adder, so the TOP level
being add_mant.

I am trying to map this circuit using xilinx alliance M1 tool, and I
get the following errors. can someone tell me as to why such an error
occurs and how it can be avoided, i tried various ways to avoid the
same.

the entity simulates/synthesises fine...

the ERRORS are: temp_mant and mant_out are 56 bit slv and this error
occurs for every pad net

ERROR:basnu:142 - output pad net "mant_out36<56>" has an illegal
connection
ERROR:basnu:114 - logical net "temp_mant2<55>" has multiple drivers
ERROR:basnu:114 - logical net "add_carry_in" has multiple drivers
ERROR:basnu:142 - input pad net "add_carry_in" has an illegal
connection
ERROR:basnu:114 - logical net "to_start_adder" has multiple drivers
ERROR:basnu:142 - input pad net "to_start_adder" has an illegal
connection

Article: 35829
Subject: Re: Timing Constarint Error message
From: Andy Peters <andy@exponentmedia.deletethis.com>
Date: Thu, 18 Oct 2001 23:19:15 GMT
Links: << >>  << T >>  << A >>
Dave Brown wrote:
> 
> I get the following Timing Constraint not met message:
> 
> Asterisk (*) preceding a constraint indicates it was not met.
> 
> ----------------------------------------------------------------------------
> ----
>   Constraint                                | Requested  | Actual     |
> Logic
>                                             |            |            |
> Levels
> ----------------------------------------------------------------------------
> ----
> * TS_CLK20MHZ = PERIOD TIMEGRP "CLK20MHZ"   | 50.000ns   | 28.049ns   | 11
>   50 nS   HIGH 50.000000 %                  |            |            |
> ----------------------------------------------------------------------------
> ----
> 
> Sorry the spacing is kind of messed up. What it says is Requested period is
> 50.000ns, and actual is 28.049ns. Is this supposed to mean that 28.049ns is
> half my actual period? If not, I'd say I met the timing constraint, why is
> it giving me an error?

Are you using both edges of the clock?  Half of 50 ns is 25 ns, and your
"actual" 28 ns is 3 ns too long...

--a

Article: 35830
Subject: Re: Career advice in fpga/asic design
From: Rick Filipkiewicz <rick@algor.co.uk>
Date: Fri, 19 Oct 2001 00:48:11 +0100
Links: << >>  << T >>  << A >>


Jack wrote:

> Hi everyone.
> I'm a software engineer and graduating soon for my MSEE.
> I would like to make a career change to hardware design, since i'm
> more interested in hardware design now after taking advanced computer
> architecture courses, advanced logic design, and other hardware
> related courses.
> Also, I'm learning verilog and xilinx fpga now.
>
> What do you suggest me to learn specifically to land a job in
> fpga/asic designer, especially for new guy like me? (such as, pci bus
> design, risc machine, etc)
> or any advice what to start, roadmap, and everything you can advice.
>
> Thanks so much. I'd appreciate any help.
>
> Jack

Be careful - University courses are a few hundred parsecs from the real
thing.

Many years ago I came of of University and applied for a s/w job. During
the interview it emerged that they had spotted on my CV some time I spent
doing some simple minded digital h/w 7-8 years previously and
more-or-less press ganged me into h/w. This was in the days when PALs
were the red-hot bleeding edge of technology. To this day I sometimes
wish I'd said *NO* but then some piece of h/w I've been sweating blood
over suddenly comes to life and I forget just how hard this game is -
till the next time.



Article: 35831
Subject: Re: PWM Signal in VHDL ?
From: Brian Philofsky <brian.philofsky@xilinx.com>
Date: Thu, 18 Oct 2001 17:49:14 -0600
Links: << >>  << T >>  << A >>
This is a multi-part message in MIME format.
--------------F3CBCC126FC1C98B4FC665B2
Content-Type: multipart/alternative;
 boundary="------------F84CCCD87C757D9CC935F68A"


--------------F84CCCD87C757D9CC935F68A
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit



Yes.  I have always liked that implementation of a PWM.  Uses just one
up/down counter and one additional register.  Unfortuantely, that app note
is a bit dated though and there are no HDL (VHDL or Verilog) files
availible for it and the schematic files do not work with the current
software and FPGA technologies.  I did write that code into Verilog some
time ago though and will share it here for those intersted.  Sorry no VHDL
but it is simple code and self-explanatory and should not be too difficult
to translate.

--  Brian

//
// PULSE_WIDTH_MODULATOR.V Version 1.0
// Pulse Width Modulation Circuit
// Addapted from "Pulse-Width Modulation
// in Xilinx Programmable Logic" application
// Brief, April 11, 1995
//

module pulse_width_modultor (pwm, duty_cycle, new_value, clk, reset);

   input       new_value, clk, reset;
   input [7:0] duty_cycle;

   output      pwm;

   reg       pwm;
   reg [7:0] dc, q;

   always @ (posedge clk or posedge reset)
   begin
      if (reset)
         dc <= 8'h00;
      else if (new_value)
         dc <= duty_cycle;
   end

   always @ (posedge clk or posedge reset)
   begin
      if (reset)
         q <= 8'h00;
      else if (q)
         q <= dc;
      else if (pwm)
         q <= q + 1;
      else
         q <= q - 1;
   end

   always @ (posedge clk or posedge reset)
   begin
      if (reset)
         pwm <= 1'b0;
      else if (q)
         pwm <= ~pwm;
   end

endmodule



Manfred Kraus wrote:

> You may want to look at:
>
> Xilinx Application Brief: Pulse-Width Modulation in Xilinx Programmable
> Logic, application note, v0.2 (4/95)
> The design presented in this brief uses a register to store the desired
> 'mark' value, which is automatically loaded into a down counter upon
> reaching its terminal count. The PWM Frame Period is the product of the
> counter's clock period an...
> http://www.xilinx.com/appnotes/pwm.pdf
> (89632 bytes, Modified 10-03-2000)
>
> Hope this helps. Its not a VHDL design, but the block diagram on
> the last page should be easy to describe using VHDL.
>
> -Manfred

--------------F84CCCD87C757D9CC935F68A
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
&nbsp;
<p>Yes.&nbsp; I have always liked that implementation of a PWM.&nbsp; Uses
just one up/down counter and one additional register.&nbsp; Unfortuantely,
that app note is a bit dated though and there are no HDL (VHDL or Verilog)
files availible for it and the schematic files do not work with the current
software and FPGA technologies.&nbsp; I did write that code into Verilog
some time ago though and will share it here for those intersted.&nbsp;
Sorry no VHDL but it is simple code and self-explanatory and should not
be too difficult to translate.
<p>--&nbsp; Brian
<p><tt>//</tt>
<br><tt>// PULSE_WIDTH_MODULATOR.V Version 1.0</tt>
<br><tt>// Pulse Width Modulation Circuit</tt>
<br><tt>// Addapted from "Pulse-Width Modulation</tt>
<br><tt>// in Xilinx Programmable Logic" application</tt>
<br><tt>// Brief, April 11, 1995</tt>
<br><tt>//</tt><tt></tt>
<p><tt>module pulse_width_modultor (pwm, duty_cycle, new_value, clk, reset);</tt><tt></tt>
<p><tt>&nbsp;&nbsp; input&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new_value,
clk, reset;</tt>
<br><tt>&nbsp;&nbsp; input [7:0] duty_cycle;</tt><tt></tt>
<p><tt>&nbsp;&nbsp; output&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pwm;</tt><tt></tt>
<p><tt>&nbsp;&nbsp; reg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pwm;</tt>
<br><tt>&nbsp;&nbsp; reg [7:0] dc, q;</tt><tt></tt>
<p><tt>&nbsp;&nbsp; always @ (posedge clk or posedge reset)</tt>
<br><tt>&nbsp;&nbsp; begin</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (reset)</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dc &lt;= 8'h00;</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if (new_value)</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dc &lt;= duty_cycle;</tt>
<br><tt>&nbsp;&nbsp; end</tt><tt></tt>
<p><tt>&nbsp;&nbsp; always @ (posedge clk or posedge reset)</tt>
<br><tt>&nbsp;&nbsp; begin</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (reset)</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; q &lt;= 8'h00;</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if (q)</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; q &lt;= dc;</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if (pwm)</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; q &lt;= q + 1;</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; q &lt;= q - 1;</tt>
<br><tt>&nbsp;&nbsp; end</tt><tt></tt>
<p><tt>&nbsp;&nbsp; always @ (posedge clk or posedge reset)</tt>
<br><tt>&nbsp;&nbsp; begin</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (reset)</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pwm &lt;= 1'b0;</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if (q)</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pwm &lt;= ~pwm;</tt>
<br><tt>&nbsp;&nbsp; end</tt><tt></tt>
<p><tt>endmodule</tt>
<br>&nbsp;
<br>&nbsp;
<p>Manfred Kraus wrote:
<blockquote TYPE=CITE>You may want to look at:
<p>Xilinx Application Brief: Pulse-Width Modulation in Xilinx Programmable
<br>Logic, application note, v0.2 (4/95)
<br>The design presented in this brief uses a register to store the desired
<br>'mark' value, which is automatically loaded into a down counter upon
<br>reaching its terminal count. The PWM Frame Period is the product of
the
<br>counter's clock period an...
<br><a href="http://www.xilinx.com/appnotes/pwm.pdf">http://www.xilinx.com/appnotes/pwm.pdf</a>
<br>(89632 bytes, Modified 10-03-2000)
<p>Hope this helps. Its not a VHDL design, but the block diagram on
<br>the last page should be easy to describe using VHDL.
<p>-Manfred</blockquote>
</html>

--------------F84CCCD87C757D9CC935F68A--

--------------F3CBCC126FC1C98B4FC665B2
Content-Type: text/x-vcard; charset=us-ascii;
 name="brian.philofsky.vcf"
Content-Transfer-Encoding: 7bit
Content-Description: Card for Brian Philofsky
Content-Disposition: attachment;
 filename="brian.philofsky.vcf"

begin:vcard 
n:Philofsky;Brian
x-mozilla-html:TRUE
adr:;;;;;;
version:2.1
email;internet:brian.philofsky@xilinx.com
fn:Brian Philofsky
end:vcard

--------------F3CBCC126FC1C98B4FC665B2--


Article: 35832
Subject: Re: Timing Constarint Error message
From: Rick Filipkiewicz <rick@algor.co.uk>
Date: Fri, 19 Oct 2001 00:53:42 +0100
Links: << >>  << T >>  << A >>


Dave Brown wrote:

> I get the following Timing Constraint not met message:
>
> Asterisk (*) preceding a constraint indicates it was not met.
>
> ----------------------------------------------------------------------------
> ----
>   Constraint                                | Requested  | Actual     |
> Logic
>                                             |            |            |
> Levels
> ----------------------------------------------------------------------------
> ----
> * TS_CLK20MHZ = PERIOD TIMEGRP "CLK20MHZ"   | 50.000ns   | 28.049ns   | 11
>   50 nS   HIGH 50.000000 %                  |            |            |
> ----------------------------------------------------------------------------
> ----
>
> Sorry the spacing is kind of messed up. What it says is Requested period is
> 50.000ns, and actual is 28.049ns. Is this supposed to mean that 28.049ns is
> half my actual period? If not, I'd say I met the timing constraint, why is
> it giving me an error?
> Thanks,
> Dave

You need to run the timing analyser to get details of the failing paths. If it
is a double-edge clock problem as Andy Peters suggests then this will show up in
the TRCE report.




Article: 35833
Subject: Re: Phase noise of Xilinx/Altera DLL/PLL
From: Falk Brunner <Falk.Brunner@gmx.de>
Date: Fri, 19 Oct 2001 16:56:13 +0200
Links: << >>  << T >>  << A >>
Austin Lesea schrieb:
> 
> Falk,
> 
> Guten Tag!

Moin.

[Lots of good comments on jitter ]

Uhh, I would better not mess around with the gods in this NG ;-))

Seriously, the statement regarding the "not so real measurements" is not
originally from me. Sorry, I should have made this clear.
It was absolutely NOT my intention to lower the performance of any
design.

-- 
MFG
Falk



Article: 35834
Subject: Re: Career advice in fpga/asic design
From: Falk Brunner <Falk.Brunner@gmx.de>
Date: Fri, 19 Oct 2001 17:01:05 +0200
Links: << >>  << T >>  << A >>
Rick Filipkiewicz schrieb:
> 
> Be careful - University courses are a few hundred parsecs from the real
> thing.

;-)))))))))

-- 
MFG
Falk



Article: 35835
Subject: Re: unused I/O cell
From: Falk Brunner <Falk.Brunner@gmx.de>
Date: Fri, 19 Oct 2001 17:03:51 +0200
Links: << >>  << T >>  << A >>
luigi funes schrieb:
> 
> Generally, for a given device, there are many packages
> with different pin counts.
> But inside, is the chip always the same?

AFAIK Yes.

> If yes, if I'm using a package with fewer pins, could I
> use the unbonded I/O cells as general purpose flip-flops?
> How do it?

Simpy use them as FlipFlops, create bidirectional signals in the entity,
but Iam afraid that the P&R tools as well as bitgen will check your
design and will notice that this IO pins are not available. Havnt done
it yet, but it may be worth a try.

-- 
MFG
Falk


Article: 35836
Subject: About BLIF
From: "A. Chemeris" <chemeris@svitonline.com>
Date: Fri, 19 Oct 2001 18:40:38 +0300
Links: << >>  << T >>  << A >>
Hello,

I ask to tell me about BLIF to smth. convertors working in Windows 9x/2000.
I'd prefer BLIF to Bool equations or VHDL convertors.
What about free simulators for BLIF?

Thanks,
Alexander Chemeris
chemeris@svitonline.com




Article: 35837
Subject: Re: Digital mixers,complex multipliers
From: John_H <johnhandwork@mail.com>
Date: Fri, 19 Oct 2001 15:57:05 GMT
Links: << >>  << T >>  << A >>
If the VHDL code actually reads a*b then it's a simple multiplier which should give a full
resolution result.  If you're working from a functional block that you don't have any
details for, the designer may have done things in the code you wouldn't expect that might
change the results ever so slightly.

A multiplier can be implemented in an FPGA with dedicated multipliers, an FPGA with
multiplier optimization to reduce the distributed resources, or as a simple and/add adder
tree.  How efficiently the multipiers are implemented can be dependent on the synthesis
tool.

The bottom line:  VHDL will give you accurate results.  The FPGA and synthesis tool may
give you efficient implementation.  The designer might pull some tricks.


eas wrote:

> Topi Maurola <tm@TopiSoft.fi> wrote in message news:<3BCDB981.B862976A@TopiSoft.fi>...
> > Complex multiplication is needed only if mirror image is a problem.
> > When you multiply a complex (I & Q) signal with complex oscillator (LO) (
> > cos(wt),sin(wt) or exp(i*w*t). w = 2*pi*lo_freq ), then the result is
> > original signal sifted in frequency domain by lo_freq. If lo_freq is
> > negative, then frequency of original signal is decreased and vice a versa.
> >
> > If you have complex signal and you multiply it with real local
> > (cos(wt),0), then you are actually multilplying it with two district local
> > signals lo_freq and -lo_freq.
> >     (cos(wt),0) = 0.5*(cos(wt),sin(wt)) + 0.5*(cos(wt),-sin(wt))
> > And result is convolution of original signal with these two district local
> > signals, in frequency domain.
> > That is, result is (original signal shifted up by lo_freq) summed with
> > (original signal sifted down by lo_freq). Both in half amplitude.
> >
> > If you have real signal and you multiply it with real local oscillator,
> > then result is of course real.
> > In complex base we can write this: [ (a,b) is written as a+b*i (i is
> > imaginary unit)]
> >
> > sig_in(t) * cos(wt) = sig_in(t) * (cos(wt) + 0*i)
> > = sig_in(t) * (cos(wt) + (0.5*sin(wt) - 0.5*sin(wt))*i)
> > = sig_in(t) * 0.5*(cos(wt) + sin(wt)*i) + sig_in(t)*0.5*(cos(wt) -
> > sin(wt)*i)
> > = sig_in(t) * 0.5*(cos(wt) + sin(wt)*i) + sig_in(t)*0.5*(cos((-w)*t) +
> > sin((-w)*t)*i)
> >
> > Which is sig_in(t) sifted up & down by 2*pi*w herzs.
> >
> > BUT, because sig_in(t) is real, it is actually sum of positive and
> > negative version of itself. So in complex base result can be interpreted
> > to have 4 copies of sig_in(t) in different frequencies.
> > If we interpret only absolute value of frequency (real signal) then we
> > have only two different copies of sig_in(t), original_freq + 2*pi*w &
> > original_freq - 2*pi*w. The proof is left as home exercise.
> >
> > If you can filter out unwanted mirror and other spurious signals, then the
> > local oscillator can be as small as one bit.
> > If we define that lo = '1' means value of one, and lo = '0' means value of
> > minus one, then multipliction is:
> >
> >         signal sig_in: std_ulogic_vector(7 downto 0);
> >         signal end_sig: std_ulogic_vector(7 downto 0);
> >         signal lo: std_ulogic;
> >     ...
> >         end_sig <= sig_in when lo = '1' else -sig_in.
> >
> > This works as following:
> >
> > Symmetric square wave (+1 / -1) of frequency freq (our lo signal) is sum
> > of base frequency (freq), and all odd harmonic frequencies (3*freq,
> > 5*freq, ...). Each with different amplituede (amplitude goes down as
> > harmonic number increases).
> > If we multiply sig_in with this square signal, then we are making
> > convolution in frequency domain with these two signals. It means that
> > original signal is copied to frequencies orig_freq + freq and orig_freq +
> > 3*freq and orig_freq + 5*freq, etc. AND also copied to frequencies
> > orig_freq - freq and orig_freq - 3*freq etc...
> >
> > If (when) your data is time quantised ( = samples), then frequencies going
> > over sample_rate/2 (or under -sample_rate/2) are aliased back to
> > -sample_rate/2...sample_rate/2. If these aliases are corrupting your
> > original data => tough luck (use more bits with local!).
> > [This is actually done in applications called undersampling. Let's say we
> > have analog signal in frequency range 100 MHz ... 101 MHz.. And other
> > frequencies are clean (zero).
> > Then we can do analog-to-digital conversion with sample rate of 7 MHz
> > (e.g.). This 7 MegaSamplesPerSecond contains original signal in frequncy
> > range 2 MHz ... 3 MHz.
> > 2 MHz + 14*7 Mhz = 100 MHz.
> > This requires that ADC input frequency responce is upto at least 101 MHz.]
> >
> > Outch, this come out as a quite long text. If you don't grasp something,
> > please fee free to ask for more explaining respond.
> >
> > --
> >   Topi
> >
>
> Thanks for your detailed response. I want to use the digital mixer in
> a COSTAS LOOP where the input signal in the I or Q signal is
> ak*cos(wt+alpha)+ bk*sin(wt+alpha). They are mixed/multiplied on the I
> and Q arm and Lowpass filtered. The operation is clear to me. What I
> dont know is how the multiplier is realized in VHDL?
>  Is it an ordinary 8x8 multiplier or are there any special
> requirements?
>
> Thanks

eas wrote:

> Thanks for your detailed response. I want to use the digital mixer in
> a COSTAS LOOP where the input signal in the I or Q signal is
> ak*cos(wt+alpha)+ bk*sin(wt+alpha). They are mixed/multiplied on the I
> and Q arm and Lowpass filtered. The operation is clear to me. What I
> dont know is how the multiplier is realized in VHDL?
>  Is it an ordinary 8x8 multiplier or are there any special
> requirements?
>
> Thanks


Article: 35838
Subject: Re: Timing Constarint Error message
From: "Dave Brown" <dbrown@novatel.ca>
Date: Fri, 19 Oct 2001 09:58:05 -0600
Links: << >>  << T >>  << A >>
This is a multi-part message in MIME format.

------=_NextPart_000_000A_01C15884.8C540B10
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Well, there is indeed a block that uses the negative edge of the clock, =
and this is the path that fails timing. Below is an expert of what the =
block that uses the negative edge is trying to do. I'd like to eliminate =
the use of the negative edge of the clock. However, I think if I extend =
the generated load pulse to 2 clk cycles, that won't work, then there =
will be 3 potential edges where registers could load. Any ideas for a =
work around?

-- SYNCLD:                                                               =
   =20
--                                                                       =
  =20
-- Sent to all blocks to initiate a load of the addressed register.=20
-- This is a synchronous register load pulse.  Pulse is one inverted CLK =
pulse
-- wide, centred about the noninverted CLK rising edge. =20
--              _______         _______
--       CLK __|       |_______|       |______
--                      _______________
--    SYNCLD __________|               |______
--                             |                            =20
--                            /|\
--                             |
--                  Registers load at this edge

Thanks for any help.
Dave


"Ray Andraka" <ray@andraka.com> wrote in message =
news:3BD02004.E4B520AA@andraka.com...
> You've got a path between registers using opposite edges of the clock =
that
> exceeds half the clock period.  Run the timing analyzer to show the =
details of
> the failing path(s).  Note that if you cannot guarantee a 50% clock =
duty cycle,
> then using both edges of the clock can be very dangerous.  If the =
clock duty
> cycle is not 50%, or you can't guarantee that it is, then you need =
additional
> margin on your time constraints for paths between falling and risign =
edge
> registers (and vise-versa), which will require the use of from:to =
constraints.
>=20
> If this is a device that has a DLL and you set the DLL for duty cycle =
correction
> this is OK.  If the clock comes from outside the device, even if it is =
50% duty
> outside, you can't guarantee a 50% duty cycle inside the chip.  The =
input
> thresholds will modulate the duty cycle if they are not perfectly =
symmetric
> about your high and low levels of the input signal.
>=20
>=20
> Dave Brown wrote:
>=20
> > I get the following Timing Constraint not met message:
> >
> > Asterisk (*) preceding a constraint indicates it was not met.
> >
> > =
-------------------------------------------------------------------------=
---
> > ----
> >   Constraint                                | Requested  | Actual    =
 |
> > Logic
> >                                             |            |           =
 |
> > Levels
> > =
-------------------------------------------------------------------------=
---
> > ----
> > * TS_CLK20MHZ =3D PERIOD TIMEGRP "CLK20MHZ"   | 50.000ns   | =
28.049ns   | 11
> >   50 nS   HIGH 50.000000 %                  |            |           =
 |
> > =
-------------------------------------------------------------------------=
---
> > ----
> >
> > Sorry the spacing is kind of messed up. What it says is Requested =
period is
> > 50.000ns, and actual is 28.049ns. Is this supposed to mean that =
28.049ns is
> > half my actual period? If not, I'd say I met the timing constraint, =
why is
> > it giving me an error?
> > Thanks,
> > Dave
>=20
> --
> --Ray Andraka, P.E.
> President, the Andraka Consulting Group, Inc.
> 401/884-7930     Fax 401/884-7950
> email ray@andraka.com
> http://www.andraka.com
>=20
>  "They that give up essential liberty to obtain a little
>   temporary safety deserve neither liberty nor safety."
>                                           -Benjamin Franklin, 1759
>=20
>=20

------=_NextPart_000_000A_01C15884.8C540B10
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2600.0" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY>
<DIV><FONT face=3DCourier size=3D2>Well, there is indeed a block that =
uses the=20
negative edge of the clock, and this is the path that fails timing. =
Below is an=20
expert of what the block that uses the negative edge is trying to do. =
I'd like=20
to eliminate the use of the negative edge of the clock. However, I think =
if I=20
extend the generated load pulse to 2 clk cycles, that won't work, then =
there=20
will be 3 potential edges where registers could load. Any ideas for a =
work=20
around?</FONT></DIV>
<DIV><FONT face=3DCourier size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier size=3D2>--=20
SYNCLD:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
<BR>--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;=20
<BR>-- Sent to all blocks to initiate a load of the addressed register. =
<BR>--=20
This is a synchronous register load pulse.&nbsp; Pulse is one inverted =
CLK=20
pulse<BR>-- wide, centred about the noninverted CLK rising edge.&nbsp;=20
<BR>--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;=20
_______&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
_______<BR>--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLK=20
__|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
|_______|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
|______<BR>--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
_______________<BR>--&nbsp;&nbsp;&nbsp; SYNCLD=20
__________|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;=20
|______<BR>--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;=20
<BR>--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;=20
/|\<BR>--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
|<BR>--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Registers load at this edge</FONT></DIV>
<DIV><FONT face=3DCourier size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier size=3D2>Thanks for any help.</FONT></DIV>
<DIV><FONT face=3DCourier size=3D2>Dave</FONT></DIV>
<DIV><FONT face=3DCourier size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>"Ray Andraka" &lt;</FONT><A=20
href=3D"mailto:ray@andraka.com"><FONT face=3DArial=20
size=3D2>ray@andraka.com</FONT></A><FONT face=3DArial size=3D2>&gt; =
wrote in message=20
</FONT><A href=3D"news:3BD02004.E4B520AA@andraka.com"><FONT face=3DArial =

size=3D2>news:3BD02004.E4B520AA@andraka.com</FONT></A><FONT face=3DArial =

size=3D2>...</FONT></DIV><FONT face=3DArial size=3D2>&gt; You've got a =
path between=20
registers using opposite edges of the clock that<BR>&gt; exceeds half =
the clock=20
period.&nbsp; Run the timing analyzer to show the details of<BR>&gt; the =
failing=20
path(s).&nbsp; Note that if you cannot guarantee a 50% clock duty =
cycle,<BR>&gt;=20
then using both edges of the clock can be very dangerous.&nbsp; If the =
clock=20
duty<BR>&gt; cycle is not 50%, or you can't guarantee that it is, then =
you need=20
additional<BR>&gt; margin on your time constraints for paths between =
falling and=20
risign edge<BR>&gt; registers (and vise-versa), which will require the =
use of=20
from:to constraints.<BR>&gt; <BR>&gt; If this is a device that has a DLL =
and you=20
set the DLL for duty cycle correction<BR>&gt; this is OK.&nbsp; If the =
clock=20
comes from outside the device, even if it is 50% duty<BR>&gt; outside, =
you can't=20
guarantee a 50% duty cycle inside the chip.&nbsp; The input<BR>&gt; =
thresholds=20
will modulate the duty cycle if they are not perfectly symmetric<BR>&gt; =
about=20
your high and low levels of the input signal.<BR>&gt; <BR>&gt; <BR>&gt; =
Dave=20
Brown wrote:<BR>&gt; <BR>&gt; &gt; I get the following Timing Constraint =
not met=20
message:<BR>&gt; &gt;<BR>&gt; &gt; Asterisk (*) preceding a constraint =
indicates=20
it was not met.<BR>&gt; &gt;<BR>&gt; &gt;=20
-------------------------------------------------------------------------=
---<BR>&gt;=20
&gt; ----<BR>&gt; &gt;&nbsp;&nbsp;=20
Constraint&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
| Requested&nbsp; | Actual&nbsp;&nbsp;&nbsp;&nbsp; |<BR>&gt; &gt; =
Logic<BR>&gt;=20
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
|<BR>&gt;=20
&gt; Levels<BR>&gt; &gt;=20
-------------------------------------------------------------------------=
---<BR>&gt;=20
&gt; ----<BR>&gt; &gt; * TS_CLK20MHZ =3D PERIOD TIMEGRP =
"CLK20MHZ"&nbsp;&nbsp; |=20
50.000ns&nbsp;&nbsp; | 28.049ns&nbsp;&nbsp; | 11<BR>&gt; =
&gt;&nbsp;&nbsp; 50=20
nS&nbsp;&nbsp; HIGH 50.000000=20
%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
|<BR>&gt;=20
&gt;=20
-------------------------------------------------------------------------=
---<BR>&gt;=20
&gt; ----<BR>&gt; &gt;<BR>&gt; &gt; Sorry the spacing is kind of messed =
up. What=20
it says is Requested period is<BR>&gt; &gt; 50.000ns, and actual is =
28.049ns. Is=20
this supposed to mean that 28.049ns is<BR>&gt; &gt; half my actual =
period? If=20
not, I'd say I met the timing constraint, why is<BR>&gt; &gt; it giving =
me an=20
error?<BR>&gt; &gt; Thanks,<BR>&gt; &gt; Dave<BR>&gt; <BR>&gt; =
--<BR>&gt; --Ray=20
Andraka, P.E.<BR>&gt; President, the Andraka Consulting Group, =
Inc.<BR>&gt;=20
401/884-7930&nbsp;&nbsp;&nbsp;&nbsp; Fax 401/884-7950<BR>&gt; email =
</FONT><A=20
href=3D"mailto:ray@andraka.com"><FONT face=3DArial=20
size=3D2>ray@andraka.com</FONT></A><BR><FONT face=3DArial size=3D2>&gt; =
</FONT><A=20
href=3D"http://www.andraka.com"><FONT face=3DArial=20
size=3D2>http://www.andraka.com</FONT></A><BR><FONT face=3DArial =
size=3D2>&gt;=20
<BR>&gt; &nbsp;"They that give up essential liberty to obtain a =
little<BR>&gt;=20
&nbsp; temporary safety deserve neither liberty nor safety."<BR>&gt;=20
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;=20
-Benjamin Franklin, 1759<BR>&gt; <BR>&gt; </FONT></BODY></HTML>

------=_NextPart_000_000A_01C15884.8C540B10--


Article: 35839
Subject: FS Data I/O 2900 Prog Fixture
From: tonys2@aol.com (TonyS2)
Date: 19 Oct 2001 16:54:40 GMT
Links: << >>  << T >>  << A >>
Priced for quick turnover  VG condition
Details upon request
Tony Stein
Alex Va

Article: 35840
Subject: Re: Timing Constarint Error message
From: Rick Filipkiewicz <rick@algor.co.uk>
Date: Fri, 19 Oct 2001 19:38:24 +0100
Links: << >>  << T >>  << A >>


Dave Brown wrote:

> Well, there is indeed a block that uses the negative edge of the
> clock, and this is the path that fails timing. Below is an expert of
> what the block that uses the negative edge is trying to do. I'd like
> to eliminate the use of the negative edge of the clock. However, I
> think if I extend the generated load pulse to 2 clk cycles, that won't
> work, then there will be 3 potential edges where registers could load.
> Any ideas for a work around? -- SYNCLD:
> --
> -- Sent to all blocks to initiate a load of the addressed register.
> -- This is a synchronous register load pulse.  Pulse is one inverted
> CLK pulse
> -- wide, centred about the noninverted CLK rising edge.
> --              _______         _______
> --       CLK __|       |_______|       |______
> --                      _______________
> --    SYNCLD __________|               |______
> --                             |
> --                            /|\
> --                             |
> --                  Registers load at this edge Thanks for any
> help.Dave

It would appear that you are doing this to avoid hold-time problems on
those registers that receive ``SYNCLD'' ?

If so you don't really have to do this since, as long as you are using a
global buffer for the clock distribution, hold-time is not an issue in
Xilinx FPGAs for registers clocked from the same clock edge.



Article: 35841
Subject: Re: Glitch Hunting, a true story ;-)
From: Rick Filipkiewicz <rick@algor.co.uk>
Date: Fri, 19 Oct 2001 19:46:48 +0100
Links: << >>  << T >>  << A >>


Falk Brunner wrote:

> For anybody interested in some deadly glitches, have a look at
>
> www.burned-fuses.de
>
> beside the non-sense links ;-) you will find a link to the glitch datas.
> But its still preliminary.
>
> --
> MFG
> Falk

Falk,

Could you give a full reference for that ``Handbook of Black Magic'' ? It
sounds like just the sort of thing to give to our s/w engineers as a
Christmas present :-)


Article: 35842
Subject: Re: Glitch Hunting, a true story ;-)
From: Peter Alfke <peter.alfke@xilinx.com>
Date: Fri, 19 Oct 2001 13:26:25 -0700
Links: << >>  << T >>  << A >>
High-Speed Digital Design
A handbook of black magic
by
Howard Johnson and Martin Graham
1993
Prentice Hall

ISBN 0-13-395724-1

Cost about $ 70, and well worth it.
Dr Johnson is a very lively speaker...
But this is real HARDWARE stuff, and gory details...

Peter Alfke
==============================
Rick Filipkiewicz wrote:

> Falk Brunner wrote:
>
> > For anybody interested in some deadly glitches, have a look at
> >
> > www.burned-fuses.de
> >
> > beside the non-sense links ;-) you will find a link to the glitch datas.
> > But its still preliminary.
> >
> > --
> > MFG
> > Falk
>
> Falk,
>
> Could you give a full reference for that ``Handbook of Black Magic'' ? It
> sounds like just the sort of thing to give to our s/w engineers as a
> Christmas present :-)


Article: 35843
Subject: Re: Glitch Hunting, a true story ;-)
From: Austin Lesea <austin.lesea@xilinx.com>
Date: Fri, 19 Oct 2001 14:49:05 -0700
Links: << >>  << T >>  << A >>
Rick,

I can't resist.

In 1978, I was responsible for a technical Lexicon that was distributed at
some trade shows and seminars by Sybex Publishing (Rue LeCourbe, Paris).

For fun, I defined a "glitch" as: "a snivitz with a magnitude of greater than
1000 volts."

Later (in alphabetical order, of course) the "snivitz: a glitch with a
magnitude of less than 1000 volts" was listed.

The Lexicon was black, with silver or gold cover  ink, roughly 5cm by 5cm
square.  If anyone can part with theirs?

Austin

Rick Filipkiewicz wrote:

> Falk Brunner wrote:
>
> > For anybody interested in some deadly glitches, have a look at
> >
> > www.burned-fuses.de
> >
> > beside the non-sense links ;-) you will find a link to the glitch datas.
> > But its still preliminary.
> >
> > --
> > MFG
> > Falk
>
> Falk,
>
> Could you give a full reference for that ``Handbook of Black Magic'' ? It
> sounds like just the sort of thing to give to our s/w engineers as a
> Christmas present :-)


Article: 35844
Subject: Re: Glitch Hunting, a true story ;-)
From: Tom Burgess <tom.burgess@hia.nrc.ca>
Date: Fri, 19 Oct 2001 16:40:52 -0700
Links: << >>  << T >>  << A >>
Here's the description on the author's web site: http://www.sigcon.com/books.htm
Best book I've seen on the topic. Lots of other useful stuff on the site too.

Rick Filipkiewicz wrote: <snipped>
>  
> Could you give a full reference for that ``Handbook of Black Magic'' ? It
> sounds like just the sort of thing to give to our s/w engineers as a
> Christmas present :-)

-- 
Tom Burgess
-- 
Digital Engineer
Dominion Radio Astrophysical Observatory
P.O. Box 248, Penticton, B.C.
Canada V2A 6K3

Article: 35845
Subject: memory dump for Xilinx block ram
From: jtai@3dsp.com (Jack Tai)
Date: 19 Oct 2001 16:53:23 -0700
Links: << >>  << T >>  << A >>
Does any one know how to do the memory dump on Xilinx Block RAM? I am
using Modelsim as my simulation software. I try to do this at RTL,
Post-synthesis and Post-route simulation.
Thank you
Jack Tai

Article: 35846
Subject: Re: Glitch Hunting, a true story ;-)
From: Bob Perlman <bob@cambriandesign.com>
Date: Sat, 20 Oct 2001 01:29:40 GMT
Links: << >>  << T >>  << A >>
On Fri, 19 Oct 2001 19:46:48 +0100, Rick Filipkiewicz
<rick@algor.co.uk> wrote:


>Could you give a full reference for that ``Handbook of Black Magic'' ? It
>sounds like just the sort of thing to give to our s/w engineers as a
>Christmas present :-)

Howard Johnson's "High-Speed Digital Design" is a classic, and
deservedly so.  I used it as a text for several years in a signal
integrity course I taught, and never had a single student say anything
bad about it.

Times have moved on, though, and issues that weren't terribly
important in 1993 (when HSDD was published) are starting to bite us.
An excellent, recently-published book is "High-Speed Digital System
Design" by Hall, Hall, and McCall, ISBN 0-471-36090-2, John Wiley and
Sons.  If you're doing digital design, it deserves a place on your
bookshelf.  But I don't think the software engineers are going to like
it much.

Bob Perlman







Article: 35847
Subject: Re: Glitch Hunting, a true story ;-)
From: Rick Filipkiewicz <rick@algor.co.uk>
Date: Sat, 20 Oct 2001 09:08:20 +0100
Links: << >>  << T >>  << A >>


Bob Perlman wrote:

> On Fri, 19 Oct 2001 19:46:48 +0100, Rick Filipkiewicz
> <rick@algor.co.uk> wrote:
>

<snip>

>
>  But I don't think the software engineers are going to like
> it much.
>
> Bob Perlman

Its just that they are always complaining that what I do and the reasons I do
it doesn't make sense to them. When I try to explain their eyes just glaze
over after the first few minutes (*). More to the point I need to convince our
board guy that when, for example, I utter the dreaded words ``clock skew'' I'm
deadly serious and not just talking h/w Voodoo. Being able to point to a book
or book(s) might help.

I often think that signal integrity issues follow what I call the 1st law of
Advertising after this quote from the MD of some company (appox.):

``I know that 60% of my advertising budget is wasted, what I don't know is
which 60%''.

(*) ``Any sufficiently advanced technology will appear to be magic to those
not versed in it'' - Arthur C. Clark. (again approx.)



Article: 35848
Subject: Re: Glitch Hunting, a true story ;-)
From: Rick Filipkiewicz <rick@algor.co.uk>
Date: Sat, 20 Oct 2001 09:19:52 +0100
Links: << >>  << T >>  << A >>


Austin Lesea wrote:

> Rick,
>
> I can't resist.
>
> In 1978, I was responsible for a technical Lexicon that was distributed at
> some trade shows and seminars by Sybex Publishing (Rue LeCourbe, Paris).
>
> For fun, I defined a "glitch" as: "a snivitz with a magnitude of greater than
> 1000 volts."
>
> Later (in alphabetical order, of course) the "snivitz: a glitch with a
> magnitude of less than 1000 volts" was listed.
>
> The Lexicon was black, with silver or gold cover  ink, roughly 5cm by 5cm
> square.  If anyone can part with theirs?
>
> Austin
>
>

The secret's out, now we know why Xilinx is so successful. If I saw this on a CV
(U.S. = resume) it would be an instant hire, you'd be sitting at your new desk
before the interview ended :-)).



Article: 35849
Subject: I search a free 8086 core...
From: "Radó Zoltán" <zrado@leasingtechnology.com>
Date: Sat, 20 Oct 2001 13:25:05 +0200
Links: << >>  << T >>  << A >>
Someone can help me?

Thanks for all,
Zoltan Rado





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