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 43075

Article: 43075
Subject: Re: Eliminating Hierarchy in Xilinx XST
From: eraffinan@tspi.com.ph (Edzel)
Date: 13 May 2002 01:09:30 -0700
Links: << >>  << T >>  << A >>
Kevin Brace <ihatespam99kevinbraceusenet@ihatespam99hotmail.com> wrote in message news:<abn893$r1u$1@newsreader.mailgate.org>...
> 
>         I believe if you don't specify whether or not you want the
> hierarchy preserved by attaching a 'keep_hierarchy' synthesis attribute,
> then XST will use the global keep hierarchy option instead.
> The global keep hierarchy option is, of course, located under Synthesize
> -> Properties -> Xilinx Specific Options or Synthesis Options.
> If I want to add the keep hierarchy option to module_x and module_y, in
> addition to module_b and module_c, here is how it will look.
> 
> 
> ___________________________________________________________________________
> begin module_b
> 
>         attribute keep_hierarchy of module_b : entity is "yes";
> 
> end module_b;
> 
> 
> begin module_c
> 
>         attribute keep_hierarchy of module_c : entity is "yes";
> 
> end module_c;
> 
> 
> begin module_x
> 
>         attribute keep_hierarchy of module_x : entity is "yes";
> 
> end module_x;
> 
> 
> begin module_y
> 
>         attribute keep_hierarchy of module_y : entity is "yes";
> 
> end module_y;
> ___________________________________________________________________________
> 
>  
> 
> Just because module_x and module_y will be instantiated by module_b, you
> will still have to have a separate "begin ... end" statement for each
> module, and they won't be nested within module_b.
> So, to answer your second question of whether or not the syntax is the
> same for the submodules (instantiated modules), I believe the answer is
> yes.
> 

Yup, that sure did it. I've checked with the output EDN file and only the 
modules with the keep_hierarchy attribute set to "yes" remained. But 
something weird happened. The device usage still remained the same. There
were no improvements. I was hoping that by eliminating the hierarchy 
between the submodules, XST could do a better job of optimizing the logic
and area. Any comment on this?

Article: 43076
Subject: Re: Duplicating IOB FFs Without I/O Pads Being Inserted in XST
From: "Jerzy Gbur" <furia@wp.pl>
Date: Mon, 13 May 2002 11:28:48 +0200
Links: << >>  << T >>  << A >>
Hi
> > You know, this is a big problem and it's been around for many years.
> > It's a problem in any design where you need fast OE performance,
> > ZBT SRAMS, fast SDRAMs, etc.  I'm surprised Xilinx hasn't fixed this
> > long ago, I've complained to the support hotline on two different
> > projects.
[...]

I'm not sure I understood You have problems with FF in IOB?
Maybe You should look at (Xilinx) OnLine documentation in section:
Constraints (Keep Hierachy, IOB)
and VHDL - using "generate" or "loop"
Try

furia




Article: 43077
Subject: JVM using FPGAs
From: kirentanna@rediffmail.com (Kiren Tanna)
Date: 13 May 2002 06:17:48 -0700
Links: << >>  << T >>  << A >>
hi i am new to reconfigurable computing.

i am thinking of implementing the java virtual machine using fpgas for
my final year project. it shall be done on handel-c.

i would like comments on its feasibility and its practicability,

also if anyone has any material on the same i would be very obliged to
be sent those.

kirentanna@rediffmail.com

Article: 43078
Subject: Re: JVM using FPGAs
From: Christian Plessl <plessl@remove.tik.ee.ethz.ch>
Date: Mon, 13 May 2002 17:24:47 +0200
Links: << >>  << T >>  << A >>

> i am thinking of implementing the java virtual machine using fpgas for
> my final year project. it shall be done on handel-c.
> 
> i would like comments on its feasibility and its practicability,

You should search the web for this first, there are lots of projects doing 
exactly this..

For instance have a look at http://www.jopdesign.com/download.html or at 
http://www.fpgacpu.org/usenet/javaproc.html where the issue is discussed 
from a more general point of view.

You might also have a look at the Computer architecture book of Tannanbaum 
who describes an implementation of a restricted version of the JVM in 
detail.

If you implement just the simple arithmetic JVM instructions this should be 
not much differnt from targeting any other instruction set. But if you try 
to implement also the complex JVM instructions e.g. 'invokevirtual' it can 
get rather complex. Doing all in hardware i.e. dynamic class loading etc. 
will be an overkill, so you will end up by writing a supporting runtime 
library.

Regards,
 Chris

--
Christian Plessl
remove 'remove' from email-address when replying


Article: 43079
Subject: Virtex-II DCM Frequency Synthesis
From: Theodore.Marescaux@imec.be (Theo)
Date: 13 May 2002 08:48:47 -0700
Links: << >>  << T >>  << A >>
Hi all,

I have a problem meeting timing constraints when using a DCM on a
Virtex II (XC2V6000 speed grade 4. I use ISE 4.2 and Synplicity 7.0).
I am using the DCM to do frequency synthesis in order to multiply the
input clk (40 MHz) by a factor ranging from 2 to 5.

The idea is to feed the multiplied clk (clkfx) to one port of a
Dual-Port BRAM. All signals of the DP BRAM on the clkfx side are
mapped to FPGA pins (no logic levels in between). All other components
use the 40 MHz global clk.

To my understanding, this shouldn't have a big influence on the
maximum global clock frequency the design can reach. However, as soon
as I introduce the DCM, the timing constraints (40 MHz) are missed by
more 50%, on a design happily running at 45+ MHz otherwise.

I use the DCM with a feed-back from CLK0 and with the following
parameters:
 attribute DFS_FREQUENCY_MODE of U_DCM : label is "LOW";
 attribute DLL_FREQUENCY_MODE of U_DCM : label is "LOW"; 
 attribute DUTY_CYCLE_CORRECTION of U_DCM : label is "FALSE";
 attribute CLKFX_DIVIDE       of U_DCM : label is "2";
 attribute CLKFX_MULTIPLY     of U_DCM : label is "5";
 attribute STARTUP_WAIT       of U_DCM : label is "FALSE";
 attribute CLKIN_PERIOD       of U_DCM : label is "25 ns";
 attribute CLK_FEEDBACK       of U_DCM : label is "1X";-- using CLK0
as feedback

However, DRC does generate this laconic message:
INFO:DesignRules:547 - Blockcheck: To achieve optimal frequency
synthesis
   performance with the CLKFX and CLKFX180 outputs of the DCM comp
   ipaq_interface/clk_fx/U_DCM, consult the Virtex-II Interactive Data
Sheet.

No answer in the data sheet nor anywhere else on the web for me to
find. So any hints, clues, illuminations from you fpga-wizards are
welcome.

Regards,
Theo

Article: 43080
Subject: Re: [Xilinx] EEPROM recommendation
From: "Verleye Frank" <bn161501@belgacom.net>
Date: Mon, 13 May 2002 17:55:14 +0200
Links: << >>  << T >>  << A >>
See Atmel, www.atmel.com.

"Romans @mindspring.com>" <romans52<remove_this> schreef in bericht
news:gW_C8.80$sI5.11075835@newssvr21.news.prodigy.com...
> I'm trying to locate an EEPROM equivalent to the X17S100A (OTP used for
the
> Spartan2-100).  Do you have any recommendations?
>
> TIA,
> Yen
>
>



Article: 43081
Subject: Re: PCI bus software for Xilinx PCI core
From: Iwo Mergler <Iwo.mergler@soton.sc.philips.com>
Date: Mon, 13 May 2002 18:01:43 +0100
Links: << >>  << T >>  << A >>
Paul Smith wrote:
> 
> Thanks to Hal, Kevin, Stephen, and Steve for their very helpful replies.
>   I have a much better understanding of what's going on now and what to
> do next.
> 
> A couple more questions:
> 
> Should the memcpy() routine for accessing pci memory space?  We don't
> seem to be able to get it to work on an x86 linux box.

Depends whether your program runs in kernel or userspace. 

In kernel space, memcpy may work, but only on X86 and is not recommended.
The recommended method is to use the readb/readw/readl macros for read.
memcpy may be implemented as byte accesses. Can your hardware handle that?

In userspace memcpy won't work directly on the PCI address. You'll have to
mmap (see manual page) the address range and then you can use memcpy
on the returned pointer (if your hardware copes with single bytes).

Kind regards,

Iwo

Article: 43082
Subject: Architecture for high-level reconfigurable computing
From: micahjd@users.sourceforge.net (Micah Dowty)
Date: 13 May 2002 10:01:54 -0700
Links: << >>  << T >>  << A >>
A few days ago a friend of mine and I were inspired to build a new
computer architecture, with the intent of making it easy to split
tasks between hardware and software and implement them on a scalable
system. And it would all be Open Source.

So far this is still in the very early planning stages... There will
be an off-the-shelf microprocessor (like maybe a StrongArm) running a
conventional OS (Linux probably) combined with one or more FPGAs. The
FPGAs and processor would be connected together with a relatively slow
bus, with faster interconnect between adjacent FPGAs. Each fpga would
have extra peripherals attached, and optionally a bank of memory
separate from the CPUs memory.

There would be a new language for designing hardware and software
systems. Something along the lines of Handel-C, but object oriented.
The idea would be that an object would be a precompiled hardware
macro, and when it is instantiated it is loaded into the FPGA at
runtime and connected to an internal bus that allows objects to pass
messages between each other. It would be something of a combination
between Handel-C and Objective C.

Since both hardware and software objects would need to instantiate
hardware objects, the FPGAs would actually have to reconfigure
themselves. The CPU could perhaps use the boundary scan port to
configure a bootstrap circuit that would then allow partial
reconfiguration through the CPU's bus or the FPGA's message-passing
bus.

Anyway... Obviously this would be a huge effort, but to even get
started I would need open source tools for bitstream creation,
routing, etc, since there would need to be embedded software and/or
hardware to place the object macros and route the busses together.

I have read the threads at http://www.opencollector.org/news/Bitstream
on the subject. With projects like this in the realm of the possible,
it's quite annoying that the bitstream format is so closely guarded.
(especially since the design security issue is being addressed by
encryption in the Virtex II family)
In the mean time, I'll take a crack at reverse engineering the
bitstream for the Xilinx Spartan II. (Since that's what I have on
hand)

I would appreciate any comments on the feasibility of this whole idea.
I've puttered around with FPGAs for a while now, but I still can't
claim any serious experience.

--Micah

Article: 43083
Subject: Neverending ISA bus interface drama, Spartan-II
From: creon100@yahoo.com (Sean)
Date: 13 May 2002 12:14:56 -0700
Links: << >>  << T >>  << A >>
Well, I finally got the ISA bus working, but it took tacking 4.7k ohm
pull-up resistors outside the FPGA to pull the bus up to a full 5V to
do it.  However, that isn't the end of the story.  This was all for a
school project, one that will bleed over into summer work, and I
discovered last week that, as if by magic, the bus now works even when
I remove the pull-up resistors!!!  Either we have the most variant
wire-wrap wire in the world or the most variant FPGA in the world!!

I have noticed something odd though.  I cannot get it working using
the LVTTL io buffers at all.  It works fine with the PCI33_5 buffers,
but LVTTL is a no go (even when I put the pull-up resistors back on
the bus).  This is a mystery to me since they seem practically the
same.  The reason I was wanting to use LVTTL was because when I do a
16-bit ISA implementation I'd like to be able to specify the 24mA
drive current on the IOCS16 signal (since I've read that that signal
requires at least 20mA of drive).  The PCI33_5 doesn't allow you to
specify slew rate or drive current, and in the table for the PCI33_5
standard, under the current spec it has a note saying "tested
according to appropriate spec."  This would be fine if I could find a
spec sheet on PCI that mentioned current, which I can't.  I was just
wondering if I would have any current concerns using PCI33_5 instead
of LVTTL specified with 24mA of drive for the IOCS16 signal?

Would it be better to instantiate all of these buffers in my VHDL
rather than specifying everything in the constratin (.ucf) file as I'm
doing now?  I wouldn't imagine there would be any difference, but one
never knows.  The reason I ask is when I synthesize and implement my
code using Foundation the pad report says the ports use PCI33_5, but
when I go into FPGA Express and look at the optimized schematic it
shows OBUF_s_12 buffers no matter if I use LVTTL or PCI33_5.  I'm
attributing this to some kind of updating bug in FPGA Express though
as the two implementations are behaving differently (since PCI33_5
works and LVTTL doesn't), and it seems maybe FPGA Express just isn't
showing the buffers correctly or something.

If anyone has any ideas about the weird behavior of the bus feel free
to chime in on that too, as I'm about ready to chuck the whole thing
across the lab at this point :)

Sean

Article: 43084
Subject: Re: Neverending ISA bus interface drama, Spartan-II
From: Peter Alfke <Peter.Alfke@xilinx.com>
Date: Mon, 13 May 2002 13:00:34 -0700
Links: << >>  << T >>  << A >>
It would be helpful to be more specific.
Instead of "LVTTL does not work", say:
the Voh level is too low, or Vol is too high or too early, or too late....

These circuits do not mysteriously work or don't work. They show symptoms.

Peter Alfke

Sean wrote:

> Well, I finally got the ISA bus working, but it took tacking 4.7k ohm
> pull-up resistors outside the FPGA to pull the bus up to a full 5V to
> do it.  However, that isn't the end of the story.  This was all for a
> school project, one that will bleed over into summer work, and I
> discovered last week that, as if by magic, the bus now works even when
> I remove the pull-up resistors!!!  Either we have the most variant
> wire-wrap wire in the world or the most variant FPGA in the world!!
>
> I have noticed something odd though.  I cannot get it working using
> the LVTTL io buffers at all.  It works fine with the PCI33_5 buffers,
> but LVTTL is a no go (even when I put the pull-up resistors back on
> the bus).  This is a mystery to me since they seem practically the
> same.  The reason I was wanting to use LVTTL was because when I do a
> 16-bit ISA implementation I'd like to be able to specify the 24mA
> drive current on the IOCS16 signal (since I've read that that signal
> requires at least 20mA of drive).  The PCI33_5 doesn't allow you to
> specify slew rate or drive current, and in the table for the PCI33_5
> standard, under the current spec it has a note saying "tested
> according to appropriate spec."  This would be fine if I could find a
> spec sheet on PCI that mentioned current, which I can't.  I was just
> wondering if I would have any current concerns using PCI33_5 instead
> of LVTTL specified with 24mA of drive for the IOCS16 signal?
>
> Would it be better to instantiate all of these buffers in my VHDL
> rather than specifying everything in the constratin (.ucf) file as I'm
> doing now?  I wouldn't imagine there would be any difference, but one
> never knows.  The reason I ask is when I synthesize and implement my
> code using Foundation the pad report says the ports use PCI33_5, but
> when I go into FPGA Express and look at the optimized schematic it
> shows OBUF_s_12 buffers no matter if I use LVTTL or PCI33_5.  I'm
> attributing this to some kind of updating bug in FPGA Express though
> as the two implementations are behaving differently (since PCI33_5
> works and LVTTL doesn't), and it seems maybe FPGA Express just isn't
> showing the buffers correctly or something.
>
> If anyone has any ideas about the weird behavior of the bus feel free
> to chime in on that too, as I'm about ready to chuck the whole thing
> across the lab at this point :)
>
> Sean


Article: 43085
Subject: Re: Opinions on FPGA cores - best for a commercial project?
From: arast@inficom.com (Alex Rast)
Date: Mon, 13 May 2002 20:04:18 GMT
Links: << >>  << T >>  << A >>
In article <abhekf$11kc$1@agate.berkeley.edu>, nweaver@CSUA.Berkeley.EDU (Nicholas Weaver) wrote:
>In article <TKVC8.106$Kg.116730@news.uswest.net>,
>Alex Rast <arast@inficom.com> wrote:
>
>>First, a preliminary question. Several people have noted that the PCI
>>cores from Xilinx and Altera are both hard macros, ...
>>. But with the Xilinx version for example, can I still get
>>in with FPGA Editor and edit it manually? This is what I'd expect to
>>do anyway by way of tweaking - I think that the kinds of tweaks we
>>might need to do to get the PCI cores to work right in our device
>>would be at the hard-macro level anyway. So as long as I could do
>>this, the fact that both vendors supply only hard macros wouldn't be
>>a real obstacle.
>
>How much tweaking would you want/desire?  I'm assuming that, since the
>hard macros force the pins, the rest of the layout ends up being nice
>and constrained along the interfaces.

I didn't think the hard macros *force* the pins, in the sense that tools like 
FPGA editor wouldn't let you reassign the pins, by unrouting the macro 
connection and rerouting it to a different bonding pad. However, if you look 
inside the detailed low-level architecture, you find, with typical FPGA's, 
that the way the blocks are laid out on chip tend to force certain directions 
anyway, by the nature of what's convenient to route and place, so you usually 
end up with something pretty close to the original design anyway. What I would 
hope to be able to do with *any* IP core no matter what the provenance or 
application (i.e. PCI or any other large function) is to edit the block 
placement, routing channels, possibly pinout (less likely with PCI than with 
others) so as to be able to fit other things on board the chip most 
efficiently, or add functionality to the existing IP core.

>...
>> What we really
>>care about is delivering maximum value to the customer - and
>>customers expect products that work first time, every time, with a
>>minimum of installation, that don't break down in a day, or a month,
>>or a year, and that have high performance.
..
>This directly issues the ASIC vs FPGA tradeoff, and the size of the
>FPGA you would use.
>
>Small FPGAs (eg, Spartan II 300) are relatively cheap and have some
>other nice properties (namely, low inventory costs), so that, combined
>with the lower NRE cost, end up being quite nice, until you start
>talking considerable volume of ASICs
>
>Large FPGAs, on the other hand, are HIDEOUSLY expensive, so may not be
>that useful outside the small quantity, high markup section of the
>market.

What would concern us most about large FPGA's is, given their high prices, are 
the chip fabs able to produce them in high volume? (High prices would tend to 
suggest that the answer to this question is no). For a high-value application, 
for instance, the high price wouldn't necessarily be an issue, but even a 
50-cent part isn't going to do you any good if you can't get enough chips to 
meet demand. The smaller FPGA's arouse less concern about volume given that 
the lower price suggests bulk availability, and for many apps where 
ultra-complex functionality weren't necessary, would be the obvious solution.

>>Are you concerned about the possibility that someone will intercept the 
>>configuration bitstream and steal our IP? I don't think this is something you 
>>can prevent (at least, prevent people from trying) if you've got a hot 
>>technology. 
>
>Virtex II can (but is pricey, and I'm not sure what glue you need
>outside to do 5V PCI), or at least make the obstacle pretty damn high
>(extracting the value of SRAM cells).

You think their encryption is going to stop a determined opponent? NOT! If you 
have a good product and a clonemaker who really wants to gain market entry 
(i.e. the market is big enough), there'll be someone smart enough, persistent 
enough, or exhaustive enough to do it. In the limit, they'll just buy a bunch 
of FPGA's from the manufacturer (say 1000), integrate them into a big box, and 
brute-force it out. It's not worth trying to go to any special trouble to 
stop. We'll just do what a "reasonable company" might do and stop there.

..
>
>>>- Play devils advocate. What if somebody like me saw your product and wanted
>>>to copy it?...
>
>>As I said, I don't think this is something you can or should try to
>>prevent. ... From our perspective the most important thing to do is
>>design a product which has the most room for enhancement as new
>>silicon and technologies become available...

>Or patent things enough and sic the lawyers on them.

Nah. Of course you patent, but with the understanding that it's basically 
worth the paper it's printed on. Attorneys rarely solve anything. Big 
companies will simply drag on the case in court long enough to outlast you 
financially in terms of the fees they can shell out. Small companies can sue 
for nuisance value, and each lawsuit diverts energy which could have been put 
into product development or customer service, which weakens you as a company. 
Besides, once somebody else has a product out in the market, it doesn't 
matter. Most clones will take the position "we'll just build it and ship it. 
Let *them* sue if they want to. It'll take years for them to get a judgement, 
by which time we'll have market penetration anyway."

So why fight in the courtroom and try to get a legal solution to a business 
problem? Compete in the marketplace instead, and indeed let them have their 
position (commodity, usually) while you have yours (technology and 
reliability, typically). There's room for both without fighting. Everybody 
wins.

>
>>>- What are you views on IP protection? If I see a PCB with a configuration
>>>EPROM  I see something that can be copied and pushed on the grey market.
>
>>You've seen it all above. If they want to duplicate the hardware
>>slavishly, they probably can. If they want to intercept the
>>configuration bitstream, they probably can.
>
>I don't think large scale gray market cloning should be TOO much of a
>problem: with good inventory control and distribution on your side,
>bogus product should be fairly recogniseable:  Simply serial number
>everything, both the boards AND the configurations, and you should be
>able to track the leaks of configuration and cloners.
>

We might do that to provide better customer service (a customer always likes 
it when you can identify to him what product and configuration he's got, 
without him having to look it up or determine it for himself, especially when 
he might not know exactly what information you're looking for), and what IP 
protection we got as a result would be a side benefit. The one thing we'd have 
to be careful about is to make sure that a corporate policy and philosophy is 
in place where customer service isn't going to get rigid about serial numbers, 
exploiting every opportunity they can to claim customer X isn't entitled to 
customer service on the basis of serial number or lack thereof. Unless we had 
*positive* proof that the user in question was using a unit that in every way 
was a clone product, I think we'd want to be inclined to provide customer 
support. And the support effort should *never* focus on obtaining such 
"positive" proof.

>>*Real* investors (such as we have) have 2 main traits: First, they're
>>prepared to wait many years (at least 10) for a technology in its
>>infancy to mature and grow their initial investment into a solid
>>company. Second, they're prepared to contribute in ways other than
>>financial to help you succeed - and this doesn't mean simply sending
>>in the MBA's. It means making some sort of personal contribution in
>>whatever way thay can. These kind of investors don't pester you with
>>constant "how soon?" questions. Rather, they ask, "how can I help?"
>
>Where do you find these investors?  I could use a few.

If you have the right company philosophy, those kinds of investors follow as a 
matter of course. 

>
>>What I hate is that the documentation for all FPGA's is invariably
>>incomplete,.... Even more irksome is the vast gulf between the S/W tools and
>>the hardware capabilities of the device. 
>
>For the tool point: they have in the past, and you could do that now
>(XDL allows PIP level manipulation, so does Jbits, just in programatic
>ways), but it is actually pretty useful:  The routing fabrics are so
>rich and so fast that, within a very small epsion, an automated tools
>is as good as the best human designer.

*NOT EVEN CLOSE!!!!* I did a few test programs on a couple of complex, dense 
modern FPGA's, comparing my own hand-configured, placed and routed version 
against one built using the full tool design flow, and in every case wiped 
them off the map in terms of routing efficiency, density, utilization, speed, 
and indeed even functionality (with several of the designs the automated tools 
produced results that wouldn't perform the functionality they were supposed 
to.) It was laughable, exactly as I expected. 

Alex Rast
arast@qwest.net
arast@inficom.com

Article: 43086
Subject: Re: Architecture for high-level reconfigurable computing
From: Neil Franklin <neil@franklin.ch.remove>
Date: 13 May 2002 22:42:07 +0200
Links: << >>  << T >>  << A >>
micahjd@users.sourceforge.net (Micah Dowty) writes:

> Since both hardware and software objects would need to instantiate
> hardware objects, the FPGAs would actually have to reconfigure
> themselves.

More likely be reconfigured by external stuff, i.e. your CPU.


> The CPU could perhaps use the boundary scan port to
> configure a bootstrap circuit

Or for lot faster reconfig use the SelectMap interface. It costs IO
pins, but for your data processing style application pin count should
not be limiting.


> Anyway... Obviously this would be a huge effort, but to even get
> started I would need open source tools for bitstream creation,
> routing, etc,

The old problem.

Appears in a thread about every 1/4 to 1/3 of a year. :-)


> on the subject. With projects like this in the realm of the possible,
> it's quite annoying that the bitstream format is so closely guarded.

Nitpick: not "closely guarded", just "not published".

According to Peter Alfke of Xilinx it is not about secrecy, but more
that they do not want the support costs from people trying to roll
their own tools. Published = must be supported in the commercial
world.


That open source programmers accept non-supported stuff is a new thing
in FPGA development circles. They have still got to get used to our
different culture. Give them a bit of time and they will digest it.


> (especially since the design security issue is being addressed by
> encryption in the Virtex II family)

The info on Virtex (and so also Sparten-II) bitstreams is acually
out here, just not in an user friendly form. Xilinx is actually an
exeption in this respect, all other vendors do not publish such
info at all.

Try the following stuff:


Virtex datasheet
http://www.xilinx.com/partinfo/ds003.pdf
(the basics how the chip works, Spartan-II is the same)

+

XAPP138 Virtex Configuration and Readback
http://www.xilinx.com/xapp/xapp138.pdf
(how to load the chip, important for your reconfiguring, btw)

+

XAPP151 Virtex Series Configuration Architecture User Guide
http://www.xilinx.com/xapp/xapp151.pdf
(how the bitstream is formatted, LUT/FF/IOB/BRAM data bit positions)

+

JBits config API, an set of Java .class files to modify bitstreams
mailto:jbits@xilinx.com
(its docs document what bits exist in the stream, how routing looks)

(JBits may actually be all that you need, not the bitstream, if you
write your compiler in Java!)

+

use JBits to experimentally determine bit positions
(make various configs and look where the bits appear)


> In the mean time, I'll take a crack at reverse engineering the
> bitstream for the Xilinx Spartan II. (Since that's what I have on
> hand)

Looking at how long your project will take (just defining your
language and how to split it CPU/FPGA), I will most likely have
that already finished before you get around to doing it.

It has been on my project list for about 1 year, and now that my
job change is through, I can start off doing it.

http://neil.franklin.ch/Projects/VirtexTools/


> I would appreciate any comments on the feasibility of this whole idea.

Possible, just a lot of work.

Which is why I needed the new half-time job first. :-)


> I've puttered around with FPGAs for a while now, but I still can't
> claim any serious experience.

In my case an partially done FPGA-CPU project, using JBits:

http://neil.franklin.ch/Projects/PDP-10/


--
Neil Franklin, neil@franklin.ch.remove http://neil.franklin.ch/
Hacker, Unix Guru, El Eng HTL/BSc, Sysadmin, Archer, Roleplayer
- Make your code truely free: put it into the public domain

Article: 43087
Subject: Re: Virtex-II DCM Frequency Synthesis
From: Austin Lesea <austin.lesea@xilinx.com>
Date: Mon, 13 May 2002 13:54:05 -0700
Links: << >>  << T >>  << A >>
Theo,

It looks OK to me.  The jitter from the CLKFX pin will be between 710 ps
P-P and 860 ps P-P for all combinations of M and D from M=2, D=1, to M=5,
D=4.  This is what the interactive note is pointing you to, the jitter
calculator tool, which isn't out yet, but is available by opening a case,
or posting here for the answer, or by contacting your FAE.

Have you taken the worst case ~ 430 ps less slack (half of the P-P) into
account in your timing constraints?

Also there are some updates for the BRAM in the latest speeds files, so
you may want to look for that as well.

Austin


Theo wrote:

> Hi all,
>
> I have a problem meeting timing constraints when using a DCM on a
> Virtex II (XC2V6000 speed grade 4. I use ISE 4.2 and Synplicity 7.0).
> I am using the DCM to do frequency synthesis in order to multiply the
> input clk (40 MHz) by a factor ranging from 2 to 5.
>
> The idea is to feed the multiplied clk (clkfx) to one port of a
> Dual-Port BRAM. All signals of the DP BRAM on the clkfx side are
> mapped to FPGA pins (no logic levels in between). All other components
> use the 40 MHz global clk.
>
> To my understanding, this shouldn't have a big influence on the
> maximum global clock frequency the design can reach. However, as soon
> as I introduce the DCM, the timing constraints (40 MHz) are missed by
> more 50%, on a design happily running at 45+ MHz otherwise.
>
> I use the DCM with a feed-back from CLK0 and with the following
> parameters:
>  attribute DFS_FREQUENCY_MODE of U_DCM : label is "LOW";
>  attribute DLL_FREQUENCY_MODE of U_DCM : label is "LOW";
>  attribute DUTY_CYCLE_CORRECTION of U_DCM : label is "FALSE";
>  attribute CLKFX_DIVIDE       of U_DCM : label is "2";
>  attribute CLKFX_MULTIPLY     of U_DCM : label is "5";
>  attribute STARTUP_WAIT       of U_DCM : label is "FALSE";
>  attribute CLKIN_PERIOD       of U_DCM : label is "25 ns";
>  attribute CLK_FEEDBACK       of U_DCM : label is "1X";-- using CLK0
> as feedback
>
> However, DRC does generate this laconic message:
> INFO:DesignRules:547 - Blockcheck: To achieve optimal frequency
> synthesis
>    performance with the CLKFX and CLKFX180 outputs of the DCM comp
>    ipaq_interface/clk_fx/U_DCM, consult the Virtex-II Interactive Data
> Sheet.
>
> No answer in the data sheet nor anywhere else on the web for me to
> find. So any hints, clues, illuminations from you fpga-wizards are
> welcome.
>
> Regards,
> Theo


Article: 43088
Subject: Re: Architecture for high-level reconfigurable computing
From: Jim Granville <jim.granville@designtools.co.nz>
Date: Tue, 14 May 2002 09:05:43 +1200
Links: << >>  << T >>  << A >>
Micah Dowty wrote:
> 
> A few days ago a friend of mine and I were inspired to build a new
> computer architecture, with the intent of making it easy to split
> tasks between hardware and software and implement them on a scalable
> system. And it would all be Open Source.
> 
> So far this is still in the very early planning stages... There will
> be an off-the-shelf microprocessor (like maybe a StrongArm) running a
> conventional OS (Linux probably) combined with one or more FPGAs. The
> FPGAs and processor would be connected together with a relatively slow
> bus, with faster interconnect between adjacent FPGAs. Each fpga would
> have extra peripherals attached, and optionally a bank of memory
> separate from the CPUs memory.
> 
> There would be a new language for designing hardware and software
> systems. Something along the lines of Handel-C, but object oriented.
> The idea would be that an object would be a precompiled hardware
> macro, and when it is instantiated it is loaded into the FPGA at
> runtime and connected to an internal bus that allows objects to pass
> messages between each other. It would be something of a combination
> between Handel-C and Objective C.
> 
> Since both hardware and software objects would need to instantiate
> hardware objects, the FPGAs would actually have to reconfigure
> themselves. The CPU could perhaps use the boundary scan port to
> configure a bootstrap circuit that would then allow partial
> reconfiguration through the CPU's bus or the FPGA's message-passing
> bus.
> 
> Anyway... Obviously this would be a huge effort, but to even get
> started I would need open source tools for bitstream creation,
> routing, etc, since there would need to be embedded software and/or
> hardware to place the object macros and route the busses together.
> 
> I have read the threads at http://www.opencollector.org/news/Bitstream
> on the subject. With projects like this in the realm of the possible,
> it's quite annoying that the bitstream format is so closely guarded.
> (especially since the design security issue is being addressed by
> encryption in the Virtex II family)
> In the mean time, I'll take a crack at reverse engineering the
> bitstream for the Xilinx Spartan II. (Since that's what I have on
> hand)
> 
> I would appreciate any comments on the feasibility of this whole idea.
> I've puttered around with FPGAs for a while now, but I still can't
> claim any serious experience.

 Getting in at the bitstream level is not a great idea, for the first
stages.
Better to learn up on the existing file-level entry choices, from EDIF
up 
to VHDL/Verilog, as well as the soft cores about.

 As for a top-level language, C is far from ideal, as it always quickly
morphs into 'a new language', and looses any benefit. What is needed
is a parallel language, that can run on PCs or FPGAs, with common
source.

 You then get fpga-simulation for free, and do NOT have to make 
early-parition decisions, plus can easily deploy on multiple cores.

 See my earlier post (pasted here) : ASML is working now on PCs.

Jim Granville Wrote:
>  I also came across this recently,
> 
> http://www.research.microsoft.com/fse/asml/
> 
> and it seemed to me, this could have FPGA applications.
> 
>  A key weakness of C, is the sequential nature of all descriptions,
> and the fact that FPGA "C's" are not C at all, but are some
> 'variant of the C programming language' - they seem more keen
> on getting the magic buzzword C in there, than in how it can be used
> practically. Throwing thousands of HW novice C coders at FPGAs sounds
> more a problem than a solution :-)
> 
>  ASML is inherently parallel, until 'step' in invoked, and thus
> the SAME source could potentially target an OpCode or FPGA at runtime.
> 
> This from the overview
> > It is only after a step has been made that the new values 
> > become visible. 
> > In general, a computation in AsmL is not sequential unless 
> > explicitly marked as being so.
> 
>  ASML would encourage 'sea of CPU' innovations on the PC, as well as
> FPGA implementations.
>  Because it has a path to compile -> Runs on a PC, that also gives a
> Simulation path, to verify the logic on FPGA.
 
 The best 'horizon' approach would be 

- A language that is inherently parallel and capable of HW description
  (More than one language support would be good : some problems suit
   some languages better than others).

- A three way path for that language, to allow
  a) Run on a PC/ARM/PPC etc HW, ie Hard core with maximal resource
  b) Run on a soft-core, ie FPGA core with minimal resource
  c) Run in FPGA HW

 Some discussion on Java in FPGA's is already underway, another
pathway would be to implement .NET MSIL in FPGA/Softcore combination.

 .NET is new, but already looks a more stable pivot point than Java
flavours, 
and .NET has good language support already - See 

http://msdn.microsoft.com/vstudio/partners/language/default.asp

 This would lead to .NET core(s) in FPGA, with key code sections chosen
as
FPGA-Macros, running as a system.

 jg

Article: 43089
Subject: Re: Architecture for high-level reconfigurable computing
From: John Williams <j2.williams@qut.edu.au>
Date: Tue, 14 May 2002 07:47:23 +1000
Links: << >>  << T >>  << A >>

Jim Granville wrote:
> 
> Micah Dowty wrote:
> >
> > A few days ago a friend of mine and I were inspired to build a new
> > computer architecture, with the intent of making it easy to split
> > tasks between hardware and software and implement them on a scalable
> > system. And it would all be Open Source.
>  The best 'horizon' approach would be
> 
> - A language that is inherently parallel and capable of HW description
>   (More than one language support would be good : some problems suit
>    some languages better than others).
> 
> - A three way path for that language, to allow
>   a) Run on a PC/ARM/PPC etc HW, ie Hard core with maximal resource
>   b) Run on a soft-core, ie FPGA core with minimal resource
>   c) Run in FPGA HW

This may be a stupid question, but would it be feasible to have native
VHDL support on a microprocessor?  Preferably compiled, but even
interpreted would be a starting point.   Imagine the flexibility of
being able to do your entire design in VHDL, then choosing, perhaps on
the fly, which parts are instantiated in hardware and which in
software...

Regards,

John

Article: 43090
Subject: Re: Architecture for high-level reconfigurable computing
From: "Steve Casselman" <sc.nospam@vcc.com>
Date: Mon, 13 May 2002 21:52:09 GMT
Links: << >>  << T >>  << A >>
> >  A key weakness of C, is the sequential nature of all descriptions,


This is not really correct. C has lots of parallelism. It always amazes me
when people say there is no parallelism. Here is a line of very parallel C
code.

a = b+c, d= e+f, Myfunc();

According to the C specs the above line can be executed in parallel. The
problem is if you can get different  answers since the specs don't say what
order they must executed in if you do them one at a time.
example

a = b , b = a ;

Could be "a" and "b" have the value of "a" or they have the value of "b" or
"a" and "b" swap values. It's one of the reasons Java only has lists for
initializations.

If you write a compiler you'll see what I mean.

Steve



Article: 43091
Subject: Re: Architecture for high-level reconfigurable computing
From: John Williams <j2.williams@qut.edu.au>
Date: Tue, 14 May 2002 08:00:07 +1000
Links: << >>  << T >>  << A >>
Hi Michael,

Micah Dowty wrote:
> 
> 
> Anyway... Obviously this would be a huge effort, but to even get
> started I would need open source tools for bitstream creation,
> routing, etc, since there would need to be embedded software and/or
> hardware to place the object macros and route the busses together.
> 
> I have read the threads at http://www.opencollector.org/news/Bitstream
> on the subject. With projects like this in the realm of the possible,
> it's quite annoying that the bitstream format is so closely guarded.
> (especially since the design security issue is being addressed by
> encryption in the Virtex II family)
> In the mean time, I'll take a crack at reverse engineering the
> bitstream for the Xilinx Spartan II. (Since that's what I have on
> hand)
> 

I too recently read those threads at opencollector.org... interesting
stuff.

Recently I've been researching the XC4000 series readback functionality,
and in the process of debugging it I've learned some very interesting
things about the bitstream format.  In particular, we found a simple
method that could, in principle, be used to reverse engineer the
bitstream.  Or more precisely, reverse engineer the relationship between
a placed and routed design, and the corresponding bitstream.  The idea
of actually developing a tool to do the constrained routing etc just
makes my head hurt.

As other correspondents have said, the bitstream is not so much
"secret", as unpublished.  Although that said, I'm not sure how Xilinx
would react should someone post on a website a clearly written document
outlining the details with accompanying code.  Comments anyone?

Anyway let me know if you are really interested to hear more about the
bitstream stuff.  I tend to agree with one of the other posters, who
said (more or less) that you'd be better starting off at a higher level
and working down.   Otherwise you're likely to get bogged down in the
interesting, but time-consuming task of figuring out the bitstream,
rather than your grand system ideas (which sound v. interesting by the
way - do a search for hardware software codesign)

Regards,

John

Article: 43092
Subject: Re: Architecture for high-level reconfigurable computing
From: Peter Alfke <Peter.Alfke@xilinx.com>
Date: Mon, 13 May 2002 15:17:37 -0700
Links: << >>  << T >>  << A >>


John Williams wrote:

>
>
> As other correspondents have said, the bitstream is not so much
> "secret", as unpublished.  Although that said, I'm not sure how Xilinx
> would react should someone post on a website a clearly written document
> outlining the details with accompanying code.  Comments anyone?

Speaking for myself ( I am not the official Xilinx spokesman, even if I
behave like that occasionally):
I am concerned about a publicized bitstream decoder for two reasons:

1.
It might make some users feel vulnerable that their design can be
reverse-engineered and then slightly modified to hide the rip-off.

2.
It might expose Xilinx to unreasonable and unsupportable user questions,
especially when they painted themselves into a corner. And he who sells the
chips ultimately is stuck with the cry for help...

Peter Alfke


Article: 43093
Subject: New Nios Developer Community Started
From: trichmond@twistedminds.org (Trampus Richmond)
Date: 13 May 2002 15:28:34 -0700
Links: << >>  << T >>  << A >>
Hello, I am a Altera Nios user, and happen to have started a Developer
Community.  There is currently very little content on my site, but
that's because I just finished setting it up.  If you have any
information about using the Altera Nios Softecore processor, and or
Sopc_Builder that you'd like to share please feel free to post to my
site.

www.twistedminds.org/nios

This is not an Altera associated Web Site.  It's just something I put
together late one night.

Article: 43094
Subject: Re: Architecture for high-level reconfigurable computing
From: nweaver@CSUA.Berkeley.EDU (Nicholas Weaver)
Date: Mon, 13 May 2002 22:33:59 +0000 (UTC)
Links: << >>  << T >>  << A >>
In article <3CE03B81.B6624D70@xilinx.com>,
Peter Alfke  <Peter.Alfke@xilinx.com> wrote:
>Speaking for myself ( I am not the official Xilinx spokesman, even if I
>behave like that occasionally):
>I am concerned about a publicized bitstream decoder for two reasons:
>
>1.
>It might make some users feel vulnerable that their design can be
>reverse-engineered and then slightly modified to hide the rip-off.

*cough* Jbits *cough*.
-- 
Nicholas C. Weaver                                 nweaver@cs.berkeley.edu

Article: 43095
Subject: Re: Architecture for high-level reconfigurable computing
From: John Williams <j2.williams@qut.edu.au>
Date: Tue, 14 May 2002 08:38:06 +1000
Links: << >>  << T >>  << A >>
Hi Peter,

Peter Alfke wrote:
> Speaking for myself ( I am not the official Xilinx spokesman, even if I
> behave like that occasionally):

I understand your position - I think your participation in this group is
a great thing and I hope your employer actively supports it.

> 1.
> It might make some users feel vulnerable that their design can be
> reverse-engineered and then slightly modified to hide the rip-off.

Yes, however in the long run "security-by-obscurity" is not sustainable.

I'm guessing you are probably moving towards (already there?) bitstream
encryption that would help deflate this aspect somewhat?

> 2.
> It might expose Xilinx to unreasonable and unsupportable user questions,
> especially when they painted themselves into a corner. And he who sells the
> chips ultimately is stuck with the cry for help...

Indeed.  With a hacked bitstream it would probably be easier than not to
cook a device.  Having worked in support before I'm familiar with the
fact that users will lie about what they've done because they know they
did the wrong thing, are embarrassed, but still want the help.  "No, we
didn't hack the bitstream, it came fresh from your tools!".

How about a serial number generator in BITGEN, so when user has trouble
you could ask for a copy of the .bit file, if it doesn't contain a valid
serial then you say sorry, can't support you if you didn't use our
tools.  Of course, then someone could just hack the serial number
generator, and so it goes...

Regards,

John

Article: 43096
Subject: Re: Architecture for high-level reconfigurable computing
From: nweaver@CSUA.Berkeley.EDU (Nicholas Weaver)
Date: Mon, 13 May 2002 23:22:55 +0000 (UTC)
Links: << >>  << T >>  << A >>
In article <3CE0404E.AE4B37C5@qut.edu.au>,
John Williams  <j2.williams@qut.edu.au> wrote:
>Yes, however in the long run "security-by-obscurity" is not sustainable.
>
>I'm guessing you are probably moving towards (already there?) bitstream
>encryption that would help deflate this aspect somewhat?

Virtex 2: Bitfiles can be encrypted with a 3DES key, and the 3DES key
is then loaded (through JTAG) into a distinct register on the part,
which has a separate power pin to maintain state.
-- 
Nicholas C. Weaver                                 nweaver@cs.berkeley.edu

Article: 43097
Subject: Re: Architecture for high-level reconfigurable computing
From: "Tim" <tim@rockylogic.com.nooospam.com>
Date: Tue, 14 May 2002 00:57:18 +0100
Links: << >>  << T >>  << A >>
John Williams wrote
> This may be a stupid question, but would it be feasible to have native
> VHDL support on a microprocessor?  Preferably compiled, but even
> interpreted would be a starting point.

That is what the compiled simulators do.  Performance is not great...





Article: 43098
Subject: Re: Architecture for high-level reconfigurable computing
From: "Tim" <tim@rockylogic.com.nooospam.com>
Date: Tue, 14 May 2002 01:00:45 +0100
Links: << >>  << T >>  << A >>
Nicholas Weaver wrote

> Virtex 2: Bitfiles can be encrypted with a 3DES key, and the 3DES key
> is then loaded (through JTAG) into a distinct register on the part,
> which has a separate power pin to maintain state.

All together, for the umpteenth time:
    "Please can we have these few register bits as flash"





Article: 43099
Subject: Re: Neverending ISA bus interface drama, Spartan-II
From: Rick Filipkiewicz <rick@algor.co.uk>
Date: Tue, 14 May 2002 01:14:08 +0100
Links: << >>  << T >>  << A >>


Peter Alfke wrote:

>
>
> These circuits do not mysteriously work or don't work. ...

... unless they're being eaten by the great metastability beast. Maybe the
work/!work is related to seasonal variation in lab temperature :-).





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