Unified FPGA Development Suite

The problem with classical minimization is that it requires only a single output. If there is more than one output needed minimization becomes an oxymoron. The question becomes *what* do you want to minimize; gates? delay? skew? power?... Add in library gates more complex than 2I and things get difficult fast. Just the thing for computers to do. ;-) ...and they don't bother with classical minimization either.

Back to your question: I have used synthesis tools that will give a "gate view" or "technology view", but they have to be set up for the gate library you're using. The ones I used were specifically for FPGAs but the "gate view" might be useful for you, though the input is still HDL. Answer: no, I don't know of a cheap way of putting me out of work. ;-)

Reply to
krw
Loading thread data ...

The process I'm presently designing on (X-FAB XB-06) does have a pre-defined digital library of gates and flops. ...Jim Thompson

--
| James E.Thompson, CTO                            |    mens     |
| Analog Innovations, Inc.                         |     et      |
| Analog/Mixed-Signal ASIC\'s and Discrete Systems  |    manus    |
| Phoenix, Arizona  85048    Skype: Contacts Only  |             |
| Voice:(480)460-2350  Fax: Available upon request |  Brass Rat  |
| E-mail Icon at http://www.analog-innovations.com |    1962     |
             
I love to cook with wine.      Sometimes I even put it in the food.
Reply to
Jim Thompson

I don't think C++ can be used to configure an FPGA. (I prefer the term "configure", rather than "program" to describe what we do to an FPGA, although I do use "program" to describe downloading the configuration file to the FPGA.)

FPGAs and CPLDs consist of a large number of gates, flip-flops and other devices that the user can connect together as desires, to perform some useful function.

I've used Altera's Quartus program to generate configuration files for their FPGAs and CPLDs. Quartus allows me to design the circuit either by drawing schematic diagrams using gates, flip-flops, and other logic elements, or by using a Hardware Description Language (AHDL or VHDL) to describe the required logic in a text file (or to use both schematic and AHDL in the same project.)

It is possible to include a processor in the FPGA configuration - then that processor could be programmed, like any other processor, using C or C++ (if you can find a suitable cross-compiler.) However, the FPGA configuration and processor program development are two separate steps.

--
Peter Bennett, VE7CEI  
peterbb4 (at) interchange.ubc.ca  
GPS and NMEA info: http://vancouver-webpages.com/peter
Vancouver Power Squadron: http://vancouver.powersquadron.ca
Reply to
Peter Bennett

For the div boards:

fpga4fun.com ?

Steve

Reply to
osr

Altium have a Xilinx (others on the way) development board and 12 month license of their full soft package for $399

formatting link

For that you get C and C++, VHDL/Verilog, GUI like OpenBus, Real-time OS, and/or C to Hardware compiler for your development. Plus 32bit processors and other IP. No restrictions.

Altium uses the Xilinx (or other) tools as the back-end, but it's all seamless, you don't notice you are using them.

If you do want to experiment with different manufactuers, the Nanoboard NB2 is better, but it's $2K.

They have a JTAG programmer for $150 for use on your own custom boards:

formatting link

Dave.

--
---------------------------------------------
Check out my Electronics Engineering Video Blog & Podcast:
http://www.eevblog.com
Reply to
David L. Jones

Ask them for synthesis tools. See what they come up with.

Reply to
krw

Sometimes not so separate if you use internal memory for the processor program. The project I contracted on last year (a high-end video camera) use a Virtex-4 with an embedded PowerPC (hard processor). The PPC code was contained in the Virtex BlockRams configured as single-port ROMs. The processor program was loaded at FPGA configuration. ;-)

Reply to
krw

Altium's "front end" includes C and C++ compilers, GUI like OpenBus, Real-time OS, and a C to Hardware compiler along with the usual Schematic/VHDL/Verilog, all in a pretty easy to use environment. Plus you get 32bit processors and other IP. No restrictions. You get all that for 12months plus a development board all for $399.

Dave.

--
---------------------------------------------
Check out my Electronics Engineering Video Blog & Podcast:
http://www.eevblog.com
Reply to
David L. Jones

formatting link

I can use that JTAG programmer for most of the common fpgas(actel, altera, xilinx, etc..) and develop the code for also in altium?

Thing is, I don't see any reason to pay 150$ for a single family of fpgas when I can get that nanoboard that has a tone of stuff on it and probably end up using it to program my own fpga's anyways(eventuall).

I did see some of the video's on the nanoboard and it looks pretty cool. Those jtag programmers are squat compared to what that nanoboard has on it.

Hence, if I'm going to spend 150$ for a rinkydink programmer I might as well spend twice as much and get something I can program with and more.

Reply to
Jon Slaughter

Well, if you are using the term "configure" for writing HDL code then they do have C++ style coding. SystemC is a C++ "configurer". Supposedly they have several others that are more "pure".

No, look up SystemC for C++ methods that are equivalent(in some regards) to HDL. It is supposedly much more powerful and faster when used in simulation.

Reply to
Jon Slaughter

formatting link

Yes, it works with any FPGA that Altium supports. But it is Altium specific of course, so you can't use it with other tools, if that matters. It also has what's called a "soft JTAG" interface that allows you to embed instruments (like logic analysers) inside the FPGA to monitor/debug your projects inside the FPGA.

Dave.

--
---------------------------------------------
Check out my Electronics Engineering Video Blog & Podcast:
http://www.eevblog.com
Reply to
David L. Jones

So

formatting link

Is a "JTAG Programmer"

Assuming it works, could it essentially be used to program fgpa's? Or with slight modifications?

I think the point is, is the basic idea of sending the bit stream to the fpga just a matter of bit banging or a simple serial interface with bit banging and/or command protocol?

Reply to
Jon Slaughter

Similary the "jtag" is explained here

formatting link

I guess it's all jtag and just the serial protocol is different ;/ I'd have to find the spec for the proASIC's to be able to create a "configurer" for it ;/

Reply to
Jon Slaughter

What does a C/++ compiler do? FPGAs are concurrent devices so a concurrent language is needed.

Everyone has a GUI. The whole purpose of a GUI is to make driving the software simple(r).

Oh, *that's* going to work. See above.

I thought you said the tools were $4K/yr. That is a big difference.

Reply to
krw

they have keywords or modifers that allow you to parallel or sequence operations. There is nothing in the C\\C++ spec that says it cannot be concurrent.

In fact it can do what just about any other programming language can do because they all are functionally equivalent(the language itself... not necessarily the compiler). Of course the raw language might not support certain needed constructs but then you modify it by adding them to support what you need.

I think with the nanoboard you get the altium designer functionality that can only be used with the fgpa part. e.g., no pcb design and such. Their goal, my guess, is to get you hooked on their EDA package as a whole. That nanoboard could surely sell for many times more if you compare it's features to other dev. boards.

That, or they just don't care about ripping your ass a new one like many other companies.

Reply to
Jon Slaughter

C certainly cannot be concurrent. I suppose since C++ is so bastardized as it is, concurrency wouldn't make it any more so.

So you whack the screw even harder if it doesn't go in. What nonsense.

Ah, that's the part I missed. Thanks.

They must have a miniscule market penetration into the FPGA world. Someone has to pay the bills.

Reply to
krw

formatting link

You obviously don't seem to know much about programming languages. A language is just a syntax. Most programming languages are equivalent(in fact, almost certainly).

What does this mean? It means that you can translate one language to another. If you can't do this then they are not equivalent. In most cases where this is not possible then it only requires slight adaptation(a modified compiler). I'm not saying all languages are exactly equivalent but most are pretty damn close. Specially when you consider they all have about the same goals. If any one programming language is extremely lacking it is ether very specialized for a specific task or somewhat useless.

In any case the formal nature of languages specifies a syntax and generally speaking you can at least make any other language "look" like whatever language you want. The grammers are independent of the keywords/tokens they use.

It's all about how the languages are interpret that makes the difference.

formatting link

"SystemC is essentially a C++ library used for modeling concurrent systems in C++. Along with concurrency, SystemC provides a notion of timing as well as an event driven simulations environment. Due to it's concurrent and sequential nature, SystemC allows the description and integration of complex hardware and software components."

So your "theory" about C goes out the window. All they did was extend C++ using some keywords to add in the ability to specify the concurrency. From what recall, VHDL didn't have the ability to specify timing either until it was modified to do so.

nonsense is usually due to ignorance. You just should have chosen a nail ;)

Don't know but there software looks pretty good and the nanoboard seems to have a lot more functionality than most other dev boards. It has a touchscreen, led's, fpga, video port, protoboard, and many other useful things. I doubt you'll find a dev board from other with a touchscreen for under 1k.

Reply to
Jon Slaughter

formatting link

Now sure how good it is but at least it's more than nothing...

Reply to
Jon Slaughter

formatting link

Gives a good explanation of it. It seems that it can actually be used with any compiler as it is a class library entirely built from C++. Although at some stage in the linking/assembling process one must convert the code to something else which would require special software.

Reply to
Jon Slaughter

It's for a soft core processor of course. A lot of FPGA designs these days will have a soft core processor in them, so it's a very common requirement. Altium comes with several soft cores for free.

No, this is different. OpenBus is a propreity Altium thing that allows you to design an FPGA project in a visul "flow chart" type manner. i.e. drop a processor into your system and then connect external memory and periphers etc. You won't need any VHDL or other HDL code to get your project working if all the building blocks you want are in the Altium library. It almost certainly the easiest way possible to get an FPGA project up and running. It's not for everyone, but it is very simple.

Yes, it actually works. See above.

No, an NB3000 development board with a 12month licence with everything you need to do FPGA/C/C++/C-Hardware/soft core etc is only $399. If you want the software outright it's only $995. You get everything except the PCB stuff. It's only $4K if you want the full package with PCB design outright.

Dave.

--
---------------------------------------------
Check out my Electronics Engineering Video Blog & Podcast:
http://www.eevblog.com
Reply to
David L. Jones

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.