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 20425

Article: 20425
Subject: RE: EDIF info
From: "Jose" <a_k_y@hotmail.com>
Date: Thu, 10 Feb 2000 00:30:38 +0100
Links: << >>  << T >>  << A >>
The info in www.edif.org is not free.

--
Jose (a_k_y@hotmail.com)
Sébastien Buschini <sbusch@club-internet.fr> escribió en el mensaje de
noticias 38A1F09C.E3BCF54A@club-internet.fr...
>
>
> Jose a écrit:
>
> > Hi, I would like to obtain more info about EDIF especification.
> > Thanks.
> >
> > --
> > Jose (a_k_y@hotmail.com)
>
> Did you try http://www.edif.org ?
>


Article: 20426
Subject: Re: launching a FPGA cores start-up
From: fpgaer@my-deja.com
Date: Thu, 10 Feb 2000 05:49:33 GMT
Links: << >>  << T >>  << A >>
David,
many thanks for sharing your views on this - I had read the EET article
earlier & your comments do add on to it.


> Making money in the IP business is difficult and not for the
> faint of heart.  There is an article in the latest EETIMES
> that says it better than I could.  My experience with IP
> backs up what this article says.  The link to it is:
>
> 	http://www.eetimes.com/story/design/OEG20000203S0051
>
> Hope that helps!
>
> David Kessner
> davidk@free-ip.com	http://www.free-ip.com/
>


Sent via Deja.com http://www.deja.com/
Before you buy.
Article: 20427
Subject: Re: Spartan and timing analyzer: clock nets using non-dedicated resources
From: allan.herriman.hates.spam@fujitsu.com.au (Allan Herriman)
Date: Thu, 10 Feb 2000 07:48:40 GMT
Links: << >>  << T >>  << A >>
On Wed, 9 Feb 2000 15:33:05 -0700, "Andy Peters"
<apeters.Nospam@nospam.noao.edu.nospam> wrote:

>I've got a fairly simple all-VHDL Spartan design (easily fits into an
>XCS20XL-4 using 119 of the 400 CLBs) with an annoying "problem."  Tools are
>FPGA Express v3.3 and F2.1i SP4.  It takes in an 80 MHz clock and uses that
>clock for some of the logic, and also divides it by two to generate a 40 MHz
>clock which drives the rest of the logic.
>
>The tools are smart: FPGA Express inferred a BUFGLS for the 80 MHz clock and
>another one for the 40 MHz clock.  I confirmed this by looking at the design
>in the FPGA Editor.  I set up period constraints for the 80 MHz and the 40
>MHz logic.  P+R was fine and the timing analyzer tells me that I meet all of
>my constraints with margin to spare.
>
>But there's a warning: "Timing:33:Clock nets using non-dedicated resources
>were found in this design.  Clock skew on these resources will not be
>automatically adress during path analysis.  To create a timing report that
>analyzes clock skew for these paths, run trce with the '-skew' option."
>
>OK, I did and I still meet timing.  My question:
>
>How do I (easily) find what/where these alleged non-dedicated resources are?

I did this exact same thing just a few hours ago.  I scanned the edif
file for all clocks, and sure enough, they were all appropriately
connected to signals driven by bufg.

It turned out to be that the input of one particular bufg was
connected to the output of an ibuf, rather than directly to the pad.
(We explicitly define things like bufgs in our code here, and
sometimes mistakes like this happen.)

Regards,
Allan.
Article: 20428
Subject: Spartan/Foundation Latch reset problem
From: Nicolas Matringe <nicolas@dotcom.fr>
Date: Thu, 10 Feb 2000 10:35:55 +0100
Links: << >>  << T >>  << A >>
Hi all
I want to use latches on an address bus (the data book says it can be
done).
I keep getting this warning (one per latch):
Dpm : Warning: FlipFlop/Latch "(name of the latch)" is not set/reset by
"/rst"

I have two processes in the same architecture, one for the latch and
another one for the FFs. Both are reset by the same signal (as are all
the others FFs in my design)

I can't see what's wrong in my VHDL

Code sample:

    PROCESS (rst, isa_a, ale_i) -- address latch
    BEGIN
      IF rst = '1' THEN
        addr <= (OTHERS => '0');
      ELSIF ale_i = '0' THEN
        addr <= isa_a;
      END IF;
    END PROCESS;

    PROCESS (sys_clk, rst) -- i/o sync
    BEGIN
      IF rst = '1' THEN
        d_in <= (OTHERS => '0');
        isa_irq	<= '0';
        m16_i <= '0';
      ELSIF (sys_clk='1' AND sys_clk'EVENT) THEN
        d_in <= isa_d;
        isa_irq	<= irq;
        IF rd = '0' THEN
          m16_i <= m16;
        END IF;
      END IF;
    END PROCESS;


Nicolas MATRINGE           DotCom S.A.
Conception electronique    16 rue du Moulin des Bruyeres
Tel 00 33 1 46 67 51 11    92400 COURBEVOIE
Fax 00 33 1 46 67 51 01    FRANCE
Article: 20429
Subject: SRAM part question
From: Botond Kardos <Kardos.Botond@hu.innomed.NOSPAM>
Date: Thu, 10 Feb 2000 10:46:56 +0100
Links: << >>  << T >>  << A >>
Hi folks,
  I'd appreciate some more information about the following part:
GM76C8128CLLFW55 (maybe 128k8 low power, async. SRAM, 525-mil SOP32
package, 5V supply, 55ns access time).
  Our problem is, that we simply can't buy 1 Mbit (128kx8), 55 ns SRAM
parts. The logistic department mentioned that they could maybe get these
Goldstar SRAMs for the tripple of the usual price in about 3 weeks.
Since LG (Goldstar) was overtaken by Hyundai last year, I can't find any
data sheet of this RAM.
  So could someone, please post me a data sheet or a description of this
part?
  Or could someone tell me, whether this Goldstar SRAM is more or less
compatible with the following parts?

Toshiba:
 TC551001CF-55, TC551001CF-55L

Samsung:
 KM681000CLG-5L, K6T1008C2C-GL55
 KM681000CLG-5LL, K6T1008C2C-GB55
 KM681000ELG-5, K6T1008C2E-GL55
 KM681000ELG-5L, K6T1008C2E-GB55

Hyundai:
   HY628100AG-55, HY628100ALG-55
   HY628100ALLG-55

Hitachi:
   HM628128DLP-5. HM628128DLP-5SL. HM628128DLP-5UL


  Thanks for any help in advance,
  Botond

--
Botond Kardos  -  at Innomed Medical Inc. in Hungary
eMail: Kardos.Botond@hu.innomed.NOSPAM
phone/fax: (0036 1) 351-2934
fax: (0036 1) 321-1075
      To get my real address just put the domain
      name in reverse order and remove 'nospam'.
      x@1.2.3 -> x@2.1


Article: 20430
Subject: Re: VHDL and Xilinx Books for beginners
From: "Don Golding" <dgolding@angelusresearch.com>
Date: Thu, 10 Feb 2000 10:07:27 -0000
Links: << >>  << T >>  << A >>
We are using VHDL Primer by J. Bhasker in my class.  I recomend taking a
college class to get started in using VHDL.  There is just too much to VHDL
to successfully learn it by just reading a book.

Don Golding



Article: 20431
Subject: Data conversion tools
From: "Nikolay" <nikolayr@acte.no>
Date: Thu, 10 Feb 2000 11:19:09 +0100
Links: << >>  << T >>  << A >>
Hi,

Does anyone know of any tools that can convert "raw-data" files to .hex or
.mif files for memory initialization in Altera's tools?

-Nikolay


Article: 20432
Subject: Re: Viterbi Dec. in VHDL (on Xilinx XC4000)
From: Edwin Naroska <edwin@mira.e-technik.uni-dortmund.de>
Date: Thu, 10 Feb 2000 11:22:03 +0100
Links: << >>  << T >>  << A >>
Hi,

Marc Reinert wrote:

> Has anybody experience with (or information about) implementing a
> Viterbi Decoder into a Xilinx FPGA?
>
> I'm going to develop a decoder to decode a variable convolutional code
> (rate 1/2 or 1/3, Number of states min. 128 / better 256 or 512). I will
> use a soft decision input (4 Bit quantisation). Optionally the decoder
> shall compute a Soft Decision Output (SOVA). Very important is the
> possibility of a high thourghput (>20 MBit/s).
>
> I'm going to use Xilinx tools (VHDL in Foundation Express 2.1) and
> Xilinx FPGA('s) (for example XC4062 XLA).
>
> I'm thankful for any information about Viterbi Decoding on programable
> logic  or for elements of VDHL-Code that implement parts of the decoder
> like Add-Compare-Select-Unit, fast memory-management etc. .
>
> Maybe anybody can help me! Thank U!
>

You may take a look at the following link:

    Viterbi encoder/decoder for the (22,8,6) block code:
        http://www-ee.eng.hawaii.edu/~pramod/ee628/viterbi.html


--
Edwin


Article: 20433
Subject: Re: Xilinx vs Altera
From: "Mark Harvey" <mark.harvey@iol.it>
Date: Thu, 10 Feb 2000 10:25:30 GMT
Links: << >>  << T >>  << A >>

John Janusson <jjanusson@nospami-o.com> wrote in message
news:sYCn4.6641$wR.645558@news.flash.net...
> I would recommend Xilinx Foundation because it includes Synopsys FPGA
> Express, which I think most would agree is a better HDL synthesizer than
> Altera's...  You also get a state machine entry program, which might make
it
> easier for beginners... Alas, neither come with a good VHDL simulator>


Xilinx should be shipping a free version of ModelSim with the Foundation
package - it's restricted to 500 lines of code but that might be ok for
students - I assume the 500 line limit refers to the testbench file, not the
source + libraries + testbench. Anyone know any different?

Mark Harvey.



Article: 20434
Subject: Re: Spartan and timing analyzer: clock nets using non-dedicated resources
From: "Mark Harvey" <mark.harvey@iol.it>
Date: Thu, 10 Feb 2000 10:31:39 GMT
Links: << >>  << T >>  << A >>

> But there's a warning: "Timing:33:Clock nets using non-dedicated resources
> were found in this design.  Clock skew on these resources will not be
> automatically adress during path analysis.  To create a timing report that
> analyzes clock skew for these paths, run trce with the '-skew' option."
>
> OK, I did and I still meet timing.  My question:
>
> How do I (easily) find what/where these alleged non-dedicated resources
are?

I assume that this means you have some DFFs being clocked by signals which
don't come from the output of global buffers. You could try checking the
sensitivity lists of your VHDL processes to see which signals are being used
as clocks, or check the XNF/EDIF netlist.

Mark Harvey.



Article: 20435
Subject: Re: Linux Xilinx Download program
From: Roman Pollak <roman.pollak@scs.ch>
Date: Thu, 10 Feb 2000 12:37:22 +0100
Links: << >>  << T >>  << A >>
Hi Phil,


What fpga's did you use with this program ?


roman

Phil Endecott wrote:

> Hi All,
>
> A while ago I asked about downloading Xilinx bitfiles from Linux and got
> some useful pointers from this group.  I took Larry Doolittle's port of
> the XESS download program as a starting point, but found various
> problems.  First, XESS and Xilinx have chosen different pin allocations
> for their download cables (I am using the Xilinx Parallel Cable III to
> download to a VCC prototyping board).  Second, the XESS code contains
> lots of stuff specific to their board for initialising memory and so
> on.  So I've reimplemented it, an in the process have achieved a
> substantial speedup.  The code is included below in case it is useful to
> anyone else.
>
> Regards,
>
> --Phil Endecott.
>
> // Program to download a Xilinx bitfile over a "Parallel cable III"
> // from Linux.
> // Author: Phil Endecott   phil_endecott@spamcop.net
> // This code is in the public domain.
> // You use this code at your own risk.  No warranty.
> // Algorithm based in part on Larry Doolittle's port of the XESS
> // software.
>
> #include <stdio.h>
> #include <assert.h>
> #include <asm/io.h>
> #include <sys/types.h>
> #include <unistd.h>
> #include <sys/perm.h>
> #include <stdlib.h>
>
> const unsigned short base_address=0x378;
> //const unsigned short data_reg_address=base_address;
> #define data_reg_address base_address
>
> const unsigned char data_reg_default=0x14; // 00011000
> const unsigned char din_value=0x01;
> const unsigned char cclk_value=0x02;
> const unsigned char nprog_value=0x04;
>
> const unsigned char bitstream_field_type=0x65;
>
> static inline void set_pport_data_reg(unsigned char d)
> {
>   outb(d,data_reg_address);
> }
>
> static inline void send_bit(unsigned int d)
> {
>   set_pport_data_reg(data_reg_default|(d?din_value:0));
>   set_pport_data_reg(data_reg_default|(d?din_value:0)|cclk_value);
> }
>
> static inline void send_byte(unsigned char d)
> {
>   send_bit(d&0x80);
>   send_bit(d&0x40);
>   send_bit(d&0x20);
>   send_bit(d&0x10);
>   send_bit(d&0x08);
>   send_bit(d&0x04);
>   send_bit(d&0x02);
>   send_bit(d&0x01);
> }
>
> static FILE* bitfile;
>
> static void check_eof(void)
> {
>   assert(!feof(bitfile));
> }
>
> static unsigned short get_short(void)
> {
>   unsigned char byte0, byte1;
>   fread(&byte0,1,1,bitfile);
>   check_eof();
>   fread(&byte1,1,1,bitfile);
>   return (byte0<<8)|byte1;
> }
>
> static unsigned long get_long(void)
> {
>   unsigned char byte0, byte1, byte2, byte3;
>   fread(&byte0,1,1,bitfile);
>   fread(&byte1,1,1,bitfile);
>   fread(&byte2,1,1,bitfile);
>   check_eof();
>   fread(&byte3,1,1,bitfile);
>   return (byte0<<24)|(byte1<<16)|(byte2<<8)|byte3;
> }
>
> static void skip(int howmuch)
> {
>   assert(fseek(bitfile,howmuch,SEEK_CUR)==0);
> }
>
> static void scan_for_field(unsigned char scan_field_type)
> {
>   unsigned char field_type;
>   int fieldlength;
>
>   while(1){
>     check_eof();
>     fread(&field_type,1,1,bitfile);
>     if(field_type==scan_field_type){
>       return;
>     }
>     fieldlength=get_short();
>     skip(fieldlength);
>   }
> }
>
> static void configure_from_bitfile(void)
> {
>   int fieldlength;
>   int i;
>   char* data;
>
>   fieldlength=get_short();
>   skip(fieldlength);
>
>   fieldlength=get_short();
>   assert(fieldlength==1);
>
>   scan_for_field(bitstream_field_type);
>   fieldlength=get_long();
>
>   data=malloc(fieldlength);
>   assert(data);
>   assert(fread(data,1,fieldlength,bitfile)==fieldlength);
>   for(i=0;i<fieldlength;i++){
>     send_byte(data[i]);
>     if((i%1000)==0){
>       fprintf(stderr,"*");
>     }
>   }
>
>   for(i=0;i<4;i++){
>     send_bit(0);
>   }
>   fprintf(stderr,"\n");
> }
>
> static void prog_pulse(void)
> {
>   set_pport_data_reg(data_reg_default&~nprog_value);
>   set_pport_data_reg(data_reg_default);
> }
>
> int main(int argc,char** argv)
> {
>   char* bitfile_name;
>
>   // This program needs root priveledges in order to call ioperm, so
>   // install it setuid root.  It gives up rootness after calling
>   // ioperm.
>
>   assert(geteuid()==0);
>   assert(ioperm(base_address,8,1)==0);
>   assert(seteuid(getuid())==0);
>   assert(geteuid()!=0);
>
>   assert(argc==2);
>   bitfile_name=argv[1];
>   bitfile=fopen(bitfile_name,"r");
>   assert(bitfile);
>
>   prog_pulse();
>   configure_from_bitfile();
>
>   fclose(bitfile);
>   exit(0);
> }

Article: 20436
Subject: links about partitioning.
From: boniolopez@my-deja.com
Date: Thu, 10 Feb 2000 12:43:01 GMT
Links: << >>  << T >>  << A >>
Hi friends,
I 'am looking for the links about partitioning.
I mean under this word, which part of FPGA (ASIC) must be done as
hardware
(CORE) and which as software, the different optimization criteria and
other aspects of
this.
May be I will make my Ph.D. with this theme. That why I want to show,
what is made to
this moment in this topic.
Links and ideas would be greatly appreciated.
(If you want mail me use: bonio.lopezXY@gmx.ch_remove_XY)
with best regards,
bonio


Sent via Deja.com http://www.deja.com/
Before you buy.
Article: 20437
Subject: FPGA IP complexity
From: anurag <anurag@earthling.net>
Date: Thu, 10 Feb 2000 13:04:52 GMT
Links: << >>  << T >>  << A >>
Hi,

There's a lot of talk on IP for FPGAs - ( tons of articles can be found
on this at EET, EDTN, Optimagic....etc.  sites). The
reconfigurable-silicon concept does look very powerful & attractive !
The question is  " What level of functional complexity can exactly be
achieved on the currently available FPGAs ? "

The designs that I've come across so far are ,at best, complex
independent functional blocks ie; FIR/IIR filters, Veterbi
codecs....etc.  I've yet to come across a full fledged system level
design on an FPGA - something like (say) a design where a FPGA can be
instantly reconfigured to be a MP3 codec in one mode and a soft modem in
another. Another ex. I cld. quote is a FPGA behaving as one of the
wireless air interface standards ie; GSM/TDMA/CDMA ( in other words - a
S/W radio ) depending on the core downloaded on it (an ASIC from
Motorola exactly does this ! )

What I'm trying to get at is that all this seems to be theoritically
possible but I haven't seen any working design yet ! Even the ref.
examples at the Xilinx site are mostly glue-logic designs. SO, can the
examples quoted above be realised on a FPGA ( assuming that the required
no. of gates are available ) ?
If not (since it's possible theoritically) what cld. be the primary
reason for this ?

Any comments wld. be appreciated !

Thanks........Anurag


Sent via Deja.com http://www.deja.com/
Before you buy.
Article: 20438
Subject: Altera - pcpu symbol in mega_lpm library
From: Leon Heller <leon_heller@hotmail.com>
Date: Thu, 10 Feb 2000 14:51:24 GMT
Links: << >>  << T >>  << A >>
Whilst browsing the Altera mega_lpm library I noticed a symbol
called "pcpu". It appears to be a CPU of some sort, but there is no
documentation for it. Has anyone got any more info?

Leon
--
Leon Heller, G1HSM
Tel: (Mobile) 079 9098 1221 (Work) +44 1327 357824
Email: leon_heller@hotmail.com
Web: http://www.geocities.com/SiliconValley/Code/1835


Sent via Deja.com http://www.deja.com/
Before you buy.
Article: 20439
Subject: Simulation problem
From: "Pradeep Rao" <pradeeprao@planetmail.com>
Date: Thu, 10 Feb 2000 21:32:44 +0530
Links: << >>  << T >>  << A >>
Hi,
I am using the following code to XOR two bytes. I am able to simulate it
using Active HDL(3.1) and seems to work, but when I use Warp I get the
following error while compiling :

C:\warp\bin\WARP.EXE -q -e10 -w100 -o2 -yga -fO -fP -v10 -dC371 -pCY7C371-14
3JC -b byte_xor.vhd
VHDL parser (C:\warp\bin\vhdlfe.exe V4 IR x95)
Setting library 'work' to directory 'lc371'
----------------------------------------
Compiling 'byte_xor.vhd' in 'C:\WARP\EXAMPLES\Pradeep'.
VHDL parser (C:\warp\bin\vhdlfe.exe V4 IR x95)
Library 'work' => directory 'lc371'
Linking 'C:\warp\lib\common\work\cypress.vif'.
byte_xor.vhd (line 8, col 30):  (E56) Expected FUNCTION, but got IS
Error occurred within 'PROCESS' at line 8, column 16 in byte_xor.vhd.
byte_xor.vhd (line 8, col 30):  (E10) Syntax error at/before reserved symbol
'is'.
----------------------------------------
WARP done.

Here's my code :
-----------------------
entity bytexor is
port (xin1,xin2 : in bit_vector(0 to 7);
  xout : out bit_vector(0 to 7));
end entity bytexor;

architecture behave of bytexor is
begin
compute:process(xin1,xin2) is
begin
  for index in 0 to 7 loop
    xout(index)<= xin1(index) xor xin2(index);
  end loop;
end process compute;
end architecture behave;
------------------------------------------------
I'd be glad if someone could help me out.
Thanks,
Pradeep Rao


Article: 20440
Subject: Altera vs Cypress?
From: Mary Frantz <maryfrantz@worldnet.att.net>
Date: Thu, 10 Feb 2000 16:25:37 GMT
Links: << >>  << T >>  << A >>
We have been using Lattice CPLD's (ispLSI1024, ispLSI2064, etc.) in the
past with Synopsis software and are dissatisfied with the performance of
both.  Our designs are generally quite simple (glue logic and
registers).  Does anyone have a recommendation either for or against
Altera (MAX7000 family) using MAXBaseline or MAXPlus, and Cypress (Ultra
37000 family) using Warp 5.2?  Any known hardware or software prolems?  

Thanks in advance.
Mary Frantz
Article: 20441
Subject: Xilinx error message
From: bjorn_lindegren@my-deja.com
Date: Thu, 10 Feb 2000 17:44:26 GMT
Links: << >>  << T >>  << A >>
Hi using Xilinx foundation2.1i. (xc9536 vq44-15)

Writing a VHDL program and recive an error
message:
The net'/ver1/klar' has more than one driver.

All of our variables are STD_LOGIC.

Thankful for help.

Björn Lindegren, Christian Jerkeborg

library IEEE;
use IEEE.std_logic_1164.all;

use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;

library SYNOPSYS;
use SYNOPSYS.attributes.all;

entity fyren1 is
  port (CLK: in STD_LOGIC;
        OSC: in STD_LOGIC;
        RESET: in STD_LOGIC;
        KLAR: inout STD_LOGIC;
        START: inout STD_LOGIC);
end;

architecture fyren1_arch of fyren1 is


-- SYMBOLIC ENCODED state machine: COUNT
type COUNT_type is (KLART, OSC0, OSC1, OSCSTART);
signal COUNT: COUNT_type;

-- SYMBOLIC ENCODED state machine: FEMTON
type FEMTON_type is (S1, S2);
signal FEMTON: FEMTON_type;

begin
--concurrent signal assignments


COUNT_machine: process (CLK)
--machine variables declarations
variable COUNTER: INTEGER range 0 to 100;

begin

if CLK'event and CLK = '1' then
	if START='1' then
		COUNT <= OSCSTART;
		COUNTER:=0;
		KLAR<='0';
	else
	case COUNT is
		when KLART =>
			KLAR<='1';
			if COUNTER<=3 then
				COUNT <= OSC0;
				KLAR<='0';
			end if;
		when OSC0 =>
			COUNTER:=COUNTER+1;
			if OSC='1' then
				COUNT <= OSC1;
				KLAR<='0';
			elsif COUNTER=3 then
				COUNT <= KLART;
			end if;
		when OSC1 =>
			if OSC='0' then
				COUNT <= OSC0;
				KLAR<='0';
			end if;
		when OSCSTART =>
			KLAR<='0';
			if OSC='1' then
				COUNT <= OSC1;
				KLAR<='0';
			end if;
		when others =>
			null;
	end case;
	end if;
end if;
end process;



FEMTON_machine: process (CLK)

begin

if CLK'event and CLK = '1' then
	if RESET='1' then
		FEMTON <= S1;
		KLAR<='0';
		START<='1';
		START<='0';
	else
	case FEMTON is
		when S1 =>
			START<='0';
			if KLAR<='1' then
				FEMTON <= S2;
				KLAR<='0';
				START<='1';
			end if;
		when S2 =>
			START<='0';
			if KLAR<='1' then
				FEMTON <= S1;
				KLAR<='0';
				START<='1';
			end if;
		when others =>
			null;
	end case;
	end if;
end if;
end process;

end fyren1_arch;


Sent via Deja.com http://www.deja.com/
Before you buy.
Article: 20442
Subject: Xilinx error message
From: bjorn_lindegren@my-deja.com
Date: Thu, 10 Feb 2000 17:44:28 GMT
Links: << >>  << T >>  << A >>
Hi using Xilinx foundation2.1i. (xc9536 vq44-15)

Writing a VHDL program and recive an error
message:
The net'/ver1/klar' has more than one driver.

All of our variables are STD_LOGIC.

Thankful for help.

Björn Lindegren, Christian Jerkeborg

library IEEE;
use IEEE.std_logic_1164.all;

use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;

library SYNOPSYS;
use SYNOPSYS.attributes.all;

entity fyren1 is
  port (CLK: in STD_LOGIC;
        OSC: in STD_LOGIC;
        RESET: in STD_LOGIC;
        KLAR: inout STD_LOGIC;
        START: inout STD_LOGIC);
end;

architecture fyren1_arch of fyren1 is


-- SYMBOLIC ENCODED state machine: COUNT
type COUNT_type is (KLART, OSC0, OSC1, OSCSTART);
signal COUNT: COUNT_type;

-- SYMBOLIC ENCODED state machine: FEMTON
type FEMTON_type is (S1, S2);
signal FEMTON: FEMTON_type;

begin
--concurrent signal assignments


COUNT_machine: process (CLK)
--machine variables declarations
variable COUNTER: INTEGER range 0 to 100;

begin

if CLK'event and CLK = '1' then
	if START='1' then
		COUNT <= OSCSTART;
		COUNTER:=0;
		KLAR<='0';
	else
	case COUNT is
		when KLART =>
			KLAR<='1';
			if COUNTER<=3 then
				COUNT <= OSC0;
				KLAR<='0';
			end if;
		when OSC0 =>
			COUNTER:=COUNTER+1;
			if OSC='1' then
				COUNT <= OSC1;
				KLAR<='0';
			elsif COUNTER=3 then
				COUNT <= KLART;
			end if;
		when OSC1 =>
			if OSC='0' then
				COUNT <= OSC0;
				KLAR<='0';
			end if;
		when OSCSTART =>
			KLAR<='0';
			if OSC='1' then
				COUNT <= OSC1;
				KLAR<='0';
			end if;
		when others =>
			null;
	end case;
	end if;
end if;
end process;



FEMTON_machine: process (CLK)

begin

if CLK'event and CLK = '1' then
	if RESET='1' then
		FEMTON <= S1;
		KLAR<='0';
		START<='1';
		START<='0';
	else
	case FEMTON is
		when S1 =>
			START<='0';
			if KLAR<='1' then
				FEMTON <= S2;
				KLAR<='0';
				START<='1';
			end if;
		when S2 =>
			START<='0';
			if KLAR<='1' then
				FEMTON <= S1;
				KLAR<='0';
				START<='1';
			end if;
		when others =>
			null;
	end case;
	end if;
end if;
end process;

end fyren1_arch;


Sent via Deja.com http://www.deja.com/
Before you buy.
Article: 20443
Subject: Re: Spartan and timing analyzer: clock nets using non-dedicated
From: Peter Alfke <peter@xilinx.com>
Date: Thu, 10 Feb 2000 09:51:06 -0800
Links: << >>  << T >>  << A >>
I think ( am not quite sure ) that the software tries to tell you that you have

two clock domains that are not perfectly aligned. The 40 MHz clock edges are
inevitably delayed from the 80 MHz clock edges. This can cause all sorts of
ugly hold-time problems and race conditions, if data communicates from
the 80 MHz to the 40 MHz clock domain. (No problem in the other direction).

If you really know what you are doing, this is no problem. If (heaven forbid)
you were ( subjunctive case! ) naive, this might not work e.g. at low
temperature.
Safe solution: run everything at 80 MHz and distribute a 40 MHz clock enable to

the appropriate flip-flops.
Then your whole design is totally synchronous.

Peter Alfke, Xilinx Applications
======================================
Andy Peters wrote:

> I've got a fairly simple all-VHDL Spartan design (easily fits into an
> XCS20XL-4 using 119 of the 400 CLBs) with an annoying "problem."  Tools are
> FPGA Express v3.3 and F2.1i SP4.  It takes in an 80 MHz clock and uses that
> clock for some of the logic, and also divides it by two to generate a 40 MHz
> clock which drives the rest of the logic.
>
> The tools are smart: FPGA Express inferred a BUFGLS for the 80 MHz clock and
> another one for the 40 MHz clock.  I confirmed this by looking at the design
> in the FPGA Editor.  I set up period constraints for the 80 MHz and the 40
> MHz logic.  P+R was fine and the timing analyzer tells me that I meet all of
> my constraints with margin to spare.
>
> But there's a warning: "Timing:33:Clock nets using non-dedicated resources
> were found in this design.  Clock skew on these resources will not be
> automatically adress during path analysis.  To create a timing report that
> analyzes clock skew for these paths, run trce with the '-skew' option."
>
> OK, I did and I still meet timing.  My question:
>
> How do I (easily) find what/where these alleged non-dedicated resources are?
>
> -----------------------------------------
> Andy Peters
> Sr Electrical Engineer
> National Optical Astronomy Observatories
> 950 N Cherry Ave
> Tucson, AZ 85719
> apeters (at) noao \dot\ edu
>
> "Money is property; it is not speech."
>             -- Justice John Paul Stevens

Article: 20444
Subject: Re: SRAM part question
From: Tom Burgess <tom.burgess@hia.nrc.ca>
Date: Thu, 10 Feb 2000 10:11:37 -0800
Links: << >>  << T >>  << A >>
You could try the sci.electronics.components newsgroup -
they have lots of traffic on this sort of topic.

-- 
Tom Burgess
-- 
Digital Engineer
National Research Council of Canada
Herzberg Institute of Astrophysics
Dominion Radio Astrophysical Observatory
P.O. Box 248, Penticton, B.C.
Canada V2A 6K3

Email:        tom.burgess@hia.nrc.ca
Office:       (250) 490-4360 
Switch Board: (250) 493-2277
Fax:          (250) 493-7767
Article: 20445
Subject: Re: VHDL and Xilinx Books for beginners
From: "Andy Peters" <apeters.Nospam@nospam.noao.edu.nospam>
Date: Thu, 10 Feb 2000 11:50:45 -0700
Links: << >>  << T >>  << A >>
Don Golding wrote in message ...
>We are using VHDL Primer by J. Bhasker in my class.  I recomend taking a
>college class to get started in using VHDL.  There is just too much to VHDL
>to successfully learn it by just reading a book.


I recommend doing a chip-design project in VHDL.  There is just too much to
VHDL to successfully learn it by taking a college course.

note: your first design will be embarrassing.  your third might be pretty
good, tho'.


-- a
-----------------------------------------
Andy Peters
Sr Electrical Engineer
National Optical Astronomy Observatories
950 N Cherry Ave
Tucson, AZ 85719
apeters (at) noao \dot\ edu

"Money is property; it is not speech."
            -- Justice John Paul Stevens



Article: 20446
Subject: Re: Spartan and timing analyzer: clock nets using non-dedicated resources
From: "Andy Peters" <apeters.Nospam@nospam.noao.edu.nospam>
Date: Thu, 10 Feb 2000 12:05:53 -0700
Links: << >>  << T >>  << A >>
Peter Alfke wrote in message <38A2FA54.F8AF795D@xilinx.com>...
>I think ( am not quite sure ) that the software tries to tell you that you
have
>
>two clock domains that are not perfectly aligned. The 40 MHz clock edges
are
>inevitably delayed from the 80 MHz clock edges. This can cause all sorts of
>ugly hold-time problems and race conditions, if data communicates from
>the 80 MHz to the 40 MHz clock domain. (No problem in the other direction).


Oh!  I see - that's an interesting point.  Clearly, there's skew between the
80 and 40 MHz domains - there's the clock-to-out delay of the flop that's
doing the dividing, the routing from that flop to the BUFGLS, plus the delay
through the BUFGLS.  Makes sense.  And I should have thought of it.

The signals that go between the 80 and 40 MHz domains are simply flags that
get set or reset.  These flags are used as clock enables (like, "turn
counter 3 on or off").

>If you really know what you are doing, this is no problem. If (heaven
forbid)
>you were ( subjunctive case! ) naive, this might not work e.g. at low
>temperature.

I *think* I know what I'm doing! :)

>Safe solution: run everything at 80 MHz and distribute a 40 MHz clock
enable to
>the appropriate flip-flops.
>Then your whole design is totally synchronous.


I've already done that - I just wanted to understand the warning.

thanks much--


-- a
-----------------------------------------
Andy Peters
Sr Electrical Engineer
National Optical Astronomy Observatories
950 N Cherry Ave
Tucson, AZ 85719
apeters (at) noao \dot\ edu

"Money is property; it is not speech."
            -- Justice John Paul Stevens



Article: 20447
Subject: Re: Xilinx error message
From: "Andy Peters" <apeters.Nospam@nospam.noao.edu.nospam>
Date: Thu, 10 Feb 2000 12:08:49 -0700
Links: << >>  << T >>  << A >>
bjorn_lindegren@my-deja.com wrote in message
<87utdp$k24$1@nnrp1.deja.com>...
>Hi using Xilinx foundation2.1i. (xc9536 vq44-15)
>
>Writing a VHDL program and recive an error
>message:
>The net'/ver1/klar' has more than one driver.
>
>All of our variables are STD_LOGIC.
>
[snip code]

You drive the signal klar from more than one process.

-- a
-----------------------------------------
Andy Peters
Sr Electrical Engineer
National Optical Astronomy Observatories
950 N Cherry Ave
Tucson, AZ 85719
apeters (at) noao \dot\ edu

"Money is property; it is not speech."
            -- Justice John Paul Stevens



Article: 20448
Subject: Re: Timing constraint on a DLL output
From: Kate Meilicke <Kate.Meilicke@xilinx.com>
Date: Thu, 10 Feb 2000 15:10:31 -0500
Links: << >>  << T >>  << A >>
Check out the following solution record:

http://support.xilinx.com/support/techsup/journals/timing/solution2586/virtex_clkdll_timing.html

If you put a period statement on the input clock to the DLL, the tools
will create new period constraints for all the output clocks.   It does
not constraint between clock boundaries. This must be done by creating
groups for each clock then doing a from to statement between clock
domains.

There are skew problems between clk0 and the 2x clock.

Kate

Article: 20449
Subject: Re: Spartan and timing analyzer: clock nets using non-dedicated
From: Tom Burgess <tom.burgess@hia.nrc.ca>
Date: Thu, 10 Feb 2000 12:34:42 -0800
Links: << >>  << T >>  << A >>
If you want to minimize skew uncertainty due to non-dedicated routing, you might want
to look into constraining the divide flip-flop and BUFGLS to be close together in the
same corner of the die. I don't know if the tools are smart enough to do this for you
(yet). You could take a look with EditLCA and see. It would be preferable to find a timing
constraint which achieves the same result (there probably is one - if you can find and decipher
the documentation). This also applies to Peter's suggestion of distributing a 40 MHz CE,
in which case you have to worry about meeting CE setup times back in the 80 MHz domain.
It looks like derived clocks will be much easier to deal with in the Virtex/Spartan 2 family.


Andy Peters wrote:
> <snipped>
> Oh!  I see - that's an interesting point.  Clearly, there's skew between the
> 80 and 40 MHz domains - there's the clock-to-out delay of the flop that's
> doing the dividing, the routing from that flop to the BUFGLS, plus the delay
> through the BUFGLS.  Makes sense.  And I should have thought of it.
> 

regards,
Tom Burgess
-- 
Digital Engineer
National Research Council of Canada
Herzberg Institute of Astrophysics
Dominion Radio Astrophysical Observatory
P.O. Box 248, Penticton, B.C.
Canada V2A 6K3

Email:        tom.burgess@hia.nrc.ca
Office:       (250) 490-4360 
Switch Board: (250) 493-2277
Fax:          (250) 493-7767


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