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 103425

Article: 103425
Subject: Re: timings
From: "Peter Alfke" <peter@xilinx.com>
Date: 1 Jun 2006 11:48:06 -0700
Links: << >>  << T >>  << A >>
Mixing rising and falling-edge triggering is sometimes used to avoid
hold-time problems when there is significant clock skew. Obviously, it
reduces the max operating clock rate by more than half.
A more conventional (and better and faster) approach uses low-skew
global clock distribution, and then clocks all flip-flops on the rising
edge.
Peter Alfke, Xilinx
============
Marco wrote:
> Hi,
> I'm working with Spartan3 and ISE 7.1, simulating a small VHDL test
> program I noted that signal updates within a process are done on clock
> rising edges, while cuncurrent assignments, out of the process, are
> done along falling edges.
> Is it all correct?
> Thanks,
> Marco


Article: 103426
Subject: Re: Using version control for Xilinx 8.1i ISE projects and source
From: Duane Clark <junkmail@junkmail.com>
Date: Thu, 01 Jun 2006 19:02:51 GMT
Links: << >>  << T >>  << A >>
Jim wrote:
> I am using Xilinx ISE 8.1i on Linux.
> 
> I have a bunch of Verilog and project files that I need to check in to
> our version control system (Perforce) so others can work on them as
> well.
> 
> How do file paths in the project files are handled? For example, when I
> work on the project the files are under /home/myname/...  but when
> somebody  else opens the project he sees the files under
> /home/othername/...
> 
> Can I have relative references from the project file to the source
> files?

Yet another pain in the butt with the new and better binary project 
files. Back when the project files were text, you could open them up in 
any text editor and change all the paths to relative paths. The Xilinx 
tools all have handled relative paths perfectly for every version of the 
software I have ever used, but now there seems to be no way to use them.

Article: 103427
Subject: Re: clockless arbiters on fpgas?
From: Jim Granville <no.spam@designtools.co.nz>
Date: Fri, 02 Jun 2006 07:33:41 +1200
Links: << >>  << T >>  << A >>
Falk Brunner wrote:

> Peter Alfke schrieb:
> 
>> The faster the circuitry, the smaller your "no-man's land" of
>> uncertainty, and the faster the resolutio.  I would, therefore, go with
>> the fastest LUT-based FPGA. You can imagine which one I have in mind.
> 
> 
> 22V10 ??
> 
> SCNR ;-)

When Peter wrote that, my imagination jumped to the new
(claimed ) 2GHz Async FPGAs , still comming...  ;)
-jg


Article: 103428
Subject: Re: clockless arbiters on fpgas?
From: "Tim" <tim@rockylogiccom.noooospam.com>
Date: Thu, 1 Jun 2006 20:53:04 +0100
Links: << >>  << T >>  << A >>

Adam Megacz  wrote
>
> I've been having a really hard time coming up with a design for a
> robust clockless arbiter in an FPGA, and was wondering if anybody here
> can provide input.  By robust, I mean that it works correctly with
> probability=1 and its output never glitches, but may take an unbounded
> amount of time to resolve.

Googling for "self-timed arbiter fpga" throws up several hits. At a very 
quick glance, this paper 
http://www.cl.cam.ac.uk/~swm11/research/papers/iccd1998.pdf seems relevant. 
In essence it's externally self-timed, but generates an internal clock when 
needed.

Here is a quote from the paper, supporting other remarks in this thread: 
"Designing an arbiter on an FPGA is even more dificult. In order to minimise 
metastability effects the built in flip-flops must be used. typically 
D-latches. since they will have the highest gain and lowest feedback times." 



Article: 103429
Subject: Re: Virtex4 FX12 - maximum frequency for Picoblaze
From: christopher.saunter@durham.ac.uk (c d saunter)
Date: Thu, 1 Jun 2006 21:35:48 +0000 (UTC)
Links: << >>  << T >>  << A >>
Falk Brunner (Falk.Brunner@gmx.de) wrote:
: Alexander Werger schrieb:
: > Hi,
: > in a test implementation (ISE 8.1) of a Picoblaze core in a XC4VFX12-10 
: > device the maximum frequency is about 110 MHz (55MIPS).
: > In the Picoblaze product brief 
: > (http://www.xilinx.com/bvdocs/ipcenter/data_sheet/picoblaze_productbrief.pdf) 
: > the performance is 102 MIPS -> 204MHz.
: > Anybody  has an idea how to increase the maximum frequency on our Picoblaze 
: > test implementation? Is there any reference implementation for the V4 FX12 

: Register the IO-bus. If you dont need access to BRAM via the IO bus, 
: this will increase clock speed significantly. I remember Picoblaze 
: reacing ~ 80 MHz in Spartan-3.

I'd second that - the Picoblaze reads IO on the second clock of the instruction 
so you get one register for free (timingwise).  One design I have needs two 
levels of registers to meet timing and I can afford to compensate for this in the 
software.  (So actually the second level of registers are only there to placate 
the timing analysis...)

I don't think the scratchpad is in the critical path, but if it is and you're 
not using it you could try cutting it out.

Looking at page 14 of ug129 the mux between the ALU/INPORT and the register file 
may be critical, so again if you don't need the scratchpad perhaps using that for 
IO with direct addressing and removing the INPORT and the downstream mux could 
speed things up.

An interesting project might be to automate the examination of the assembly file 
for a design and remval of unused ports / ALU functions etc. and see how much 
difference it makes.

cheers
cds

Article: 103430
Subject: Re: clockless arbiters on fpgas?
From: "Peter Alfke" <peter@xilinx.com>
Date: 1 Jun 2006 14:50:41 -0700
Links: << >>  << T >>  << A >>
Since signals A and B are each driven through interconnects with
unavoidable delay differences, any attempt to find out which of the two
signals arrived first has an unavoidable error. That error is much
larger than the width of the metastability capture window, which is
only fractional femtoseconds in a modern FPGA flip-flop.
The stated problem is not only unsolvable, but inherently meaningless.
How many angels can dance on the tip of a pin?
Peter Alfke, Xilinx

==================
Adam Megacz wrote:
> I've been having a really hard time coming up with a design for a
> robust clockless arbiter in an FPGA, and was wondering if anybody here
> can provide input.  By robust, I mean that it works correctly with
> probability=1 and its output never glitches, but may take an unbounded
> amount of time to resolve.
>
> Charles Seitz describes a solution in custom VLSI on page 260 of Mead
> and Conway's _Introduction to VLSI Systems_, but this assumes you have
> control over gate threshholds and can make some of them substantially
> higher than others.
>
> The basic component that causes problems is the "interlock", a module
> with two inputs A,B and two outputs X,Y.
>
>                           +---------------+
>                 A ----->  |               |  -----> X
>                           |   Interlock   |
>                 B ----->  |               |  -----> Y
>                           +---------------+
>
> All signals start low.  If A+ (A rises) before B+, then X+.  If B+
> before A+, then Y+.  Once one of the outputs rises, the other one will
> not rise until the device is reset (assume some sort of reset signal).
> The important part here is that the interlock can take as long as it
> likes to raise one of the outputs, but it must raise exactly one of
> them, and cannot lower it once raised (ie no glitching).
>
> I'm working with Atmel FPGAs, but advice based on other devices would
> be just as helpful.  I thought of using the "internal feedback line"
> to feed one of the 3-LUT's outputs back into one of its inputs as half
> of an interlock -- the state of the feedback line being used to
> determine if signal A+ has already arrived.  But the problem is that
> you might have A+ arrive, which causes the output of the 3-LUT to
> transition, but then B+ might arrive *before* the LUT's output
> transition arrives back at the third input to the LUT.
>
> Any pointers?  I've come across a rather depressing paper concluding
> that this isn't possible on the (extremely old) XC4000, but I'm sort
> of hoping against hope that things may have changed:
>
>   http://www.iccd-conference.org/proceedings/1998/90990360.pdf
>
> This paper claims to have a solution, but doesn't go into detail, so I
> suspect that they may be overlooking something.
>
>   http://citeseer.ist.psu.edu/maheswaran94hazardfree.html
>
> Thanks for any pointers...
>
>   - a
> 
> -- 
> PGP/GPG: 5C9F F366 C9CF 2145 E770  B1B8 EFB1 462D A146 C380


Article: 103431
Subject: Re: clockless arbiters on fpgas?
From: Jon Elson <jmelson@artsci.wustl.edu>
Date: Thu, 01 Jun 2006 17:04:46 -0500
Links: << >>  << T >>  << A >>


Peter Alfke wrote:

>Since signals A and B are each driven through interconnects with
>unavoidable delay differences, any attempt to find out which of the two
>signals arrived first has an unavoidable error. That error is much
>larger than the width of the metastability capture window, which is
>only fractional femtoseconds in a modern FPGA flip-flop.
>  
>
I think in the case where the two inputs rise almost simultaneously, then
it may be more important that the arbiter resolves one and only one output,
than it correctly identify which one was first.

Jon


Article: 103432
Subject: Re: clockless arbiters on fpgas?
From: dalai lamah <antonio12358@hotmail.com>
Date: Thu, 01 Jun 2006 22:30:21 GMT
Links: << >>  << T >>  << A >>
Un bel giorno Adam Megacz digitò:

> By robust, I mean that it works correctly with
> probability=1

I think Heisenberg would have something to argue about this.

-- 
asd

Article: 103433
Subject: Re: clockless arbiters on fpgas?
From: "Peter Alfke" <peter@xilinx.com>
Date: 1 Jun 2006 16:01:07 -0700
Links: << >>  << T >>  << A >>

Jon Elson wrote:
> > I think in the case where the two inputs rise almost simultaneously, then
> it may be more important that the arbiter resolves one and only one output,
> than it correctly identify which one was first.
>
> Jon
That's what I addressd in my first response:
"If you reduce your requirements to an unambiguous output, even if it
is
the "wrong" one (whatever wrong means when things happen essentially
simultaneously) then the problem reminds me of metastability
resolution, which will usually occur in a short time (although
theoretically -but only theoretically- unbounded)."

Given any specific test condition, every additional nanosecond of
tolerable output delay increases the MTBF by ten decimal orders of
magnitude (every extra 100 ps increases the MTBF a factor of ten). This
was taken from XAPP094, which describes metastable recovery,
essentially the same problem... And Heisenberg is in agreement, I
checked with him  ;-)
Peter Alfke, Xilinx


Article: 103434
Subject: Re: Using part of CPLD to Invert Own Clock
From: "Jim" <me@privacy.net>
Date: Thu, 01 Jun 2006 23:29:33 GMT
Links: << >>  << T >>  << A >>
Many thanks, Austin, for your reply.
---
Jim

"Austin Lesea" <austin@xilinx.com> wrote in message 
news:e5ki8v$8a712@xco-news.xilinx.com...
> Jim,
>
> The CPLD you note is a 3.3V part, with a 5V input tolerance.  Any
> outputs will swing from 0 to 3.3V, not 0 to 5V.
>
> Other than that, inverting, or not inverting a signal is no problem
> (selection of a 2:1 mux with the inverted and non-inverted signal as
> inputs, output driving a pin).
>
> The jitter added is on the order of 20-50 ps p-p (a simple 74HC04
> inverter adds as much, and the delay will be something that you can get
> as a report from the design tools).
>
> Austin
>
> Jim wrote:
>> Hi,
>>
>> Apologies upfront if this is a really basic question, as I am rather new 
>> to
>> CPLDs.
>>
>> We have a 0-5V squarewave (approx 1MHz, approx 50% duty) that we wish to 
>> use
>> as the clock to a Xilinx CPLD (XC9572XL). We need to select at runtime
>> whether to clock on its rising edge or its falling edge. To achieve this, 
>> my
>> current thinking is to run this signal into a spare pin on the Xilinx. A
>> control line into the Xilinx will tell it to either invert the signal or
>> output it unchanged. This inverted/uninverted clock signal will then 
>> connect
>> to the Xilinx pin assigned as its clock source.
>>
>> Just wondering, does that sound seinsble, and is there anything I should 
>> be
>> wary of doing it this way? As I say, I am new to CPLDs so please don't 
>> rule
>> out something you believe to be too obvious to mention, thanks! The only
>> thing I can think of currently is the amount of delay added by the extra
>> routing of the clock, plus increased jitter. However, they should both be
>> within our requirements.
>>
>> Many thanks in advance.
>>
>> ---
>> Jim
>>
>>
>> 



Article: 103435
Subject: Building custom ASIC solutions
From: be.geek@gmail.com
Date: 1 Jun 2006 17:55:53 -0700
Links: << >>  << T >>  << A >>
Hi All,

Not sure if this is the right forum ... please point me if otherwise.

I am a hobbyist and making my first foray into building custom
hardware. I am interested in building my own VoIP device say using a
Broadcom chip
http://www.broadcom.com/products/Enterprise-Small-Office/IP-Phone-Products/BCM1112

As a total novice in this area, I would appreciate it if one could tell
me how to to go about building a device (step-by-step)?
1) Raw material required - PCBs, components, etc.
2) How to combine them correctly?
3) Expertise - although I am a novice, I am always willing to read up,
or is it that an expert is definitely required

Basically, I am unhappy about the current state of hardware, where I
have to pay for separate devices for every small feature I need.

Thanks.


Article: 103436
Subject: XIlinx 7.1i ISE problem with Spartan 3e design
From: "radarman" <jshamlet@gmail.com>
Date: 1 Jun 2006 18:16:15 -0700
Links: << >>  << T >>  << A >>
Guys/Gals,
I am primarily an Altera developer at work, so I have a lot more
experience with Quartus than ISE. (our site develops with both Altera
and Xilinx designs, but most of my projects have involved Altera
devices)

However, as the proud recipient of a Spartan 3E sample pack board, I
decided to give it a go. I am using the tool chain at work, because our
site has the 7.1 EDK and ChipScope tools installed. (EDK may be
overkill on a xc3s100e, but ChipScope seems like a useful tool) We
haven't licensed the 8.1i tool chain yet, so I don't have access to it
at work - though I can try it at home.

The problem is that the tool seems to have LOC's and BANK's confused.

I created a shell VHDL file that has all the I/O on the board defined,
and assigned each signal a static level just to get the project going.
I then started a new ISE project, told it to add my top-level VHD file,
and assigned the part. This all works fine, and the correct part number
is listed (xc3s100e-tq144).

Next, I run the "Assign Package Pins" to set the pinout. ISE creates a
blank .ucf file, and presents me with the PACE editor. This is where
the rub is. When I click on fields under LOC, I get bank numbers - not
pin locations. If I try to enter the pin location, the entry is
deleted.

So, I try to get fancy, and create my own .ucf file:

Net Clock_50     LOC = "122" | IOSTANDARD  = LVCMOS33 ;
Net FL_Status    LOC = "66"  | IOSTANDARD  = LVCMOS33 ;
Net FL_Addr<0>   LOC = "98"  | IOSTANDARD  = LVCMOS33 ;
Net FL_Addr<1>   LOC = "97"  | IOSTANDARD  = LVCMOS33 ;
Net FL_Addr<2>   LOC = "96"  | IOSTANDARD  = LVCMOS33 ;
Net FL_Addr<3>   LOC = "94"  | IOSTANDARD  = LVCMOS33 ;
Net FL_Addr<4>   LOC = "93"  | IOSTANDARD  = LVCMOS33 ;
Net FL_Addr<5>   LOC = "92"  | IOSTANDARD  = LVCMOS33 ;
Net FL_Addr<6>   LOC = "91"  | IOSTANDARD  = LVCMOS33 ;
Net FL_Addr<7>   LOC = "88"  | IOSTANDARD  = LVCMOS33 ;
Net FL_Addr<8>   LOC = "87"  | IOSTANDARD  = LVCMOS33 ;
Net FL_Addr<9>   LOC = "86"  | IOSTANDARD  = LVCMOS33 ;
Net FL_Addr<10>  LOC = "85"  | IOSTANDARD  = LVCMOS33 ;
Net FL_Addr<11>  LOC = "82"  | IOSTANDARD  = LVCMOS33 ;
Net FL_Addr<12>  LOC = "81"  | IOSTANDARD  = LVCMOS33 ;
Net FL_Addr<13>  LOC = "77"  | IOSTANDARD  = LVCMOS33 ;
Net FL_Addr<14>  LOC = "76"  | IOSTANDARD  = LVCMOS33 ;
Net FL_Addr<15>  LOC = "75"  | IOSTANDARD  = LVCMOS33 ;
Net FL_Addr<16>  LOC = "74"  | IOSTANDARD  = LVCMOS33 ;
Net FL_Addr<17>  LOC = "70"  | IOSTANDARD  = LVCMOS33 ;
Net FL_Addr<18>  LOC = "68"  | IOSTANDARD  = LVCMOS33 ;
Net FL_Addr<19>  LOC = "67"  | IOSTANDARD  = LVCMOS33 ;
Net FL_Addr<20>  LOC = "44"  | IOSTANDARD  = LVCMOS33 ;
Net FL_Addr<21>  LOC = "83"  | IOSTANDARD  = LVCMOS33 ;
Net FL_Data<0>   LOC = "63"  | IOSTANDARD  = LVCMOS33      | PULLUP ;
Net FL_Data<1>   LOC = "89"  | IOSTANDARD  = LVCMOS33      | PULLUP ;
Net FL_Data<2>   LOC = "58"  | IOSTANDARD  = LVCMOS33      | PULLUP ;
Net FL_Data<3>   LOC = "54"  | IOSTANDARD  = LVCMOS33      | PULLUP ;
Net FL_Data<4>   LOC = "53"  | IOSTANDARD  = LVCMOS33      | PULLUP ;
Net FL_Data<5>   LOC = "52"  | IOSTANDARD  = LVCMOS33      | PULLUP ;
Net FL_Data<6>   LOC = "51"  | IOSTANDARD  = LVCMOS33      | PULLUP ;
Net FL_Data<7>   LOC = "50"  | IOSTANDARD  = LVCMOS33      | PULLUP ;
Net FL_Data<8>   LOC = "78"  | IOSTANDARD  = LVCMOS33      | PULLUP ;
Net FL_Data<9>   LOC = "84"  | IOSTANDARD  = LVCMOS33      | PULLUP ;
Net FL_Data<10>  LOC = "89"  | IOSTANDARD  = LVCMOS33      | PULLUP ;
Net FL_Data<11>  LOC = "95"  | IOSTANDARD  = LVCMOS33      | PULLUP ;
Net FL_Data<12>  LOC = "101" | IOSTANDARD  = LVCMOS33      | PULLUP ;
Net FL_Data<13>  LOC = "107" | IOSTANDARD  = LVCMOS33      | PULLUP ;
Net FL_Data<14>  LOC = "111" | IOSTANDARD  = LVCMOS33      | PULLUP ;
Net FL_Data<15>  LOC = "114" | IOSTANDARD  = LVCMOS33      | PULLUP ;
Net FL_WE_n      LOC = "103" | IOSTANDARD  = LVCMOS33 ;
Net FL_CE0_n     LOC = "104" | IOSTANDARD  = LVCMOS33 ;
Net FL_OE_n      LOC = "105" | IOSTANDARD  = LVCMOS33 ;
Net FL_Byte_n    LOC = "106" | IOSTANDARD  = LVCMOS33 ;
Net PortA<0>     LOC = "14"  | IOSTANDARD  = LVCMOS33 ;
Net PortA<1>     LOC = "15"  | IOSTANDARD  = LVCMOS33 ;
Net PortA<2>     LOC = "16"  | IOSTANDARD  = LVCMOS33 ;
Net PortA<3>     LOC = "17"  | IOSTANDARD  = LVCMOS33 ;
Net PortB<0>     LOC = "20"  | IOSTANDARD  = LVCMOS33 ;
Net PortB<1>     LOC = "21"  | IOSTANDARD  = LVCMOS33 ;
Net PortB<2>     LOC = "22"  | IOSTANDARD  = LVCMOS33 ;
Net PortB<3>     LOC = "23"  | IOSTANDARD  = LVCMOS33 ;
Net PortC<0>     LOC = "25"  | IOSTANDARD  = LVCMOS33 ;
Net PortC<1>     LOC = "26"  | IOSTANDARD  = LVCMOS33 ;
Net PortC<2>     LOC = "29"  | IOSTANDARD  = LVCMOS33 ;
Net PortC<3>     LOC = "32"  | IOSTANDARD  = LVCMOS33 ;
Net PortD<0>     LOC = "33"  | IOSTANDARD  = LVCMOS33 ;
Net PortD<1>     LOC = "34"  | IOSTANDARD  = LVCMOS33 ;
Net PortD<2>     LOC = "35"  | IOSTANDARD  = LVCMOS33 ;
Net PortD<3>     LOC = "40"  | IOSTANDARD  = LVCMOS33 ;
Net P1           LOC = "6"   | IOSTANDARD  = LVCMOS33 ;
NET P2           LOC = "10"  | IOSTANDARD  = LVCMOS33 ;
NET P3           LOC = "8"   | IOSTANDARD  = LVCMOS33 ;
NET P4           LOC = "12"  | IOSTANDARD  = LVCMOS33 ;
NET LED<1>       LOC = "142" | IOSTANDARD  = LVCMOS33 ;
NET LED<2>       LOC = "43"  | IOSTANDARD  = LVCMOS33 ;
NET LED<3>       LOC = "2"   | IOSTANDARD  = LVCMOS33 ;
NET LED<4>       LOC = "3"   | IOSTANDARD  = LVCMOS33 ;
NET LED<5>       LOC = "4"   | IOSTANDARD  = LVCMOS33 ;
NET LED<6>       LOC = "5"   | IOSTANDARD  = LVCMOS33 ;
NET LED<7>       LOC = "7"   | IOSTANDARD  = LVCMOS33 ;
NET Button       LOC = "18"  | IOSTANDARD  = LVCMOS33 ;
NET WE_A         LOC = "140" | IOSTANDARD  = LVCMOS33 ;
NET OE_A         LOC = "139" | IOSTANDARD  = LVCMOS33 ;
NET CSA          LOC = "135" | IOSTANDARD  = LVCMOS33 ;
NET LSBCLK       LOC = "134" | IOSTANDARD  = LVCMOS33 ;
NET MA1_DB<0>    LOC = "132" | IOSTANDARD  = LVCMOS33 ;
NET MA1_DB<1>    LOC = "131" | IOSTANDARD  = LVCMOS33 ;
NET MA1_DB<2>    LOC = "130" | IOSTANDARD  = LVCMOS33 ;
NET MA1_DB<3>    LOC = "129" | IOSTANDARD  = LVCMOS33 ;
NET MA1_DB<4>    LOC = "128" | IOSTANDARD  = LVCMOS33 ;
NET MA1_DB<5>    LOC = "126" | IOSTANDARD  = LVCMOS33 ;
NET MA1_DB<6>    LOC = "125" | IOSTANDARD  = LVCMOS33 ;
NET MA1_DB<7>    LOC = "124" | IOSTANDARD  = LVCMOS33 ;
NET MA1_AStb     LOC = "123" | IOSTANDARD  = LVCMOS33 ;
NET MA1_DStb     LOC = "113" | IOSTANDARD  = LVCMOS33 ;
NET MA1_Write    LOC = "117" | IOSTANDARD  = LVCMOS33 ;
NET MA1_Wait     LOC = "116" | IOSTANDARD  = LVCMOS33 ;
NET MA1_Reset    LOC = "56"  | IOSTANDARD  = LVCMOS33 ;
NET MA1_Int      LOC = "112" | IOSTANDARD  = LVCMOS33 ;
NET GPIO_CCLK    LOC = "71"  | IOSTANDARD  = LVCMOS33 ;
NET GPIN_0       LOC = "136" | IOSTANDARD  = LVCMOS33 ;
NET GPIN_1       LOC = "141" | IOSTANDARD  = LVCMOS33 ;
NET GPIN_p       LOC = "119" | IOSTANDARD  = LVCMOS33 ;
NET GPIN_n       LOC = "120" | IOSTANDARD  = LVCMOS33 ;

(Note, I had a technician at work route some unused I/O to the
connector)

This seems to work, until I get to the mapping phase, where EVERY
SINGLE LOCATION is invalid. I get a string of warning messages like the
following:

ERROR:MapLib:30 - LOC constraint 122 on Clock_50 is invalid: No such
site on the
   device. To bypass this error set the environment variable
'XIL_MAP_LOCWARN'.

BTW - for owners of this board, Clock_50 is the 50MHz clock on GCLK4.

So, did I do something wrong, or is my install of ISE 7.1i fouled up? I
did a clean install of ISE 7.1i to a "virgin" machine (no other version
of ISE has ever been installed on this system) and applied SP4. I then
installed the EDK, and ChipScope.

Note, when I go into PACE, the pin data shows up in the correct column,
but if I try to change it, the field is erased as before.

Thanks!
-Seth


Article: 103437
Subject: Re: Building custom ASIC solutions
From: pbdelete@spamnuke.ludd.luthdelete.se.invalid
Date: 02 Jun 2006 01:20:41 GMT
Links: << >>  << T >>  << A >>
be.geek@gmail.com wrote:
>Hi All,

>Not sure if this is the right forum ... please point me if otherwise.

>I am a hobbyist and making my first foray into building custom
>hardware. I am interested in building my own VoIP device say using a
>Broadcom chip
>http://www.broadcom.com/products/Enterprise-Small-Office/IP-Phone-Products/BCM1112

Make sure you get the datasheet with all register/timeing details etc. Before
even considering the chip. Broadcom have required NDA previously.
You should make sure you are aware of it's implications. This caused some
trouble writeing drivers for oss systems.

The chip is BGA  (http://en.wikipedia.org/wiki/BGA) which is not novice
friendly package at all. You will need to heat it to ca 180 °C and then
heat it to 230 °C (?) for like 20s. This is done with IR heat asfair.
Converted kitchen ovens are reported to be useful too ;)

>As a total novice in this area, I would appreciate it if one could tell
>me how to to go about building a device (step-by-step)?
>1) Raw material required - PCBs, components, etc.

Get a electric cad program. If you want it free use gschem/pcb.
To have the pcb made you need to have the gerber files (.gbr).

>2) How to combine them correctly?

Read said datasheets and consider what you want into your "box".
Pay attention to grounding, decoupling, impedance, termination, power
circuitry. They will cause trouble anytime you forget them ;)

>3) Expertise - although I am a novice, I am always willing to read up,
>or is it that an expert is definitely required

>Basically, I am unhappy about the current state of hardware, where I
>have to pay for separate devices for every small feature I need.

It will happen as long as people won't do like you maybe will ;)




Article: 103438
Subject: Re: XIlinx 7.1i ISE problem with Spartan 3e design
From: "Andrew FPGA" <andrew.newsgroup@gmail.com>
Date: 1 Jun 2006 18:26:49 -0700
Links: << >>  << T >>  << A >>
Hi,
For a SP3 TQ144 package I use UCF statements like:

NET "cpuData<0>"  		LOC = P141 	| IOSTANDARD=LVCMOS33 | SLEW=SLOW |
DRIVE=8;

Also make sure you are actually driving or reading the pin with your
design, otherwise the tools will strip it out and fail to attach the
LOC constraint. But in that case I think it gives a different error
message than the one you are getting...

Regards
Andrew

radarman wrote:
> Guys/Gals,
> ....



Article: 103439
Subject: Delay or latency
From: "Fizzy" <fpgalearner@gmail.com>
Date: 1 Jun 2006 18:33:07 -0700
Links: << >>  << T >>  << A >>
Why system generator block accepts delay block with zero latency. I
always thought latency is actually the delay if that's right delay
block should have minimum of 1 latency. Is my understanding is wrong if
not than can some buddy tell me what is the difference between latency
and delay and why delay block can have zero latency

Thanks


Article: 103440
Subject: Re: Building custom ASIC solutions
From: be.geek@gmail.com
Date: 1 Jun 2006 19:20:56 -0700
Links: << >>  << T >>  << A >>
Thanks a lot for the reply. I am learning already ... :)

Will start out modest as suggested to get a hang of things.

--

pbdelete@spamnuke.ludd.luthdelete.se.invalid wrote:
> be.geek@gmail.com wrote:
> >Hi All,
>
> >Not sure if this is the right forum ... please point me if otherwise.
>
> >I am a hobbyist and making my first foray into building custom
> >hardware. I am interested in building my own VoIP device say using a
> >Broadcom chip
> >http://www.broadcom.com/products/Enterprise-Small-Office/IP-Phone-Produc=
ts/BCM1112
>
> Make sure you get the datasheet with all register/timeing details etc. Be=
fore
> even considering the chip. Broadcom have required NDA previously.
> You should make sure you are aware of it's implications. This caused some
> trouble writeing drivers for oss systems.
>
> The chip is BGA  (http://en.wikipedia.org/wiki/BGA) which is not novice
> friendly package at all. You will need to heat it to ca 180 =B0C and then
> heat it to 230 =B0C (?) for like 20s. This is done with IR heat asfair.
> Converted kitchen ovens are reported to be useful too ;)
>
> >As a total novice in this area, I would appreciate it if one could tell
> >me how to to go about building a device (step-by-step)?
> >1) Raw material required - PCBs, components, etc.
>
> Get a electric cad program. If you want it free use gschem/pcb.
> To have the pcb made you need to have the gerber files (.gbr).
>
> >2) How to combine them correctly?
>
> Read said datasheets and consider what you want into your "box".
> Pay attention to grounding, decoupling, impedance, termination, power
> circuitry. They will cause trouble anytime you forget them ;)
>
> >3) Expertise - although I am a novice, I am always willing to read up,
> >or is it that an expert is definitely required
>
> >Basically, I am unhappy about the current state of hardware, where I
> >have to pay for separate devices for every small feature I need.
>=20
> It will happen as long as people won't do like you maybe will ;)


Article: 103441
Subject: Re: Building custom ASIC solutions
From: be.geek@gmail.com
Date: 1 Jun 2006 19:23:11 -0700
Links: << >>  << T >>  << A >>
Are there any starter kits out there to begin with?

I do do SW, but hope that I can run Linux on it with little or no
modifications.

--

Dave wrote:
> On Thu, 01 Jun 2006 17:55:53 -0700, be.geek wrote:
>
> > Hi All,
> >
> > Not sure if this is the right forum ... please point me if otherwise.
> >
> > I am a hobbyist and making my first foray into building custom
> > hardware. I am interested in building my own VoIP device say using a
> > Broadcom chip
> > http://www.broadcom.com/products/Enterprise-Small-Office/IP-Phone-Products/BCM1112
> >
> > As a total novice in this area, I would appreciate it if one could tell
> > me how to to go about building a device (step-by-step)?
> > 1) Raw material required - PCBs, components, etc.
> > 2) How to combine them correctly?
> > 3) Expertise - although I am a novice, I am always willing to read up,
> > or is it that an expert is definitely required
> >
> > Basically, I am unhappy about the current state of hardware, where I
> > have to pay for separate devices for every small feature I need.
>
> You might want to set your sights a little lower, initially.  Start with
> some simple schematics you draw and then breadboard and debug.  Work to
> more complexity and then begin to fab some simple PCBs.  Learn soldering
> with simple components first before you try expensive parts--it is not as
> simple as it seems, especially for small closely spaced leads.  BGAs are a
> whole different story as far as soldering.
>
> Do you program?  SW will be a major component of your finished design.
> 
> 
>     ~Dave~


Article: 103442
Subject: Re: Building custom ASIC solutions
From: Dave <dave@comteck.com>
Date: Thu, 01 Jun 2006 22:01:36 -0500
Links: << >>  << T >>  << A >>
On Thu, 01 Jun 2006 17:55:53 -0700, be.geek wrote:

> Hi All,
> 
> Not sure if this is the right forum ... please point me if otherwise.
> 
> I am a hobbyist and making my first foray into building custom
> hardware. I am interested in building my own VoIP device say using a
> Broadcom chip
> http://www.broadcom.com/products/Enterprise-Small-Office/IP-Phone-Products/BCM1112
> 
> As a total novice in this area, I would appreciate it if one could tell
> me how to to go about building a device (step-by-step)?
> 1) Raw material required - PCBs, components, etc.
> 2) How to combine them correctly?
> 3) Expertise - although I am a novice, I am always willing to read up,
> or is it that an expert is definitely required
> 
> Basically, I am unhappy about the current state of hardware, where I
> have to pay for separate devices for every small feature I need.

You might want to set your sights a little lower, initially.  Start with
some simple schematics you draw and then breadboard and debug.  Work to
more complexity and then begin to fab some simple PCBs.  Learn soldering
with simple components first before you try expensive parts--it is not as
simple as it seems, especially for small closely spaced leads.  BGAs are a
whole different story as far as soldering.

Do you program?  SW will be a major component of your finished design.


    ~Dave~

Article: 103443
Subject: Re: XIlinx 7.1i ISE problem with Spartan 3e design
From: "radarman" <jshamlet@gmail.com>
Date: 1 Jun 2006 20:57:18 -0700
Links: << >>  << T >>  << A >>

Andrew FPGA wrote:
> Hi,
> ...

Thanks! That worked great. Apparently the 'P' is important.

However, I still don't know why I couldn't enter the information using
PACE. The drop-down boxes showed bank numbers, not pin numbers - and
the column for BANK was grayed out.

Still, typing the info directly into the .ucf is much quicker, so I'm
not that disturbed by that. (yet)

As an aside, I discovered that Digilent did some strange things when
they built this board. Half of the flash-bus is input-only. 2 of the 8
signals in MA1_DB are input-only. I would have dropped some of the
other signals to make all of the databus read-write - but hey, it was
free!

-Seth


Article: 103444
Subject: Re: Using version control for Xilinx 8.1i ISE projects and source files
From: "Jim" <cairosearch@gmail.com>
Date: 1 Jun 2006 21:02:22 -0700
Links: << >>  << T >>  << A >>
I think we have a working workaround.

Let's say the project root at /home/myname/myproject. Make a directory
called 'stable_root' (or any other name you like) under /usr/local.
Then run the command 'mount --bind /home/myname/myproject
/usr/local/stable_root'.

This will map your project root to /usr/local/stable_root. Now, use in
your ISE project only file pathes that start with
/usr/local/stable_root. When other users need to work on the project,
they should do the same mapping and the paths in the project will work
for them.

Notes:
1. Setting up /usr/local/stable_root as a symbolic link to
/home/myname/myproject does not work.
2. In Windows this can be done using the 'subst' command. Simply define
a stable driver letter 'y:' to the root of your project.

Hope this helps.

Jim

Jim wrote:
> I am using Xilinx ISE 8.1i on Linux.
>
> I have a bunch of Verilog and project files that I need to check in to
> our version control system (Perforce) so others can work on them as
> well.
>
> How do file paths in the project files are handled? For example, when I
> work on the project the files are under /home/myname/...  but when
> somebody  else opens the project he sees the files under
> /home/othername/...
>
> Can I have relative references from the project file to the source
> files?
> 
> Any other suggestion?
> 
> Thanks,
> 
> Joe


Article: 103445
Subject: Re: Delay or latency
From: "Bob" <nimby1_NEEDSPAM@earthlink.net>
Date: Fri, 02 Jun 2006 05:16:53 GMT
Links: << >>  << T >>  << A >>

"Fizzy" <fpgalearner@gmail.com> wrote in message 
news:1149211987.152172.169510@g10g2000cwb.googlegroups.com...
> Why system generator block accepts delay block with zero latency. I
> always thought latency is actually the delay if that's right delay
> block should have minimum of 1 latency. Is my understanding is wrong if
> not than can some buddy tell me what is the difference between latency
> and delay and why delay block can have zero latency
>
> Thanks
>

I'm getting dizzy.

Bob



Article: 103446
Subject: Re: Using ChipScope with EDK flow?
From: saumyajit_tech@yahoo.co.in
Date: 2 Jun 2006 00:00:17 -0700
Links: << >>  << T >>  << A >>
Hi Peter,

I wanted to know few things from your explaination.

1) Did you mean that you can use both Debugger (xmd) and Chip scope at
the same time?

2) You mentioned a nice point saying " stop the processor on a
Chipscopre trigger event or  trigger ChipScope on a software
breakpoint"

How do you do this ? I am verymuch curious to know more about this.
If you can send me some links, then it will be really nice.

Regards,
saumyajit



Peter Ryser wrote:
> XMD and ChipScope DO coexist on the same JTAG chain. You can even
> cross-trigger, i.e. stop the processor on a Chipscopre trigger event or
> trigger ChipScope on a software breakpoint to get a complete picture of
> your hardware/software system at the time of the event.
>
> - Peter
>
> Ben Jones wrote:
> > Hi Joel,
> >
> > "Joel" <jceven@gmail.com> wrote in message
> > news:1149173927.595412.96800@h76g2000cwa.googlegroups.com...
> >
> >>Xilinx gurus,
> >
> >
> >>I want to use a ChipScope ILA or 2 in an EDK design.
> >>...
> >>What say you Xilinx gurus out there?
> >
> >
> > What version of EDK are you using?
> >
> > To the best of my knowledge, the chipscope ILA, IBAs and VIO modules are
> > available in the EDK IP catalog (under "Debug"). You can drop these in just
> > like any other IP block (you need to add a chipscope "ICON" block and wire
> > that up too).
> >
> > Not sure whether the debugger and chipscope will co-exist on the same JTAG
> > chain (I'm fairly sure they won't). I believe you can get round this by
> > means of a debugger connection over RS232, using an XMD "stub" - but don't
> > quote me on that; I never did it!
> > 
> > Cheers,
> > 
> >        -Ben-
> > 
> >


Article: 103447
Subject: Simulating post par simulation model
From: "vssumesh" <vssumesh_asic@yahoo.com>
Date: 2 Jun 2006 00:27:13 -0700
Links: << >>  << T >>  << A >>
Hello all,
       I am trying to simulate a post par simulation model of a design
which contains block RAMs. The source code is simulated using the
simulation block RAM model. And the internal memory is accessed using
'.' operator. This suceessfully simulated. But when i tried to imulte
the post par model an error occured. I have used the X_ library files
for simulation.
     Initially i simulted and only accessed the output signals. This
version simulated successfully. But when i tried to access the internal
memory using . operator. At the time of loading the design an error
occured. It reported no load error for a mux which is not part of the
RAM. Found no reation between the error reported mux and the RAM. Why
this condition. I just tried to access the RAM in the simulation. What
could be the problem.
regards
Sumesh


Article: 103448
Subject: Re: Building custom ASIC solutions
From: Dave <dave@comteck.com>
Date: Fri, 02 Jun 2006 03:22:43 -0500
Links: << >>  << T >>  << A >>
On Thu, 01 Jun 2006 19:23:11 -0700, be.geek wrote:

>> > Not sure if this is the right forum ... please point me if otherwise.
>> >
>> > I am a hobbyist and making my first foray into building custom
>> > hardware. I am interested in building my own VoIP device say using a
>> > Broadcom chip

This is the wrong group for this discussion.  But I'm not sure which is
the right group--anyone?  comp.arch.embedded perhaps.


    ~Dave~

Article: 103449
Subject: Re: Simulating post par simulation model
From: mk<kal*@dspia.*comdelete>
Date: Fri, 02 Jun 2006 08:39:03 GMT
Links: << >>  << T >>  << A >>
On 2 Jun 2006 00:27:13 -0700, "vssumesh" <vssumesh_asic@yahoo.com>
wrote:

>Hello all,
>       I am trying to simulate a post par simulation model of a design
>which contains block RAMs. The source code is simulated using the
>simulation block RAM model. And the internal memory is accessed using
>'.' operator. This suceessfully simulated. But when i tried to imulte
>the post par model an error occured. I have used the X_ library files
>for simulation.
>     Initially i simulted and only accessed the output signals. This
>version simulated successfully. But when i tried to access the internal
>memory using . operator. At the time of loading the design an error
>occured. It reported no load error for a mux which is not part of the
>RAM. Found no reation between the error reported mux and the RAM. Why
>this condition. I just tried to access the RAM in the simulation. What
>could be the problem.
>regards
>Sumesh

accessing the internal memory with '.' (verilog's hierarchical access
operator i am assuming) will not work after p&r. you have to use the
memory as a memory ie give an address at its ports and get the data
from the data ports. as you say "block ram model" is just a model.



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