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 127775

Article: 127775
Subject: Re: Ethernet on recent FPGAs
From: Rich Seifert <usenet@richseifert.com.invalid>
Date: Mon, 07 Jan 2008 17:43:05 -0800
Links: << >>  << T >>  << A >>
In article <1fednYDifbVWOh_anZ2dnUVZ_gKdnZ2d@comcast.com>,
 glen herrmannsfeldt <gah@ugcs.caltech.edu> wrote:

> Nico Coesel wrote:
> (snip)
> 
> > Besides, if you are going to generate random MAC addresses you may get
> > intermittant errors because fixed MAC addresses are expected. Those
> > kind of errors are the last you want on a network.
> 
> Not so much network errors as administration problems.  It is harder
> to track down devices with variable MAC addresses.
> 

The intent was never to have MAC addresses generated at random *in the 
field*, i.e., upon interface initialization. The idea was to generate 
them at random in the *manufacturing process*; there would not be 
"variable" MAC address for a given device over time. We only wanted to 
avoid the OUI administration problem.



--
Rich Seifert              Networks and Communications Consulting
                          21885 Bear Creek Way
(408) 395-5700            Los Gatos, CA 95033
(408) 228-0803 FAX

Send replies to: usenet at richseifert dot com

Article: 127776
Subject: Re: Where are the LCD or OLED bitmapped displays?
From: hal-usenet@ip-64-139-1-69.sjc.megapath.net (Hal Murray)
Date: Mon, 07 Jan 2008 21:48:57 -0600
Links: << >>  << T >>  << A >>

>With "wander" I mean low-frequency jitter:
>Use a 500 MHz accumulator clock, then use DDS to generate 100.000 001
>MHz.

>There is no way any PLL can completely even out the once-a-second
>period change.

>I picked an extreme example, but there are many simpler cases.
>I was not referring to any instability in the time-base xtal
>oscillator. That would be on top.

Suppose I had a collection of input clocks I could pick from.

How many would I need and/or what frequency pattern would I
pick in order to avoid the nasty cases?

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


Article: 127777
Subject: Re: Where are the LCD or OLED bitmapped displays?
From: John_H <newsgroup@johnhandwork.com>
Date: Mon, 07 Jan 2008 20:40:22 -0800
Links: << >>  << T >>  << A >>
Hal Murray wrote:
>> With "wander" I mean low-frequency jitter:
>> Use a 500 MHz accumulator clock, then use DDS to generate 100.000 001
>> MHz.
> 
>> There is no way any PLL can completely even out the once-a-second
>> period change.
> 
>> I picked an extreme example, but there are many simpler cases.
>> I was not referring to any instability in the time-base xtal
>> oscillator. That would be on top.
> 
> Suppose I had a collection of input clocks I could pick from.
> 
> How many would I need and/or what frequency pattern would I
> pick in order to avoid the nasty cases?

It depends on what you think is nasty.  What's your PLL loop bandwidth 
and what's an acceptable level of jitter?  What's your desired range of 
output frequency coverage?

Subharmonics - where Fsys is approximately N*Fout - are the worst 
points.  If those were all that you needed, you'd have to make sure you 
can cover the subharmonics for one Fsys with another crystal's selection 
far enough from its subharmonics that the combination works.

DDS frequencies are effectively a cascade of m/m+1 style dividers where 
the +0/+1 selection is fed by the downstream dividers which chops up the 
Fsys/m_ish subharmonic.  Each effective divider stage reduces the 
maximum jitter amplitude by a factor of about m.  If you have several 
dividers, the amplitude of any close-in phase-noise spur will be small. 
  The situations that are close to the highest frequency subharmonics 
have a first-stage divider with a small m and a second divider with a 
very large divide factor, supplying the m/m+1 change very rarely such 
that that 1/m unit interval phase step is followed very dutifully by the 
cleanup PLL and not filtered out.  Two small divider stages can still 
give you a large enough remaining jitter value that the close-in 
condition still needs to be covered by another crystal.

Now.  If you have multiple crystals, the frequency differences will come 
into play.  If you want to choose the crystals so that the "bad" 
frequency windows don't overlap, the system must be designed so the bad 
windows *with tolerance* don't overlap.  Add to that the complexity that 
you'd have to use one crystal as a "master" frequency to monitor and 
adjust the sub-Hz frequency value of the other crystal (to avoid a 12 
ppm jump when changing from 1201001 Hz to 1201002 Hz, for instance) and 
you have an ugly situation.

Your requirements will help drive the system.  I'd do many things before 
I went for multiple reference clocks, personally.

- John_H

Article: 127778
Subject: Re: converting floating point number to integer and vice versa
From: Thomas Stanka <usenet_nospam_valid@stanka-web.de>
Date: Mon, 7 Jan 2008 22:29:27 -0800 (PST)
Links: << >>  << T >>  << A >>
On 4 Jan., 23:09, "HT-Lab" <han...@ht-lab.com> wrote:
> At least you are honest.
>
> I would suggest you search the web first since there is a lot of stuff
> available on-line and then come back with specific questions.

I would suggest "+float +vhdl" and take the first hit in google for a
careful inspection.

bye Thomas

Article: 127779
Subject: Re: Camera connection on XUPV2P
From: mh <moazzamhussain@gmail.com>
Date: Mon, 7 Jan 2008 23:17:08 -0800 (PST)
Links: << >>  << T >>  << A >>
On Jan 8, 2:22 am, Gabor <ga...@alacron.com> wrote:
> On Jan 7, 5:50 am, "MJ Pearson" <mjp...@york.ac.uk> wrote:
>
>
>
> > >> Hi, thanks for the replies,
>
> > >> I thought my PCB might be the problem. I didn't perform any impedance
> > >> matching or termination. I'm "tapping-off" the signals between the
> > camera
> > >> and framegrabber. So i have a straight through connection - camera to
> > >> framegrabber and then "tap-off" the LVDS data-signals and clock and
> > send
> > >> these into the DS90CR288A. This way I can setup and control the camera
> > >> using the camera software on PC, and just perform data processing on
> > >> FPGA.
>
> > >Tapping into 7 * 66 MHz = 462 Mbps LVDS lines needs to be done
> > >carefully
> > >to avoid signal integrity problems at the receiver.  However if your
> > >LVAL and DVAL signals look correct, you may have lucked out...
>
> > >> I wasn't sure I needed to terminate the lines, as this would be
> > performed
> > >> further up the line - at the framegrabber end. The pixel clock from
> > the
> > >> camera should be 66MHz (I think), so thought I was on the right lines
> > with
> > >> a 16ns period. The chip however is the 85Mhz version. Is this a
> > maximum?
> > >> I'm not sure what the clock output of the chip should be - 85Mhz or
> > >> 66MHz!?
>
> > >Channel-Link receivers have a wide frequency range of about 20 MHz
> > >minimum to the specified maximum (66 or 85 MHz).  66 MHz should
> > >work fine.
>
> > >> I can see data on the output of the chip, LVAL and DVAL signals are
> > >> correct, not sure about the clock. As I say, the output voltage swing
> > is
> > >> about 600mV, and looks sinusoidal in shape on the scope - Sorry for
> > the
> > >> description! The distance between the chip and the connector is about
> > >> 10mm. Do i need termination resistors across the differential lines in
> > my
> > >> case?
>
> > >You may be OK with the 10mm stubs.  Definitely don't terminate them
> > >if there is already termination at the framegrabber.  Also if you
> > >still get a proper picture at the framegrabber, you probably
> > >have reasonable signal integrity.  With your scope it would be
> > >hard to look at this...
>
> > >I'm going to guess that the clock is correct, too, but that your
> > >scope is bandwidth limiting the signal to form the sine wave you
> > >see.  What is the input bandwidth of your scope and probe?  Did
> > >you try to implement a simple T flip-flop in the FPGA to see if
> > >the clock is getting into the chip OK?
>
> > >Regards,
> > >Gabor
>
> > Thanks again Gabor..
>
> > The system does seem to be working ok. I get the correct image at the
> > frame-grabber end, and all the signals do seem to be correct. The scope
> > I'm using says 60MHz on it, I guess this the bandwidth - in which I guess
> > it will struggle to observe the higher frequency signals??
>
> > I implemented a T-flip flop, and got a decent signal at half the input
> > frequncy across an LED on the board, so it looks like everything is ok -
> > probably just my VHDL letting me down! The LVAL, DVAL signals are working
> > as expected aswell - used the LEDs to observe these.
>
> > Just as an aside - when I increase the precision of the camera's output 8
> > bit to 16 bit, the camera sends the data in two "packets". For one LVAL
> > pulse, the are two DVAL pulses. I think this maybe camera specific, but I
> > think the data may be being sent low bits (0-7) with the first DVAL pulse,
> > followed by high bits with the second. My camera is always is in
> > camera-link BASE mode. I've scoped all the data channels from the chip,
> > and the higher outputs are not used - apart from RxOut 27. Am I right
> > thinking that in base mode the data should be re-created as:
>
> > Bit(0) - RxOut 0
> > Bit(1) - RxOut 1
> > Bit(2) - RxOut 2
> > Bit(3) - RxOut 3
> > Bit(4) - RxOut 4
> > Bit(5) - RxOut 6
> > Bit(6) - RxOut 27
> > Bit(7) - RxOut 5
>
> > Just wondered if anyone else had any experience with 16 bit data in base
> > mode?
>
> > Regards
>
> > Marc.
>
> The bit assignments are all in the Camera Link Specification:
>
> http://www.alacron.com/downloads/vncl98076xz/CameraLinkSPEC.pdf
>
> Most Camera Link cameras use two 8-bit "ports" A & B to output
> 16-bits on each clock.  I'm not familiar with any cameras that
> use DVAL as a pixel framing signal.  Base Camera Link supports
> up to 24 bits of data per clock.
>
> Regards,
> Gabor


Hi,

Gabor is right, As an addendum to his comment, I think that some
cameras from "Basler" use DVAL as pixel framing signal. It is used
when the user want to output some selected region from CCD of camera.
If you are getting two pulses of DVAL, check your camera whether it is
operating in single or dual tap mode and what is the region of
interest in camera setting.

Hope this helps,

/MH

Article: 127780
Subject: Re: Compilation of Plasma SW under Linux
From: Tommy Thorn <tommy.thorn@gmail.com>
Date: Tue, 8 Jan 2008 00:01:32 -0800 (PST)
Links: << >>  << T >>  << A >>
On Jan 6, 9:08 am, Wojciech Zabolotny <w...@ise.pw.edu.pl> wrote:
> Hi All,
>
> I have previously send this message to comp.arch.embedded, but probably it
> was "NTG", as it is more associated with the soft CPU on FPGA problem.
> Therefore I try once (the last one ;-) ) again in the comp.arch.fpga

IMO comp.arch.embedded was the correct place.

> So I have two questions:
> 1) How to avoid the problem with PIC code?
> 2) Is it possible to generate the ROM contents with the standard tool like
>    mips(el)-linux-gnu-objcopy ?
>    Or how to fix the convert to work under linux?

Building the GNU tools for cross compilation is pretty standard.
Steven's reply is good. I have a similar script as part of YAR,
building newlib also:
http://repo.or.cz/w/yari.git?a=blob;f=xtools/BUILD.sh;h=9497207810b6c96770d9b1aec020bd6c2a720b98;hb=ad51cd2a0822dc3883f290d857bf0693991052c2

Regards,
Tommy

Article: 127781
Subject: Re: Processor in CPLD
From: Andreas Ehliar <ehliar-nospam@isy.liu.se>
Date: Tue, 8 Jan 2008 09:17:16 +0000 (UTC)
Links: << >>  << T >>  << A >>
On 2008-01-07, Rgr <rgrworking@hotmail.com> wrote:
> Hi.
>
> I would like to hear your opinion on the possibility of implementing a 
> processor in a CPLD?
> The functionality does not have to be greater than the old 8051 CPU, but I 
> would like the flexibility and the possibility of adding additional logic to 
> my design.
>
> Has someone worked on this issue, or have an opinion on how to complete this 
> task?

We are actually doing this all the time in a course we are giving here called
Digital project laboratory. The CPLDs we are using are the XC9572 and XC95108.
(They are old, but they operate on 5V which is a huge advantage for us since
we have many other 5V components.)

Our students commonly use two XC95108 for a complete microcoded processor.
One mostly used for microcode and one mostly used for ALU stuff. Some students
use many more CPLDs to implement graphics and audio as well but that is
not so common.

A few students manage to fit a complete RISC-like processor into a single
XC9572. 

Some things to keep in mind when designing a processor (or any logic for
that matter for a XC95xx-CPLD:

* Budget your design for the number of macroblocks. One macroblock == 
  one flip-flop plus some logic in front of it.

* Avoid complex expressions. You will notice that especially adders can
  be very expensive (or constructs that infer an adder like less than
  or greater than). An example:

    reg [7:0] counter;
    always @(posedge clk) begin
      counter <= counter + 1;
      if((counter > 13) && (counter < 131)) begin
        outsignal <= 1;
      end else begin
        outsignal <= 0;
      end
    end

    // Refactor this as:
    always @(posedge clk) begin
      counter <= counter + 1;
      if(counter == 13) begin
        outsignal <= 1;
      end
      if(counter == 130) begin
        outsignal <= 0;
      end
    end

  The later version can sometimes reduce the number of macrocells although
  there is no guarantee for it. (If we didn't use 13 and 131 but something
  like 63 and 192 instead it is likely that the first version is more
  optimal than the second version for example)

 

* Reuse logic (macrocells) if possible
  An example of commonly used logic in a simple (non pipelined) processor:

    reg [15:0] pc;
    reg [15:0] address_reg;
    reg [15:0] external_addr;
    // Resets not shown for clarity
    always @(posedge clk) begin
        if(incpc) pc <= pc + 1;
        else if(resetpc) pc <= 0;
        else if(jump)    pc <= jumpaddr;
    end

    always @(posedge clk) begin
        if(loadaddr) address_reg <= accumulator;

    always @* begin
        if (fetch) external_addr <= pc;
        else external_addr <= address_reg;
    end

   Assuming address_reg and pc are the same width:
   This code will use at least 16 macrocells for pc (actually more
   due to the adder), 16 macrocells for address_reg and 16 macrocells
   for the MUX in front of external_addr which is going out to the memory.
   This code can be changed to something like this:

   reg [15:0] reg1;
   reg [15:0] reg2;
   always @* external_addr <= reg1;

   always @(posedge clk) begin
        if(swap) begin
            reg1 <= reg2;
            reg2 <= reg1;
        end else begin
            if(inc1) reg1 <= reg1 + 1;
            if(load2_pc) reg2 <= jumpaddr;
            else if(load2_addr) reg2 <= accumulator;
            else if(zero2) reg2 <= 0;
        end
   end

   By reorganizing the code as above you will complicate your control
   path by quite a lot, but you will save the 16 macrocells caused by
   the MUX since reg1 is directly connected to external memory. We also
   make sure that we don't complicate the macrocells used in the adder
   by putting all other operations into the reg2 macrocells. As a bonus
   we get address_reg++ for free...

*  Bit serial arithmetics can be good in CPLDs in some situations. As
   an example, I have a small hobby project running where I have fitted
   an entire digital watch into a single XC9572 (although it requires a
   very non-standard clock frequency to work as I didn't have enough space
   left to fit a clock divider). The watch can both show time (hours,
   minutes and seconds) and be used as a timer (minutes,seconds,tenths).
   There is also an alarm which functions on (hours,minutes). These units
   can be used independently (i.e., the watch still ticks in the background
   if I'm setting the alarm or using the timer and the alarm will work even
   though I'm using the timer). (Actually, I haven't wired up any circuit
   yet, but it is working in simulation and the design fits into a
   XC9572.) The time is presented on a display driven by 9368 7-segment
   decoders so my design don't need to worry about decimal to 7-segment
   decoders inside my design. (Although depending on this is a bit of
   a cheat...)

   I'm using bit serial arithmetics in order to fit everything into the
   XC9572. I do not believe a more parallel solution would work in this
   very constrained space although digit-serial might work as well. 

   At some point I'm planning to write a small web page to detail this
   project, unfortunately I don't have time to describe it in more detail
   in this already long post.


It is rare that students do anything of the above though, but this is what
I've learned while supervising students and thinking about (and sometimes
exploring) the limits of the hardware we are using.

/Andreas

Article: 127782
Subject: Re: Split Plane
From: "Symon" <symon_brewer@hotmail.com>
Date: Tue, 8 Jan 2008 09:52:28 -0000
Links: << >>  << T >>  << A >>
Hi Glen,
hanks for your reply. I included some comments/questions inline...

"glen herrmannsfeldt" <gah@ugcs.caltech.edu> wrote in message 
news:HPqdnWB43KiErx3anZ2dnUVZ_sejnZ2d@comcast.com...
> Symon wrote:
>> "glen herrmannsfeldt" <gah@ugcs.caltech.edu> wrote in message 
>> news:Rr2dnc0taeLINuPanZ2dnUVZ_v-hnZ2d@comcast.com...
>
>> Do you not think that the trace inductance and magnetic field are 
>> important? You don't mention them at all in your post. Just thinking 
>> about the capacitance is not the whole story...
>
> Inductance that is part of an impedance matched transmission
> line doesn't count.

And why is that?

>  The situation at the end, where the trace
> crosses the gap is a little complicated.  As the current spreads
> out in the split plane, it isn't quite a transmission line anymore.
> The half plane inductance should be pretty low, but it won't
> say it doesn't count.
>
What about the increased loop area because the current goes around the slot? 
Does this increase the generation of the magnetic field? Are you only 
considering the inductance of the plane, or the inductance of the trace 
also?
>
> At some point I made the assumption that there was something on
> the other side of the split plane to make a good capacitor.
> (Another split plane would do.  It would work on either side.)
>
You really lost me there. Sorry.
>
> Consider a circular parallel plate capacitor fed at the center.
> Then consider it as concentric ring capacitors and the radial
> inductance of those rings.  The inductance per (radial) length
> decreases with increasing radius, the capacitance per radial
> distance increases with increasing radius.  I believe that makes
> capacitance win out over inductance for reasonable frequencies.
>
> -- glen
>
How does the current get from the centre to these "concentric ring 
capacitors"? I think it travels out radially, and this current generates a 
magnetic field.

HTH, Symon. 



Article: 127783
Subject: Bad micro blaze behaviour during power off
From: jeroen.claes@gemidis.be
Date: Tue, 8 Jan 2008 01:58:15 -0800 (PST)
Links: << >>  << T >>  << A >>
setup:
On one of our designs we are using a Xilinx partan3 FPGA (XC3S500E -4
FT(G)256 stepping1) and an spi flash (M25P40-VMN6) to store FPGA code,
callibration data, board settings,...

Problem description:
Random SPI commands on the SPI bus from the FPGA to the flash are
logged during a power down of the board. Sometimes a complete SPI
write sequense is logged which makes the flash content corrupt.

root cause:
Power down of the FPGA is not correct accoarding to the spec. The fall
time of the power supply is to long. this results in a bad behaviour
of the micro Blaze(uB). During power down the pointer of the uB is
jumping to a random place in the uB code. From this point the uB
executes several actions depending on the fall time of the power
supply. It happens that the pointer jumps to the "write_spi_flash"
function in the code.

solution:
The best solution is to make the power off sequense of the FPGA
according to the spec. It is possible to place a power monitor on the
board but this results in a redesign of the board and we do not
prefere to do so.

question:
Is there somebody who knows another solution that does not require a
redesign of the board?

thanks!

Article: 127784
Subject: Re: Core Generators...
From: Martin Thompson <martin.j.thompson@trw.com>
Date: Tue, 08 Jan 2008 11:40:15 +0000
Links: << >>  << T >>  << A >>
"KJ" <kkjennings@sbcglobal.net> writes:

> Keep in mind though that those limits are most likely vendor dependent. 
> I've used functions that manipulate reals to initialize constant arrays to 
> produce lookup tables without any problems with vendor A...using vendor X or 
> Syn, I'm still generating service requests to fix other deficiencies in 
> their tool that breeze right through with A.  Doesn't help you if you're 
> commited to vendor X, but if you're not, it might.
>

Which Syn is that... "plify" or "opsys"?  I assume the former, given this
is an FPGA newsgroup, but...

Cheers,
Martin

-- 
martin.j.thompson@trw.com 
TRW Conekt - Consultancy in Engineering, Knowledge and Technology
http://www.conekt.net/electronics.html

Article: 127785
Subject: Re: Bad micro blaze behaviour during power off
From: =?ISO-8859-1?Q?G=F3rski_Adam?=
Date: Tue, 08 Jan 2008 12:43:44 +0100
Links: << >>  << T >>  << A >>
jeroen.claes@gemidis.be pisze:
> setup:
> On one of our designs we are using a Xilinx partan3 FPGA (XC3S500E -4
> FT(G)256 stepping1) and an spi flash (M25P40-VMN6) to store FPGA code,
> callibration data, board settings,...
> 
> Problem description:
> Random SPI commands on the SPI bus from the FPGA to the flash are
> logged during a power down of the board. Sometimes a complete SPI
> write sequense is logged which makes the flash content corrupt.
> 
> root cause:
> Power down of the FPGA is not correct accoarding to the spec. The fall
> time of the power supply is to long. this results in a bad behaviour
> of the micro Blaze(uB). During power down the pointer of the uB is
> jumping to a random place in the uB code. From this point the uB
> executes several actions depending on the fall time of the power
> supply. It happens that the pointer jumps to the "write_spi_flash"
> function in the code.
> 
> solution:
> The best solution is to make the power off sequense of the FPGA
> according to the spec. It is possible to place a power monitor on the
> board but this results in a redesign of the board and we do not
> prefere to do so.
> 
> question:
> Is there somebody who knows another solution that does not require a
> redesign of the board?
> 
> thanks!

You can provide ( in fpga ) mux on spi lines with lock which can be only 
one locked or something like that.

Is it same flash with configuration ?

Adam

Article: 127786
Subject: Re: DDR SDRAM demo for Spartan-3E starter kit?
From: jb@capsec.org
Date: Tue, 8 Jan 2008 03:53:14 -0800 (PST)
Links: << >>  << T >>  << A >>
Hi,

> I downloaded and tried it. And it seems to work. At least data_ok and
> data_ok_lt shines.

Good -- "*_lt" is the longterm variant which, once lit, is never
reset.
If "error_lt" does *not* lite up, everything is fine.

> I just had to write a script to download from your Trac system and
> rename 'DCM_SP' to DCM.

Strange, I remember DCM_SP is the DCM variant one should use in
Spartan3E... Can't remember for sure...

> Now I'm trying to reverse engineer fml_memtest() so I can use it for
> other things.

> Is your code BSD licensed? (like NetBSD)

I hereby place it under LGPL and will update the source code
accordingly soon.

I currently do not have the time to dig deeply into the HDL open
source
licensing issue -- but LGPL seems to fit the bill: you may use the
component wherever you like, without beeing forced to publish any
of your application...
But if you enhance the component itself, you're forced to "give back".


   j.

Article: 127787
Subject: passive serial quaestion
From: Zorjak <Zorjak@gmail.com>
Date: Tue, 8 Jan 2008 04:12:50 -0800 (PST)
Links: << >>  << T >>  << A >>
Hi, Everyone, I have one question regarding passive serial programing
of altera fpga.

Can flex 8000 series be programed in the same way as cyclone families.
Which programing file is used when fpga is programed .sof or .pof. Is
the programing equipment compatible.

Thanks for any kind of help
Zoran

Article: 127788
Subject: Re: Core Generators...
From: "KJ" <kkjennings@sbcglobal.net>
Date: Tue, 08 Jan 2008 12:19:40 GMT
Links: << >>  << T >>  << A >>

"Martin Thompson" <martin.j.thompson@trw.com> wrote in message 
news:usl18im00.fsf@trw.com...
> "KJ" <kkjennings@sbcglobal.net> writes:
>
>> Keep in mind though that those limits are most likely vendor dependent.
>> I've used functions that manipulate reals to initialize constant arrays 
>> to
>> produce lookup tables without any problems with vendor A...using vendor X 
>> or
>> Syn, I'm still generating service requests to fix other deficiencies in
>> their tool that breeze right through with A.  Doesn't help you if you're
>> commited to vendor X, but if you're not, it might.
>>
>
> Which Syn is that... "plify" or "opsys"?  I assume the former, given this
> is an FPGA newsgroup, but...
>

Synplify

KJ 



Article: 127789
Subject: Re: Bad micro blaze behaviour during power off
From: =?ISO-8859-1?Q?G=F3rski_Adam?=
Date: Tue, 08 Jan 2008 13:47:15 +0100
Links: << >>  << T >>  << A >>
Górski Adam pisze:
> jeroen.claes@gemidis.be pisze:
>> setup:
>> On one of our designs we are using a Xilinx partan3 FPGA (XC3S500E -4
>> FT(G)256 stepping1) and an spi flash (M25P40-VMN6) to store FPGA code,
>> callibration data, board settings,...
>>
>> Problem description:
>> Random SPI commands on the SPI bus from the FPGA to the flash are
>> logged during a power down of the board. Sometimes a complete SPI
>> write sequense is logged which makes the flash content corrupt.
>>
>> root cause:
>> Power down of the FPGA is not correct accoarding to the spec. The fall
>> time of the power supply is to long. this results in a bad behaviour
>> of the micro Blaze(uB). During power down the pointer of the uB is
>> jumping to a random place in the uB code. From this point the uB
>> executes several actions depending on the fall time of the power
>> supply. It happens that the pointer jumps to the "write_spi_flash"
>> function in the code.
>>
>> solution:
>> The best solution is to make the power off sequense of the FPGA
>> according to the spec. It is possible to place a power monitor on the
>> board but this results in a redesign of the board and we do not
>> prefere to do so.
>>
>> question:
>> Is there somebody who knows another solution that does not require a
>> redesign of the board?
>>
>> thanks!
> 
> You can provide ( in fpga ) mux on spi lines with lock which can be only 
> one locked or something like that.
> 
> Is it same flash with configuration ?
> 
> Adam

You can also use very slow clock on spi bus.
In this case write cycle will be longer than power down cycle

Adam

Article: 127790
Subject: Re: Camera connection on XUPV2P
From: "MJ Pearson" <mjp500@york.ac.uk>
Date: Tue, 08 Jan 2008 07:03:53 -0600
Links: << >>  << T >>  << A >>
>Hi,
>
>Gabor is right, As an addendum to his comment, I think that some
>cameras from "Basler" use DVAL as pixel framing signal. It is used
>when the user want to output some selected region from CCD of camera.
>If you are getting two pulses of DVAL, check your camera whether it is
>operating in single or dual tap mode and what is the region of
>interest in camera setting.
>
>Hope this helps,
>
>/MH
>

Thanks, 

My camera operates in 2-taps interleaved mode. It operates as a line scan
camera, a single row value for each column of the sensor array is
calculated and read out. Therefore I don't think the ROI will come into
it, but I'm not sure what the taps refer to or their definition, and
haven't had any luck in finding out...?

Article: 127791
Subject: Re: passive serial quaestion
From: MikeShepherd564@btinternet.com
Date: Tue, 08 Jan 2008 13:04:12 +0000
Links: << >>  << T >>  << A >>
>Hi, Everyone, I have one question regarding passive serial programing
>of altera fpga.
>
>Can flex 8000 series be programed in the same way as cyclone families.
>Which programing file is used when fpga is programed .sof or .pof. Is
>the programing equipment compatible.


See "Configuring FLEX 8000 Devices":

http://www.altera.com/literature/an/an033.pdf

Article: 127792
Subject: Re: passive serial quaestion
From: Zorjak <Zorjak@gmail.com>
Date: Tue, 8 Jan 2008 05:45:41 -0800 (PST)
Links: << >>  << T >>  << A >>
On Jan 8, 3:04 pm, MikeShepherd...@btinternet.com wrote:
> >Hi, Everyone, I have one question regarding passive serial programing
> >of altera fpga.
>
> >Can flex 8000 series be programed in the same way as cyclone families.
> >Which programing file is used when fpga is programed .sof or .pof. Is
> >the programing equipment compatible.
>
> See "Configuring FLEX 8000 Devices":
>
> http://www.altera.com/literature/an/an033.pdf

Thank You, Mike
best regards
Zoran

Article: 127793
Subject: Real examples of metastability causing bugs
From: Eli Bendersky <eliben@gmail.com>
Date: Tue, 8 Jan 2008 06:20:43 -0800 (PST)
Links: << >>  << T >>  << A >>
Hello,

Suppose that I'm sampling an asynchronous signal with a FF, without
using any synchronizers before it. This FF will become metastable from
time to time with a MTBF depending on the device's parameters, the
clock rate and the input signal change rate.

Can you please suggest *real life* examples of how this can make me
fail in a real design, that is, where the time of recovery for the
metastable event is indeed 0. Here are two off the top of my head:

1) The output of this FF can be used directly as the output of the
device, causing an intermediate value on the output for some time,
which can harm other devices.

2) If such an input is sampled by two different FFs for different
purposes, they may end up with different results.

Thanks in advance,
Eli

Article: 127794
Subject: Re: Bad micro blaze behaviour during power off
From: Ben Jackson <ben@ben.com>
Date: Tue, 08 Jan 2008 08:44:12 -0600
Links: << >>  << T >>  << A >>
On 2008-01-08, jeroen.claes@gemidis.be <jeroen.claes@gemidis.be> wrote:
> Power down of the FPGA is not correct accoarding to the spec. The fall
> time of the power supply is to long. this results in a bad behaviour
> of the micro Blaze(uB). During power down the pointer of the uB is
> jumping to a random place in the uB code.

Perhaps you could modify the SPI interface along the lines of typical
watchdog or EEPROM access registers in microcontrollers.  They require
a very specific sequence of operations to "unlock" the device (eg to
disable the watchdog).  Then a random bit of code would be less likely
to affect your SPI bus.

-- 
Ben Jackson AD7GD
<ben@ben.com>
http://www.ben.com/

Article: 127795
Subject: Re: passive serial quaestion
From: Ben Jackson <ben@ben.com>
Date: Tue, 08 Jan 2008 08:48:42 -0600
Links: << >>  << T >>  << A >>
On 2008-01-08, Zorjak <Zorjak@gmail.com> wrote:
>
> Can flex 8000 series be programed in the same way as cyclone families.

There are differences.  I think FLEX actually has MORE ways to configure,
eg parallel.

> Which programing file is used when fpga is programed .sof or .pof. Is
> the programing equipment compatible.

A sof is an "sram object file" and is the actual FPGA bitstream.  A
pof (programming object file??) is a container for writing flash devices.
You can put more than one sof in a pof (as well as other data).
You use the sof if you do direct JTAG programming.

The 'programming equipment' is typically an Altera byteblaster cable.
The byteblaster MV cannot program flash devices (iirc) while the
byteblaster II can.

-- 
Ben Jackson AD7GD
<ben@ben.com>
http://www.ben.com/

Article: 127796
Subject: Re: Processor in CPLD
From: Ben Jackson <ben@ben.com>
Date: Tue, 08 Jan 2008 08:55:24 -0600
Links: << >>  << T >>  << A >>
On 2008-01-08, Andreas Ehliar <ehliar-nospam@isy.liu.se> wrote:
>
> * Budget your design for the number of macroblocks. One macroblock == 
>   one flip-flop plus some logic in front of it.

Very important.  And as you hint later, with only 36-108 flops, you
can't make much of a clock divider.  If you want to operate at human-
visible speeds, give yourself a slow clock.

> * Avoid complex expressions. You will notice that especially adders can
>   be very expensive (or constructs that infer an adder like less than
>   or greater than). An example:

On the other hand, you can use much bigger combinatoral expressions
in each macrocell of a CPLD than you can in the LUT of a typical FPGA.
My experience is that you can fit a lot more logic and a lot less storage
in a CPLD than you might initially expect.

> exploring) the limits of the hardware we are using.

You could look at my website for such an example.  I fit a PCI target
in a XC95108.

-- 
Ben Jackson AD7GD
<ben@ben.com>
http://www.ben.com/

Article: 127797
Subject: Re: Processor in CPLD
From: "Rgr" <rgrworking@hotmail.com>
Date: Tue, 8 Jan 2008 15:56:21 +0100
Links: << >>  << T >>  << A >>
"Andreas Ehliar" <ehliar-nospam@isy.liu.se> wrote in message 
news:slrnfo6obf.luh.ehliar-nospam@sabor.isy.liu.se...
> On 2008-01-07, Rgr <rgrworking@hotmail.com> wrote:
>> Hi.
>>
>> I would like to hear your opinion on the possibility of implementing a
>> processor in a CPLD?
>> The functionality does not have to be greater than the old 8051 CPU, but 
>> I
>> would like the flexibility and the possibility of adding additional logic 
>> to
>> my design.
>>
>> Has someone worked on this issue, or have an opinion on how to complete 
>> this
>> task?
>
> We are actually doing this all the time in a course we are giving here 
> called
> Digital project laboratory. The CPLDs we are using are the XC9572 and 
> XC95108.
> (They are old, but they operate on 5V which is a huge advantage for us 
> since
> we have many other 5V components.)
>
> Our students commonly use two XC95108 for a complete microcoded processor.
> One mostly used for microcode and one mostly used for ALU stuff. Some 
> students
> use many more CPLDs to implement graphics and audio as well but that is
> not so common.
>
> A few students manage to fit a complete RISC-like processor into a single
> XC9572.
>
> Some things to keep in mind when designing a processor (or any logic for
> that matter for a XC95xx-CPLD:
>
> * Budget your design for the number of macroblocks. One macroblock ==
>  one flip-flop plus some logic in front of it.
>
> * Avoid complex expressions. You will notice that especially adders can
>  be very expensive (or constructs that infer an adder like less than
>  or greater than). An example:
>
>    reg [7:0] counter;
>    always @(posedge clk) begin
>      counter <= counter + 1;
>      if((counter > 13) && (counter < 131)) begin
>        outsignal <= 1;
>      end else begin
>        outsignal <= 0;
>      end
>    end
>
>    // Refactor this as:
>    always @(posedge clk) begin
>      counter <= counter + 1;
>      if(counter == 13) begin
>        outsignal <= 1;
>      end
>      if(counter == 130) begin
>        outsignal <= 0;
>      end
>    end
>
>  The later version can sometimes reduce the number of macrocells although
>  there is no guarantee for it. (If we didn't use 13 and 131 but something
>  like 63 and 192 instead it is likely that the first version is more
>  optimal than the second version for example)
>
>
>
> * Reuse logic (macrocells) if possible
>  An example of commonly used logic in a simple (non pipelined) processor:
>
>    reg [15:0] pc;
>    reg [15:0] address_reg;
>    reg [15:0] external_addr;
>    // Resets not shown for clarity
>    always @(posedge clk) begin
>        if(incpc) pc <= pc + 1;
>        else if(resetpc) pc <= 0;
>        else if(jump)    pc <= jumpaddr;
>    end
>
>    always @(posedge clk) begin
>        if(loadaddr) address_reg <= accumulator;
>
>    always @* begin
>        if (fetch) external_addr <= pc;
>        else external_addr <= address_reg;
>    end
>
>   Assuming address_reg and pc are the same width:
>   This code will use at least 16 macrocells for pc (actually more
>   due to the adder), 16 macrocells for address_reg and 16 macrocells
>   for the MUX in front of external_addr which is going out to the memory.
>   This code can be changed to something like this:
>
>   reg [15:0] reg1;
>   reg [15:0] reg2;
>   always @* external_addr <= reg1;
>
>   always @(posedge clk) begin
>        if(swap) begin
>            reg1 <= reg2;
>            reg2 <= reg1;
>        end else begin
>            if(inc1) reg1 <= reg1 + 1;
>            if(load2_pc) reg2 <= jumpaddr;
>            else if(load2_addr) reg2 <= accumulator;
>            else if(zero2) reg2 <= 0;
>        end
>   end
>
>   By reorganizing the code as above you will complicate your control
>   path by quite a lot, but you will save the 16 macrocells caused by
>   the MUX since reg1 is directly connected to external memory. We also
>   make sure that we don't complicate the macrocells used in the adder
>   by putting all other operations into the reg2 macrocells. As a bonus
>   we get address_reg++ for free...
>
> *  Bit serial arithmetics can be good in CPLDs in some situations. As
>   an example, I have a small hobby project running where I have fitted
>   an entire digital watch into a single XC9572 (although it requires a
>   very non-standard clock frequency to work as I didn't have enough space
>   left to fit a clock divider). The watch can both show time (hours,
>   minutes and seconds) and be used as a timer (minutes,seconds,tenths).
>   There is also an alarm which functions on (hours,minutes). These units
>   can be used independently (i.e., the watch still ticks in the background
>   if I'm setting the alarm or using the timer and the alarm will work even
>   though I'm using the timer). (Actually, I haven't wired up any circuit
>   yet, but it is working in simulation and the design fits into a
>   XC9572.) The time is presented on a display driven by 9368 7-segment
>   decoders so my design don't need to worry about decimal to 7-segment
>   decoders inside my design. (Although depending on this is a bit of
>   a cheat...)
>
>   I'm using bit serial arithmetics in order to fit everything into the
>   XC9572. I do not believe a more parallel solution would work in this
>   very constrained space although digit-serial might work as well.
>
>   At some point I'm planning to write a small web page to detail this
>   project, unfortunately I don't have time to describe it in more detail
>   in this already long post.
>
>
> It is rare that students do anything of the above though, but this is what
> I've learned while supervising students and thinking about (and sometimes
> exploring) the limits of the hardware we are using.
>
> /Andreas


Thanks for the tips, there are some nice views among them.
And thank you all for the answers - I have searched the web sites and come 
up with some possible solutions.

Best Regards 



Article: 127798
Subject: Low Power CPU Implementation
From: "Rgr" <rgrworking@hotmail.com>
Date: Tue, 8 Jan 2008 16:08:02 +0100
Links: << >>  << T >>  << A >>
Hi all.
I am doing a small Processor implementation (with the performance somewhat 
like an 8051 CPU), and I am designing for "as low power as possible".
I want to use reconfigurable logic as I am interested in the the flexibility 
and the possibility of adding additional logic to my design.

Already with aid of the helpful users of this NG I am looking at three 
competing products.
The Coolrunner II CPLD from Xilinx
The MAXII from Altera
The IGLOO FPGA from Actel

When looking at the specs, IGLOO seems to provide the best scores, however, 
these come from the manufacturer themselves, so I wondered if somebody has 
worked with low power designs with the above mentioned devices - and could 
give me some "real-life" experiences?

If Actels figures are correct, I must admit I have never worked with their 
development tools. How are these in user-friendlyness and quality in 
comparison with for example the Xilinx product (ISE and EDK). Any 
experiences?

I am looking very much forward to her from you
The Best of Regards :-) 



Article: 127799
Subject: Re: Low Power CPU Implementation
From: "HT-Lab" <hans64@ht-lab.com>
Date: Tue, 08 Jan 2008 15:53:51 GMT
Links: << >>  << T >>  << A >>

"Rgr" <rgrworking@hotmail.com> wrote in message 
news:47839199$0$15886$edfadb0f@dtext01.news.tele.dk...
> Hi all.
> I am doing a small Processor implementation (with the performance somewhat 
> like an 8051 CPU), and I am designing for "as low power as possible".
> I want to use reconfigurable logic as I am interested in the the 
> flexibility and the possibility of adding additional logic to my design.
>
> Already with aid of the helpful users of this NG I am looking at three 
> competing products.
> The Coolrunner II CPLD from Xilinx
> The MAXII from Altera
> The IGLOO FPGA from Actel
>
> When looking at the specs, IGLOO seems to provide the best scores, 
> however, these come from the manufacturer themselves, so I wondered if 
> somebody has worked with low power designs with the above mentioned 
> devices - and could give me some "real-life" experiences?
>
> If Actels figures are correct, I must admit I have never worked with their 
> development tools. How are these in user-friendlyness and quality in 
> comparison with for example the Xilinx product (ISE and EDK). Any 
> experiences?

I can't speak for Libero but Actel Designer (P&R only) is logical and very 
easy to use. The only downside is that P&R takes ages which might be due to 
their fine grain architecture.

If you are planning to use an Igloo then I would suggest to get their AGL600 
prototype board and not the Icicle since the AGL125 might be too small for 
your processor design. I have just done a quick test with the Oregano 8051 
and it takes 5178 Tiles (AGL125 only has 3072)

http://www.oregano.at/ip/8051.htm

Hans
www.ht-lab.com

>
> I am looking very much forward to her from you
> The Best of Regards :-)
> 





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