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 132825

Article: 132825
Subject: Re: ANNOUNCE:-- TimingAnalyzer Free Version -- Draw timing diagrams
From: Randy Yates <yates@ieee.org>
Date: Sat, 07 Jun 2008 14:29:36 -0400
Links: << >>  << T >>  << A >>
rickman <gnuarm@gmail.com> writes:

> On Jun 7, 12:13 am, Randy Yates <ya...@ieee.org> wrote:
>> rickman <gnu...@gmail.com> writes:
>> > [...]
>> > But if I want a laptop, I won't have much choice but to run Win XP
>> > (for the next few weeks) or Vista.  I only wish I had a choice.
>>
>> You do. I have successfully installed Fedora 8 on an HP Pavillion
>> DV9620US.
>>
>> However one thing to be careful of in running linux on laptops is
>> Broadcom's stubborn refusal to open up their wireless card
>> specifications so that open source drivers can be developed. Translated:
>> don't buy a laptop with a Broadcom wireless card (or chipset) if you
>> want to run linux on it. Atheros I've heard is very good and supported
>> by madwifi.org.
>>
>> But, even though Broadcom is stubborn, I have still been successful at
>> getting the card to work on my home network. Unfortunately the reverse
>> engineered drivers (b43-fwcutter...) do not seem to support the Master
>> modes used in public hotspots.
>
> I knew someone would mention Linux.  Linux is still an alien platform
> to me and there is any amount of software that is not supported under
> it... or I should say that there is any amount of software that is
> only supported on specific versions of Linux.  If I run Fedora 8,
> maybe vendor X gives me support and vendor Y doesn't.  I run Redhat
> and vendor X gives me support and vendor Z doesn't... etc, etc, etc.
>
> The reason that I still run windows at all is because for me, it is
> the only option.  Currently Win2000 is the best that runs the minimum
> required set of software.  If I want a laptop, my only choice
> currently is to buy a machine running XP which I can do for the next
> few weeks.  After that there will be no choice on a new machine except
> for Vista.  With a number of vendors not supporting that still, I will
> not have the option of buying a new laptop with an installed OS that
> runs the software I need.

I have been able to operate just fine for 3 years without most of the
Microsoft-specific software. Most notably, OpenOffice replaces Microsoft
Office. And for those occasions that I do need a MS-based OS, such as
once a year to run TaxCut, or when I need to run TI Code Composer
Studio, I use Win2000 running in a virtual machine under a linux host.
I previously used VMWare and currently use VirtualBox for this.

What software do you use that demands a MS OS?
-- 
%  Randy Yates                  % "She has an IQ of 1001, she has a jumpsuit
%% Fuquay-Varina, NC            %            on, and she's also a telephone."
%%% 919-577-9882                % 
%%%% <yates@ieee.org>           %        'Yours Truly, 2095', *Time*, ELO   
http://www.digitalsignallabs.com

Article: 132826
Subject: Re: A new FPGA company comes out of Stealth mode - SiliconBlue
From: "Steve Knapp" <steveD.O.TknappA.Tprevailing-technologyD.O.Tcom>
Date: Sat, 7 Jun 2008 14:01:39 -0700
Links: << >>  << T >>  << A >>

"Tommy Thorn" <tommy.thorn@gmail.com> wrote in message 
news:54b764e5-906e-4ad8-8198-8634b916f7c4@j33g2000pri.googlegroups.com...
> On Jun 6, 8:42 am, "Steve Knapp" <steveD.O.TknappA.Tprevailing-
> technologyD.O.Tcom> wrote:
[snip]
>
> Thanks, this is pretty interesting. A quick question, can the PLLs be
> reconfigured dynamically?

The iCE65 parts don't have a PLL, probably due to the extra power 
consumption.  For the projects that I've been working on, a PLL would be 
nice, but I've been able to implement a lower-power solution in logic.

-- Steve Knapp
   Prevailing Technology, Inc.
   www.prevailing-technology.com


Article: 132827
Subject: Re: A new FPGA company comes out of Stealth mode - SiliconBlue
From: "Steve Knapp" <steveD.O.TknappA.Tprevailing-technologyD.O.Tcom>
Date: Sat, 7 Jun 2008 14:12:08 -0700
Links: << >>  << T >>  << A >>

"Jim Granville" <no.spam@designtools.maps.co.nz> wrote in message 
news:4849d448$1@clear.net.nz...
> Steve Knapp wrote:
[snip]
>
>> The iCE65L04 part on the evaluation board exclusively loads from SPI 
>> Flash or can be downloaded.
>
> So it can self-load from SPI, which means a SPI part allows
> more-frequent design revisions, at an incremental cost ?
>
Yes, that's one of the cool things about it.  If you want it to be an 
SRAM-based FPGA, it works just like one.  If you want it to be an SPI 
processor peripheral, then you write the configuration image to it like it's 
an SPI peripheral.  If you want it to be like an ASIC, then you permanently 
program the NVCM memory.

In one of the modes, the iCE65 part loads its configuration image directly 
from an SPI PROM.  The iCE65L04 that I'm using only needs slightly over half 
a megabit so the image comfortably fits in a 1Mbit SPI PROM.  There's also 
supposedly a mode, which I haven't used yet, where you can store up to four 
images in the PROM.  If you enable the right mode, then the iCE65 part wakes 
up, looks at two pins, and then loads the configuration image selected by 
the pins.  They call it ColdBoot.  After configuration, you can do something 
similar from inside the fabric and they call this WarmBoot.  These functions 
even allow you to jump from the internal NVCM memory to SPI PROM and vice 
versa.

-- Steve Knapp
   Prevailing Technology, Inc.
   www.prevailing-technology.com


Article: 132828
Subject: Re: A new FPGA company comes out of Stealth mode - SiliconBlue
From: "Steve Knapp" <steveD.O.TknappA.Tprevailing-technologyD.O.Tcom>
Date: Sat, 7 Jun 2008 14:14:19 -0700
Links: << >>  << T >>  << A >>

"Gabor" <gabor@alacron.com> wrote in message 
news:805facd4-5dd4-49dd-b2d1-89ccf2c06f97@k30g2000hse.googlegroups.com...
> On Jun 4, 9:48 pm, Jim Granville <no.s...@designtools.maps.co.nz>
[snip]
>
> By the way, the FPGA Journal article seems to imply that the
> OTP non-volatile memory can hold more than one configuration.
> The datasheet does not bear this out.
>
If I understand correctly, the nonvolatile memory stores a single image. 
You can store multiple images if you use an SPI PROM.

-- Steve Knapp


Article: 132829
Subject: Re: A new FPGA company comes out of Stealth mode - SiliconBlue
From: "Steve Knapp" <steveD.O.TknappA.Tprevailing-technologyD.O.Tcom>
Date: Sat, 7 Jun 2008 14:42:01 -0700
Links: << >>  << T >>  << A >>

"Jim Granville" <no.spam@designtools.maps.co.nz> wrote in message 
news:484858aa$1@clear.net.nz...

[snip]

> [ I think some other vendors OTP is VERY slow to pgm ? ]
>
This may be true for some other vendors but the nonvolatile memory on the 
iCE65 part supposedly programs in about the same time as NOR Flash.

If I remember correctly, one of the issues with other OTP or anti-fuse 
architectures is that the memory cell directly connects to the programmable 
logic function.  These memory cells are small and low-resistance, which 
good, but you can only program them once.  Consequently, you can't pre-test 
the logic part without programming the OTP memory meaning that you have to 
perform both memory programming _and_ logic testing during the programming 
process.  This is slow.

The iCE65 parts are different.  The programmable logic function is 
controlled by an SRAM memory cell, which can be re-programmed any number of 
times.  As an FPGA manufacturer, you can quickly program and erase the logic 
hundreds of times during device testing as still ship it to customers.  This 
is also why so many FPGA architectures are SRAM based.  The nonvolatile 
configuration memory (NVCM) on the iCE65 device is a small array off to the 
side and doesn't directly connect to the logic structure.  The NVCM value is 
copied to a fully-tested SRAM-based memory cell that then controls the 
fully-tested logic.  Because the NVCM is just a memory (and one-time 
programmable at that), you can quite easily add redundancy and error 
correction to it, which greatly improves programming yield.  Redundancy and 
error correction becomes more difficult if the OTP memory cell directly 
controls the programmable logic structure.

-- Steve Knapp
   Prevailing Technology, Inc.
   www.prevailing-technology.com



Article: 132830
Subject: Re: HDL tricks for better timing closure in FPGAs
From: "jtw" <wrightjt @hotmail.invalid>
Date: Sat, 7 Jun 2008 22:43:18 -0700
Links: << >>  << T >>  << A >>

"Nico Coesel" <nico@puntnl.niks> wrote in message 
news:484abd50.3010252544@news.planet.nl...
> "jtw" <wrightjt @hotmail.invalid> wrote:
>
>>I disagree; however, I would include 'pipelining' as part of the coding
>>style/trick.  You can also try to code such that the critical path(s) with
>>have small enough blocks of logic between flip-flops to enable timing
>>closure.  You may add attributes to signals to try to coerce the 
>>synthesizer
>>into doing 'the right thing'; if it doesn't come automatically, you might 
>>do
>>some low-level coding, synthesize that, and then use the resultant edif 
>>file
>>as a black box to the the next level up.
>>
>>Before troubling with all that, though, do some bottom-up evaluations,
>>particularly of things you feel will have trouble meeting timing.  The 
>>tools
>>will often produce sub-optimal solutions when trying to solve many
>>simultaneous, conflicting requirements (resource location, timing, ...), 
>>and
>>thus have trouble for the total design.  Generally, the timing performance
>>achieved at the chip level is less optimal that at the block level, so 
>>make
>>sure your blocks will meet timing.  If they do, and the whole doesn't, you
>>might try incremental design techniques, where you solve one problem, 
>>build
>>on it for the next, etc...  If they don't, you can try re-coding and/or
>>re-architecting to get the block(s) to meet timing, and then try the 
>>whole.
>>Solve the relatively simple problems first... and sometimes the big 
>>problems
>>become simple.
>>
>>Other (non-coding) tricks:  location constraints, multi-cycle constraints,
>
> This will work, but the time involved to get the design finished will
> increase exponentially. A simpler way to do the same is using more
> than one clock. I usually have 3 clocks: slow (several MHz), main
> processes (tens of MHz) and high speed.
>
> -- 
> Programmeren in Almere?
> E-mail naar nico@nctdevpuntnl (punt=.)

Somehow, several of the designs I recently finished had:
    320 MHz+ data clock, DDR
    160 MHz+, coherent with data clock
    160 MHz+, system clock
    80 MHz+, system clock coherent with 160 MHz system clock

I still used multi-cycle constraints, TIG (Timing Ignore) constraints, 
location constraints, .... and had to 'play tricks' to force the tool not to 
remove redundant FFs, and insert FFs to break up combinational logic, and 
...

Adding clocks will not particularly make meeting timing easier; it is 
comparable to using multi-cycle constraints, which imply a virtual clock. 
(It may add value in power saving on the clock trees.)  Adding clocks adds 
complexity, because now you must manage the clock domain crossings.  But, 
sometimes, that is just part of the job...

JTW
 



Article: 132831
Subject: NIOS-II+LAN91C111
From: "bjzhangwn@gmail.com" <bjzhangwn@gmail.com>
Date: Sat, 7 Jun 2008 23:27:48 -0700 (PDT)
Links: << >>  << T >>  << A >>
Hi,everyone,I am now doing a work about ALTERA nios-II.The FPGA I use
is cycII-60,and the cpu is NIOS-II f,sdram ,lan91c11,dma controller
and so on,the main work I should do is to conmunicate the PCs and nios-
II with lan91c111,I chose UDP to send and receive data,also It can
work properly if I do'nt use dma to send and receive data,but the
speed is low about 18Mbps,cpu freq is 50MHZ,so I want to use dma ,but
It doesn't work ,I have a look at the soruce file ,the dma send
function have call the callback function s91_dma_tx_done(),but the PC
can't catch the udp packet,can some give me some advice ,I have no
idear.Thanks!

Article: 132832
Subject: NIOS-II+LAN91C111
From: "bjzhangwn@gmail.com" <bjzhangwn@gmail.com>
Date: Sat, 7 Jun 2008 23:28:08 -0700 (PDT)
Links: << >>  << T >>  << A >>
Hi,everyone,I am now doing a work about ALTERA nios-II.The FPGA I use
is cycII-60,and the cpu is NIOS-II f,sdram ,lan91c11,dma controller
and so on,the main work I should do is to conmunicate the PCs and nios-
II with lan91c111,I chose UDP to send and receive data,also It can
work properly if I do'nt use dma to send and receive data,but the
speed is low about 18Mbps,cpu freq is 50MHZ,so I want to use dma ,but
It doesn't work ,I have a look at the soruce file ,the dma send
function have call the callback function s91_dma_tx_done(),but the PC
can't catch the udp packet,can some give me some advice ,I have no
idear.Thanks!

Article: 132833
Subject: Re: NIOS-II+LAN91C111
From: "bjzhangwn@gmail.com" <bjzhangwn@gmail.com>
Date: Sun, 8 Jun 2008 02:47:52 -0700 (PDT)
Links: << >>  << T >>  << A >>

void
s91_senddata(SMSC smsc, unsigned char *data, int len)
{
   u_long   base = smsc->regbase;       /* device base address */
#if 0
   unshort *word;                       /* even byte pointer */
#endif
   void s91_dma_tx_done(void *);
   int rc;
   int *send_buf =(int*)alt_uncached_malloc(0x800);
   /* sanity check */
   if ((len < 60) || (((int)data) & 0x1))
   {
      dtrap();
   }

   /* Send status word first. This seems to be just a required
    * placeholder in the devices memory. It's filled in by the
    * device upon TX complete.
    */
   IOWR_ALTERA_AVALON_LAN91C111_DATA_HW(base, 0);

   /* Followed by the byte count; count includes the 6 control bytes.
    */
   IOWR_ALTERA_AVALON_LAN91C111_DATA_HW(base, (len & ~0x1) + 6);

#if 0
   word = (unshort *)data;
   while (len >= 2)
   {
      IOWR_ALTERA_AVALON_LAN91C111_DATA_HW(base, *word);
      word++;
      len -= 2;
   }
#else
#ifndef ALTERA_DMA_A_TX
   if (((u_long)data) & 0x02)
   {
      IOWR_ALTERA_AVALON_LAN91C111_DATA_HW(base, *(unshort *)data);
      data += 2;
      len -= 2;
   }

   while ((len -= 4) >= 0)
   {
      IOWR_ALTERA_AVALON_LAN91C111_DATA_WORD(base, *(unsigned int
*)data);
      data += 4;
   }

   smsc->snd_odd = len + 4;
   smsc->snd_data = data;
   s91_dma_tx_done((void *)smsc);
#else
   /* disable 91C111 interrupts until DMA completes */
   IOWR_ALTERA_AVALON_LAN91C111_MSK(base, 0);

   /* do the odd half-word at the beginning by PIO */
   if (((u_long)data) & 0x02)
   {
      IOWR_ALTERA_AVALON_LAN91C111_DATA_HW(base, *(unshort *)data);
      data += 2;
      len -= 2;
   }
	//printf ("Start dma send\n");
	printf(" len = %d\n",len & ~0x3);
	//len = len & ~0x3;
    if ((rc = alt_dma_txchan_send(dma_tx, (void *)(((u_long)data) &
~0x80000000), len & ~0x3,
                       s91_dma_tx_done, (void *)smsc)) < 0)
        {
			printf ("Failed to post transmit request, reason = %i\n", rc);
      		exit (1);
        }
   smsc->snd_odd = len & 0x3;
   smsc->snd_data = data + (len & ~0x3);
#endif  /* ALTERA_DMA_TX */

#endif
}

Hi$B!$(BI think I have find the problem,when the dma done,it don't call the
callback function s91_dma_tx_done,and the lan91c111 buffer is not
receive the new data,but I don't know why the dma not send the
data,and the rc is correct.

Article: 132834
Subject: Aldec Active-HDL and Xilinx/Altera FPGA-vendor library support
From: "kookoo4systemverilog" <noone@nowhere.x>
Date: Sun, 8 Jun 2008 10:46:28 -0700
Links: << >>  << T >>  << A >>
I've noticed Modelsim directly compiles the vendor's simulation-libraries 
from
the HDL-source (either VHDL or Verilog.)  I simply run the library-generator
applet that comes with ISE/EDK.

But Aldec seems to distribute the same vendor library-update in the form
of a download, up to a month later.

Could an Aldec user explain why this is the case?  Can the Aldec simulator
compile the libraries directly?  Or are there incompatibilities if you try 
to
do this yourself (and hence, the Aldec official library-update.)

I really wanted to mention Aldec as an alternative to Modelsim/PE, but
before I do that, I'd like to get this cleared up. 


Article: 132835
Subject: Re: Aldec Active-HDL and Xilinx/Altera FPGA-vendor library support
From: Mike Treseler <mtreseler@gmail.com>
Date: Sun, 08 Jun 2008 11:49:13 -0700
Links: << >>  << T >>  << A >>
kookoo4systemverilog wrote:
> I've noticed Modelsim directly compiles the vendor's 
> simulation-libraries from
> the HDL-source (either VHDL or Verilog.)  I simply run the 
> library-generator
> applet that comes with ISE/EDK.

Those libraries are available anytime
on the device vendor sites.
The device *vendors* A and X provide this
"service" for their own devices with their oem modelsim tools,
perhaps in hope that I chose their non-portable netlists
over their synthesis tools.

> But Aldec seems to distribute the same vendor library-update in the form
> of a download, up to a month later.

1. Aldec is not an oem for the major brands, however...
2. Compiling a library is not a big deal and ...
3. If I am using synthesis, I don't need any libraries for simulation.
    Use the source Luke.

    -- Mike Treseler



Article: 132836
Subject: Re: Compare and update in same clock cycle synthesis problem
From: Stef <stef33d@yahooI-N-V-A-L-I-D.com.invalid>
Date: Sun, 08 Jun 2008 23:35:36 +0200
Links: << >>  << T >>  << A >>
In comp.arch.fpga,
rickman <gnuarm@gmail.com> wrote:
> On Jun 4, 5:16 pm, Stef <stef...@yahooI-N-V-A-L-I-D.com.invalid>
> wrote:
>>
>>            when STATE_CHECK =>
>>              if datain /= lastval_v then
>>                control_state_v := STATE_UPDATE
>>              else
>>                control_state_v := STATE_OTHER;
>>              end if;
>>
>>            when STATE_UPDATE =>
>>              lastval_v := datain;
>>              control_state_v := STATE_CHANGED;
>>
>> This works in both pre- and post-synthesis simulation and also in real
>> hardware. There is now an 8-bit comparator found for the compare line
>> and no more warning about constant values.
>
> This can be significant.  Do you have the tools to "see" the logic
> produced by this code?  It will be a *lot* easier to understand the
> logic produced if you can reduce the problem code to a minimum set.
> Look at exactly what is being produced in the way of logic.  You talk
> about an 8 bit comparator, but I only see an equivalence check.  If
> the variables are 8 bits, this only takes 5 LUTs in two levels.  I
> supposed it might use 4 LUTs with the carry chain, but I don't think
> that is essential.

Xst actually reports "Found 8-bit comparator not equal for signal..."
So I presume it will implement something like you describe.

>> So my question is: Is there a problem with comparing and updating a
>> value in the same state (clock)?
>
> No, certainly the language does not know what you are doing in terms
> of updating or comparing.  It only knows what you tell it.  If you
> said to compare values and update the register that is used in the
> compare, it is happy doing that... as long as that is what you are
> telling it.

Somehow I must have failed telling that in the one-state approach. ;-)
Why, I still don't know. If there's a real error in my logic, I would
expect the pre-synth simulation to fail as well. 

To my relief, there is no problem with that type of coding, as I have
used this in more places in the design (but mostly with 1-bit flags).

The 2-state approach solved the curent problem, but it would indeed
be interesting to see if I can reproduce the problem in a minimal
design, but that will have to wait.


-- 
Stef    (remove caps, dashes and .invalid from e-mail address to reply by mail)

Article: 132837
Subject: ANNOUNCE: TimingAnalyzer -- new updated version
From: timinganalyzer <timinganalyzer@gmail.com>
Date: Sun, 8 Jun 2008 19:00:09 -0700 (PDT)
Links: << >>  << T >>  << A >>
Hello All,

A new version beta 0.83 is now available.  The following changes and
additions have occurred.

    * Improved Image Preview Display.
    * Context sensitive popup menus to edit objects.
    * Path set in image save dialog works.
    * Metric paper sizes added to image preview.
    * Lower case z, and x now work bus value combobox in toolbar.
    * Move signals up and down commands now respect any space in
diagrams used for Text.
    * Objects attached to any signal being deleted are deleted
automatically.
    * Save file now includes some more error checking before saving
objects.
    * Delays can not be added to DigitalClocks.

You can download the Free Edition now and read all about the
TimingAnalyzer at:

www.timing-diagrams.com

----------------------------------------------------------------------------------------------------------------------------------------

The TimingAnalyzer can be used to quickly and easily draw timing
diagrams. Signals, clocks, buses, delays, constraints, and states are
easily added from the GUI.

It can also be used to quickly do a timing analysis and check for
timing faults. Minimum, typical, and worst case analysis can be
performed. Delays and constraints are easily specified and changed to
see if faster clocks or slower parts can be used without any timing
faults.

There are 3 editions planned. The Free Edition(FE),  a Standard
Edition(SE), and the Professional Edition(PE).




Article: 132838
Subject: Deskew Clock on Synchronous Bus
From: "Bill Ngo" <bill.ngo@sympatico.ca>
Date: Sun, 8 Jun 2008 23:22:37 -0400
Links: << >>  << T >>  << A >>
I am having difficulties in trying to deskew the Clock on a synchronous
local bus interface between a Virtex4 FPGA and a PowerPC chip.


The instantiation port map of a DCM to provide 0 phase-shift between the
external LCLK_IN and the internal CLK is shown below.

---------------------
   port map (
      CLK0 => CLK,           -- 0 degree DCM CLK ouptput
      CLK180 => open,       -- 180 degree DCM CLK output
      CLK270 => open,       -- 270 degree DCM CLK output
      CLK2X => open,        -- 2X DCM CLK output
      CLK2X180 => open,  -- 2X, 180 degree DCM CLK out
      CLK90 => open,         -- 90 degree DCM CLK output
      CLKDV => open,        -- Divided DCM CLK out (CLKDV_DIVIDE)
      CLKFX => open,         -- DCM CLK synthesis out (M/D)
      CLKFX180 => open,   -- 180 degree CLK synthesis out
      LOCKED => open,      -- DCM LOCK status output
      CLKFB => CLK,         -- DCM clock feedback
      CLKIN => LCLK_IN, -- Clock input (from IBUFG, BUFG or DCM)
      RST => RESET            -- DCM asynchronous reset input
   );
---------------------


The timing constraint is shown below; I believe that the OFFSET constraints
should be effective since the phase-shift, 0 in this case, due to the DCM on
LCLK_IN, is accounted for by the PAR tool.
---------------------
 NET "LCLK_IN" TNM_NET = LCLK_IN;
 TIMESPEC TS_LCLK_IN = PERIOD "LCLK_IN" 10 ns HIGH 50%;
 OFFSET = IN 8 ns BEFORE "LCLK_IN";
 OFFSET = OUT 7 ns AFTER "LCLK_IN";
---------------------


A portion of the timing report (.twr) is shown below:
Note the Clock Path Delay of 4.979ns which the DCM usage has failed to
eliminate in this attempt. I was expecting that the delay would be 0ns or
very close to 0ns.

---------------------
Slack:                  -5.472ns (requirement - (clock arrival + clock path
+ data path + uncertainty))
  Source:               READY_CARRIER (FF)
  Destination:          LAD<30> (PAD)
  Source Clock:         CLK rising at 0.000ns
  Requirement:          7.000ns
  Data Path Delay:      7.313ns (Levels of Logic = 3)
  Clock Path Delay:     4.979ns (Levels of Logic = 3)
  Clock Uncertainty:    0.180ns
  :
  :
  Maximum Clock Path: LCLK_IN to READY_CARRIER
    Location             Delay type         Delay(ns)  Physical Resource
                                                       Logical Resource(s)
    -------------------------------------------------  -------------------
    D14.I                Tiopi                 0.963   LCLK_IN
                                                       LCLK_IN
                                                       LCLK_IN_IBUFG
    DCM_ADV_X0Y3.CLKIN   net (fanout=1)        1.260   LCLK_IN_IBUFG
    DCM_ADV_X0Y3.CLK0    Tdmcko_CLK           -2.213   DCM_BASE_inst
                                                       DCM_BASE_inst
    BUFGCTRL_X0Y23.I0    net (fanout=3)        1.504   CLK1
    BUFGCTRL_X0Y23.O     Tbgcko_O              0.900   CLK_BUFG
                                                       CLK_BUFG
    SLICE_X52Y103.CLK    net (fanout=123)      2.565   CLK
    -------------------------------------------------  ---------------------------
    Total                                      4.979ns (-0.350ns logic,
5.329ns route)
---------------------


Can anyone shed light on this problem?

 Bill Ngo



Article: 132839
Subject: FPGA reprogrammable? (urgent)
From: vikram <vikram788@gmail.com>
Date: Sun, 8 Jun 2008 21:42:41 -0700 (PDT)
Links: << >>  << T >>  << A >>
hello.... i wanted to know if fpgas were reprogrammable... if i have a
virtex2pro board, use it for a system, and later want to make changes/
additions (hardware), do i lose the already used gates? also, if
applications are changed, and downloaded, are the older ones
overwritten or do i lose the space?


thanks

v


Article: 132840
Subject: Re: FPGA reprogrammable? (urgent)
From: Tom <tom.derham@gmail.com>
Date: Sun, 8 Jun 2008 22:14:47 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Jun 9, 1:42=A0pm, vikram <vikram...@gmail.com> wrote:
> hello.... i wanted to know if fpgas were reprogrammable... if i have a
> virtex2pro board, use it for a system, and later want to make changes/
> additions (hardware), do i lose the already used gates? also, if
> applications are changed, and downloaded, are the older ones
> overwritten or do i lose the space?
>
> thanks
>
> v

Yes they are reprogrammable.
Most FPGAs load configuration data from an external FLASH memory chip
every time they are switched on (or reset).

In the case of your Virtex2Pro board, that Flash chip is probably
included on the board too. So all you have to do is to reprogram the
Flash chip with your new programming file, and the FPGA will load that
new configuration after power cycle or reset.
Alternatively. you can directly program the FPGA from your PC (without
using the Flash). But when you turn off the power, the FPGA loses the
configuration.

There's absolutely no sense of "overwriting" space or losing it. As I
say, the FPGA cannot permanently store configuration data itself.

(A few recent FPGAs have integrated the Flash onto the same die or
chip, but that is not relevant to your situation and the same
principles apply).

Tom

Article: 132841
Subject: Re: FPGA clock frequency
From: faza <fazulu.vlsi@gmail.com>
Date: Mon, 9 Jun 2008 01:22:06 -0700 (PDT)
Links: << >>  << T >>  << A >>
Hai,

Jonathan:simple, common case - then
you need to run the clock at exactly Fsample.

Faza:Still iam unable to trace how Fs will decide Fclk :

consider the following experiment i carried out in simulation level:

I generated the filter coefficients with the following parameters
using MATLAB FDA tool:
fc=3D3khz
fs=3D8khz
N=3D8
type=3DLP filter
design method=3Dconstra. least square

The generated 8 filter coefficients before hand is given as an input
to my design and it performs convolution operation with 8 impulse
samples{1,0,0,0,0,0,0,0} .To get all the 8 coefficients come out
properly the following condition should be satisfied:
number of input samples =3D number of coefficients.

Number of clock cylces to process each coefficient =3D number of taps
+2=3D10
so to process all the 8 coefficients with 8 impulse it is taking
10*8=3D80 clock cycles

I got the same number of clock cycle(80 clock cycles) count for the
following:
fc=3D3khz
fs=3D12khz(different sampling frequency)
N=3D8
type=3DLP filter
design method=3Dconstra. least square

I guess u understood my design now...


so in the design  number of clock cycles are decided only with number
of taps not with sampling frequency as suggested by u since i am not
using xilinx core generator..

My questions to u:

pls explain...So for the above example wat is the fclk value ?(fs=3D8khz
and fs=3D12kHz with N=3D8)

In general for N=3D256 ,
My design will take (256+2) *256=3D66048 clock cycles

wat is the Fclk value with N=3D256?which xilinx device i can select for
implementation?

In general convolution process:
number of o/p samples=3Dnumber of input sample + number of coeffie -1

But in my design
number of o/p sample =3Dnumber of input sample=3Dnumber of coeffie
I have to append zero to my input samples so that it should be equal
to the filter coefficients to get all the coefficients otherwise i
will miss the o/p sample..
Is the above correct?pls clarify..

Thanks in advance

regards,
faza



On Jun 7, 2:29=A0pm, Jonathan Bromley <jonathan.brom...@MYCOMPANY.com>
wrote:
> On Fri, 06 Jun 2008 16:16:56 -0700, Mike Treseler wrote:
> >Perhaps the staircase could be
> >accelerated to an appropriate velocity. ;)
>
> > L_v :=3D L*(1-v**2/c**2)**0.5 ;
>
> Ah. =A0Thanks for your relatively novel suggestion [sorry]
> which I had overlooked...
> --
> Jonathan Bromley, Consultant
>
> DOULOS - Developing Design Know-how
> VHDL * Verilog * SystemC * e * Perl * Tcl/Tk * Project Services
>
> Doulos Ltd., 22 Market Place, Ringwood, BH24 1AW, UK
> jonathan.brom...@MYCOMPANY.comhttp://www.MYCOMPANY.com
>
> The contents of this message may contain personal views which
> are not the views of Doulos Ltd., unless specifically stated.


Article: 132842
Subject: Re: FPGA clock frequency
From: "Symon" <symon_brewer@hotmail.com>
Date: Mon, 9 Jun 2008 09:37:29 +0100
Links: << >>  << T >>  << A >>
faza wrote:

>
> Faza:Still iam unable to trace how Fs will decide Fclk :
>
Hi Faza,
I'll have a go.
Design your filter with Fs = 1 .
Let's say you designed it with a cutoff frequency of Fc where Fc < Fs/2 .
If you then clock this filter with a frequency of kFs, the cut off frequency 
will be kFc .
Mmmm, hotwings.

HTH., Syms. 



Article: 132843
Subject: Re: FPGA reprogrammable? (urgent)
From: PFC <lists@peufeu.com>
Date: Mon, 09 Jun 2008 11:12:16 +0200
Links: << >>  << T >>  << A >>

> hello.... i wanted to know if fpgas were reprogrammable...

	Sure, your Virtex stores configuration in RAM. While testing and  
debugging, use JTAG to configure it, when it's ready program the  
configuration flash on the board.

Article: 132844
Subject: Re: FPGA clock frequency
From: PFC <lists@peufeu.com>
Date: Mon, 09 Jun 2008 11:22:59 +0200
Links: << >>  << T >>  << A >>

	You must understand the difference between sample frequency (Fs) and FP=
GA  =

clock frequency...

	If your FPGA clock frequency is the same as your Fs then it's simple.
	If your FPGA clock frequency is higher (say, N times higher) than your =
Fs  =

then, the multiplier and adders could make N operations per sample (but =
 =

still only one operation per FPGA clock)
	If your FPGA clock frequency is lower than your Fs then you will need t=
o  =

use a parallel implementation since you have more samples than the FPGA =
 =

can deal with...

> 	pls explain...So for the above example wat is the fclk value ?(fs=3D8=
khz  =

> and fs=3D12kHz with N=3D8)	=


	Well you decide the clock frequency... it should be equal or greater th=
an  =

Fs, for instance you can process your 12k signal with a 12k clock or a 1=
2  =

MHz clock...

	Also on these filters it's latency that is of interest, not the total  =

number of clocks to process a signal, since generally you operate on  =

continuous signals which have no known length (the data just comes...)  =

unless the signal is something like a video frame where you do have a  =

fixed amount of data...

Article: 132845
Subject: TI DSP + Virtex-5 using EMIF interface
From: techG <giuliopulina@gmail.com>
Date: Mon, 9 Jun 2008 02:24:53 -0700 (PDT)
Links: << >>  << T >>  << A >>
Hi all,
I'm working on a realtime application that requires to elaborate a
digital video stream 25fps. Algorithms are very time consuming and an
hardware parallel solution can help to satisfy time constraints.

Finally I decided for a mixed SW and HW that consists in a TI DSP and
a Virtex-5 connected togheter on EMIF.

Initially I choosed a Virtex-5SX, because it has a large number of DSP
blocks and a good number of logic cells (usefull for parallel hardware
implementations), but on the net I saw that people tend to use
Virtex-4FX as co-processor for TI DSP. I suppose that this choice is
strictly related to the presence of an hard core PowerPC on
Virtex-4FX, but I'm not sure.

In addition I didn't found any reference design for EMIF interface in
Virtex-5 (there are only for Virtex-4 or Virtex-II). Could be this a
good reason to choose a Virtex-4 instead of Virtex-5?


Article: 132846
Subject: Re: NIOS-II+LAN91C111
From: PFC <lists@peufeu.com>
Date: Mon, 09 Jun 2008 11:32:25 +0200
Links: << >>  << T >>  << A >>

> Hi,I think I have find the problem,when the dma done,it don't call the
> callback function s91_dma_tx_done,and the lan91c111 buffer is not
> receive the new data,but I don't know why the dma not send the
> data,and the rc is correct.

	OK so it works with CPU but not DMA.
	Did you try DMA from SDRAM to SDRAM just to copy a block of data ? Did it  
work ?

	Is the peripheral controller capable of bursts ?
	Did you configure the FIFO access correctly ?

	The callback uses an interrupt so make sure you did not mask out the DMA  
interrupt, that you connected the DMA controller's interrupt line to where  
it should go, etc.
	Stick scope probe on the 91c11's RD,WR,CS pins to check if you got your  
data out.
	If this is a new design I strongly recomment LAN9117 or LAN9217, much  
easier to use and faster.


Article: 132847
Subject: Re: TI DSP + Virtex-5 using EMIF interface
From: Kolja Sulimma <ksulimma@googlemail.com>
Date: Mon, 9 Jun 2008 03:08:50 -0700 (PDT)
Links: << >>  << T >>  << A >>
The V4 is thant the V5 older, so it is only natural that there are
more published designs for it.
The EMIF is a rather generic bus interface, very similar to dozens of
other CPU or SRAM interfaces.
There is nothing specific about it that affects FPGA choice. You
probably can use V4 HDL code for
an EMIF interface without modifications in an V5.

Also: If you can't code the interface yourself you probably should not
start this project. The EMIF
interface is not more complicated than what you would use internally
to interface to the components
of your design. Using existing code therefore provides next to no
abstraction.

Did you see XAPP573?

The circuits to interface to a FIFO inside the FPGA are not much more
than half a dozen gates.

Kolja Sulimma


On 9 Jun., 11:24, techG <giuliopul...@gmail.com> wrote:
> Hi all,
> I'm working on a realtime application that requires to elaborate a
> digital video stream 25fps. Algorithms are very time consuming and an
> hardware parallel solution can help to satisfy time constraints.
>
> Finally I decided for a mixed SW and HW that consists in a TI DSP and
> a Virtex-5 connected togheter on EMIF.
>
> Initially I choosed a Virtex-5SX, because it has a large number of DSP
> blocks and a good number of logic cells (usefull for parallel hardware
> implementations), but on the net I saw that people tend to use
> Virtex-4FX as co-processor for TI DSP. I suppose that this choice is

> strictly related to the presence of an hard core PowerPC on
> Virtex-4FX, but I'm not sure.
>
> In addition I didn't found any reference design for EMIF interface in
> Virtex-5 (there are only for Virtex-4 or Virtex-II). Could be this a
> good reason to choose a Virtex-4 instead of Virtex-5?





Article: 132848
Subject: Re: FPGA clock frequency
From: faza <fazulu.vlsi@gmail.com>
Date: Mon, 9 Jun 2008 03:13:32 -0700 (PDT)
Links: << >>  << T >>  << A >>
If you then clock this filter with a frequency of kFs, the cut off
frequency
will be kFc .

so u mean to say eventhough i generate the filter coefficients before
hand using FDA tool,i should set the Fclk by considering  the sampling
frequency and cutoff frequency for which i have generated the filter
coefficients..am i correct??

     If your FPGA clock frequency is the same as your Fs then it's
simple.
        If your FPGA clock frequency is higher (say, N times higher)
than your Fs
then, the multiplier and adders could make N operations per sample
(but
still only one operation per FPGA clock)
        If your FPGA clock frequency is lower than your Fs then you
will need to
use a parallel implementation since you have more samples than the
FPGA
can deal with.....

In that case how it is possible to fix fclk  which can support a
maximum sampling frequency till 600Mhz?

regards,
faza




On Jun 9, 2:22=A0pm, PFC <li...@peufeu.com> wrote:
> =A0 =A0 =A0 =A0 You must understand the difference between sample frequenc=
y (Fs) and FPGA =A0
> clock frequency...
>
> =A0 =A0 =A0 =A0 If your FPGA clock frequency is the same as your Fs then i=
t's simple.
> =A0 =A0 =A0 =A0 If your FPGA clock frequency is higher (say, N times highe=
r) than your Fs =A0
> then, the multiplier and adders could make N operations per sample (but =
=A0
> still only one operation per FPGA clock)
> =A0 =A0 =A0 =A0 If your FPGA clock frequency is lower than your Fs then yo=
u will need to =A0
> use a parallel implementation since you have more samples than the FPGA =
=A0
> can deal with...
>
> > =A0 =A0pls explain...So for the above example wat is the fclk value ?(fs=
=3D8khz =A0
> > and fs=3D12kHz with N=3D8) =A0 =A0
>
> =A0 =A0 =A0 =A0 Well you decide the clock frequency... it should be equal =
or greater than =A0
> Fs, for instance you can process your 12k signal with a 12k clock or a 12 =
=A0
> MHz clock...
>
> =A0 =A0 =A0 =A0 Also on these filters it's latency that is of interest, no=
t the total =A0
> number of clocks to process a signal, since generally you operate on =A0
> continuous signals which have no known length (the data just comes...) =A0=

> unless the signal is something like a video frame where you do have a =A0
> fixed amount of data...


Article: 132849
Subject: Re: HDL tricks for better timing closure in FPGAs
From: glen herrmannsfeldt <gah@ugcs.caltech.edu>
Date: Mon, 09 Jun 2008 03:40:00 -0800
Links: << >>  << T >>  << A >>
JeDi wrote:

(jtw wrote, though I am redoing the indenting)
>> "I disagree; however, I would include 'pipelining' as part of the
>> coding style/trick.  You can also try to code such that the critical
>> path(s) with have small enough blocks of logic between flip-flops to
>> enable timing closure."

> I tried pipelining  - mainly to break large combinational blocks into
> smaller ones. But, the problem I run into is that the logic
> utilization increase almost 15-20 % more than the already high
> utilization !!! This creates a situation where the tool is not able to
> place everything close enough to meet timing - because the
> interconnect delay of the FPGA now becomes the bottle neck !!!

The advantage of pipelining is that each part of the pipeline
runs in parallel.  If you have more data to process, it
enters the pipeline on subsequent cycles.   There are many
books on the design of pipelined processors
(from the 1960's and 1970's) that will explain that part.

If you don't have more data to process, then you might do
an iterative design that reuses the same logic on consecutive
clock cycles, along with a state machine to keep track of what
is being done and when.

Consider multiplying two N digit numbers (in any base).

You have to generate N partial products, and then add them
together.  As combinatorial logic, it may be N+1 levels deep.
All the partial products are generated, and then N levels
of adder to add them up.  It takes O(N**2) logic units.
Much of the logic isn't doing anything most of the time.

Pipeline it as an N stage pipeline.  Each stage generates
a new partial product and adds it to the cumulative result.
It still takes the same amount of logic, plus the
registers to generate the pipeline stages, but new
data can go in on each cycle.  The results come out N
(or N+1) cycles later.  M products can be completed
in M+N+1 clock cycles, where the cycle is long enough
to do one partial product and one sum.  (Even better,
pipeline the sum separately.)

If you don't have enough data to keep an N stage pipeline
full, an iterative design works.  Only O(N) logic units,
though maybe an equivalent amount to keep the thing
running.   Results come out in N+1 cycles,
new data goes in every N+1 cycles.

Those are the tradeoffs between logic and throughput.

You can also do something in between, with more logic
and fewer pipeline stages than the latter design.

It is all a tradeoff between logic and throughput.

-- glen




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