Software/Hardware FPGA Dev Board that runs Linux
bforsse writes "The ML300 allows engineers to develop
hardware with HDL synthesis/simulation and software with standard GNU tools. The entire system is implemented inside one FPGA with an integrated IBM PPC processor. The board comes with all the peripherals that a standard motherboard or laptop has and then some.
It currently ships with MontaVista Linux, a number of other linux flavors and OSs are in the pipeline. Maybe this new merging of the hardware and software worlds will settle some of the religious wars between hw and sw engineers?...ok, maybe not."
...the term 'engineer' is used very loosely when you are refering to software engineers...
VHDL is a tool of terror! Especially when put in the hands of those lunix cyberterrorists! These terrorists and their sympathizers are an affront to American liberty, justice, and equality for all non-Muslims. I strongly urge the Right Honourable Prime Minister George Williamson Bush, Junior to pass binding legislation which would put an end to these un-American activities.
P.S. I have similar views on the 3rd world clone chip manufacturer, AMD.
Wow, bforsee works for xilinx. Looks like another slashvertisment to me.
"Quoting famous computer scientists out of context is the root of all evil (or at least most of it) in programming." - K
The board comes with all the peripherals that a standard motherboard or laptop has and then some.
With a $6k price tag, it should come with a high class hooker.
Constitutional rights may be respected, repealed, or modified; but they must never be ignored.
The GNU tools are just for the software part.. the actual FPGA design tools are still covered by what looks like 200 patents (and runs on NT or Solaris)
But still, me wants! Think about it.. 4 PowerPC cores embedded in a sea of programmable logic? *drool*
Watch it mate...
Can someone with a bit of know-how point us towards some more info?
"A language that doesn't affect the way you think about programming, is not worth knowing" - Alan Perlis
Does linux even have any good VHDL simulators?
This looks interesting, but way too expensive to break down any barriers in the short term. Actually, being hardware (ASIC) designer, many of the embedded software guys know their hardware as well as the designers. Some, however, need their hands held every step of the way and can't understand why we put all those damned interrupt capabilities in there. Just makes the software harder to write!
I'd love to see something like this out in the market in a lower price range. It's great to have GNU software tools to write code inexpensively, and to have hardware as well would really be fun and useful. Sharing cool hardware accelerator HDL with others would be great. I've used Icarus recently and it is becoming quite a useable open source alternative to vcs, verilog xl, nc verilog, etc.
EG, the XC2VP7 which is used in the core of that board has a PowerPC (>250 MHz), 8 SERDESes which can speak Gb ethernet with optical transievers (among other things), about 100 Kb of RAM, and 11,000 4-LUTs and flip-flops.
Xilinx promises that at the end of the year, in suitable quantities (>25,000), they will be $100/each.
Test your net with Netalyzr
Maybe this new merging of the hardware and software worlds will settle some of the religious wars between hw and sw engineers? ...or maybe this will provide an architecture that's free of DRM? If TCPA ends up being as insidious as we think it will be, an alternative architecture will be in order for those who want to actually USE their PCs (as opposed to their $1500 multimedia toaster that they bought from Intel). This is good. This is very good.
If it was cheaper, it would be really neat - there's a lot of things you could do with such a device. Problem is, it's US$5000 - for that price, you could buy *several* decent laptops, or even more decent PDAs :-(
Pretend that something especially witty is here. Thanks.
Speaking as a slave to Mentor Graphics who has seen Icarus before (you beat me to posting a link), I was wondering if you could offer any insight into how it well it works? Since you seem to have more experience with it than I do I was hoping you could expand on your declaration of Icarus as "competent".
All circuits busy.
god I hate PPC infact I nearly hate it as much as x86 but...
now ARM a nice little design there is the same deal but with a ARM that altera do and see www
and MIPS have been doing a dev board with a hard and soft core mix for a while
well you never guess they ALL come with GNU tools and as they use standard arch that linux is already ported to
really what you want to get into is a CPU on a FPGA and one that you dont have to pay a licence for this is what opencores.org is about and credit to them flextronics have started looking at it for a solution see
news about the use of open hardware at
the openRisc 100 project at
See the FAQ at
hope that helps
regards
John Jones
Fantastic to look at, even if you had no reason to be legitimately interested.
For hardware developers to imitate the mistakes of software development is a mistake. Hardware should conform to well-defined interfaces, it should be carefully designed, debugged, and tested, and then it should not require "upgrades" or "installation" later on, it should just work. If it hooks up to computers, it should only require generic drivers.
It's $5k. THe $5 is for WindRiver Compiler and Debugger. Believe or not, this IS cheap.
Just http://www.xilinx.com/ise/vii_pro/kit.htm does not mentions Linux at all.But Monta Vista claim, that _do_ they work together.
The question is, if Xilix schematic editor, VHDL compiler and xpr runs on Linux or it is only Linux for C development?
I guess that they are trying to sell chips that have processor _and_ FPGA within square inch.
I guess that the plug-in FPGA card would be connected in a different way, so whey you submit masks for mass productions the result would be likely buggy wnd won't work.
Oh-no! Perhaps you did not think that this is for individual use?
...like for maybe $100?
This looks pretty cool, but no way I can afford one at $5K... You could do the slow bits of code in C targetting the PPC and the fast stuff in VHDL or Verilog...
Very good, this will finally allow open source to get a grip on the hardware development market, which is good for us all!
does FPGA still mean Flip chip Pin Grid Aray? That's what I thought at first.
Most folk'll never lose a toe, and then again some folk'll...
The problems of the war are pretty easy to solve.
Assume that $religion means the presence of a $diety (belief systems without a $diety, like Taoism, will not be considered ${religion}s, which is to their credit).
Either $diety is hardware (real, grounded in nature, possibly via a marked green cable) or is software (virtual, made up in human minds, subject to revision and short-lived cultural fad approaches like "extreme religion" and "christianity"). Since there are and have been umpteen different $dieties, none of which has lasted, while the hardware has remained relatively stable, $diety is software. This is also confirmed by the near-universal belief that $diety is infinite, which can only be true of software (since it is virtual). As a side note when you consider the state of software this explains a LOT.
So since $diety is software and software requires hardware to run, hardware engineers are titans. They win and software engineers lose.
But since $diety is software and can thus be made and freely and infinitely revised by software engineers, they're the ones who are titans. They win and hardware engineers lose.
So I hope that's cleared things up. Now fight amongst yourselves.
The xilinx parts are for embedded systems, and have no real benefits for your average PC user (hence they can market them them for $$$).
Look here for genuinely cool FPGA technology. They use transputer based technology to implement parallel algorithms in, well, parallel. The demos are very impressive - real time raytracing @50MHz anyone?
If I seem short sighted, it is because I stand on the shoulders of midgets
System Requirements: Microsoft Windows NT 4.0 (SP4), Windows 2000, Sun Solaris 2.7/5.7* or 2.8/5.8, Solaris 2.7/5.7
Bwahahaha, no development tools for linux, suckers! Seriously though there is a severe lack of decent open source EDA tools unfortunatly. There are a few that exist yes, but they are of very low quality or are very slow developing (some vaporware?). Yes, I know, now a bunch of you will go google now, find a bunch of open source EDA tools you've never used, and try to prove me wrong (I'm guesing the vast majority here don't even use EDA tools anyway).
It would be nice if someone tried to organize the different open source EDA projects together as there seems to be disjointed, repeat work out there (and some seem to be going nowhere so they need someone to give them a good kick in the rear).
<rant>Also a bunch of projects advertise that they are trying to create their EDA tool(s) for linux, I mean WTF is up with that? Seriously, I hate to rant but this really deserves it. What's with all the idiots creating linux specific open source projects when they do absolutely nothing that would need linux specifically. People doing that should be shot, if you gave the slightest bit about portability would at least target *nix.</rant>
Anyway, this is harder than it seems, as it is more than just a technical effort (the technical aspect being difficult enough as it is). There needs to be good "managers" and PR type people to organize and advocate this project, so it's not just a bunch of random momos submitting code on occasion that may or may not work with the rest of the program.
The idea is you have a problem (algorithm) that you implement on an FPGA; you run it a large number of times; you thereby get a speed improvement over running the problem on a general purpose chip.
At least that's the idea. What I've not seen are good examples of benchmarks run on FPGA vs. common general purpose chips (P-III, P-IV, etc).
One additional interesting idea is that you can combine FPGAs with an evolutionary computing-style optimiser to get the best efficiency (speed).
"we demand rigidly defined areas of doubt and uncertainty!"
There are tools for complete FPGA design flow that run under Linux. Check out http://www.synplicity.com for example.
-- Just another FPGA/ASIC designer
I agree that hardware should not require upgrades later on. But for our powerFFT card, many customers require special data conversion or memory addressing schemes. If we have to redesign the "hardwired" hardware, the cost would skyrocket!. But with VHDL, we design and test the new configuration and put it in an EEPROM before shipping. Then for the customer our device "just works".
My stand on this would be NO, because I couldn't do jack shit for it incase something doesn't work. From a software developers point of view it's essential that you can trust your platform (os and compiler) and most importantly if you think there's bugs there, you can look it up from the source and try finding it. I doubt that I'd have the possibility of doing so with programmable hardware.
Actually, the reverse is true. FPGAs are primarily designed inhouse. I've never heard of anyone shipping a preprogrammed FPGA as a stand alone product, there's no point - FPGA designs are invariably shipped as embeddable cores, either in HDL or EDIF netlists, both of which are effectively non-free open source (ARM use this model quite successfully). The same is not true for say, an i386. As for testing, most FPGAs have built in JTAG support, and are certainly no more difficult to test than ASICs.
If I seem short sighted, it is because I stand on the shoulders of midgets
The ability to run one or more concurrent instances of Linux (or whatever, quite frankly) internally to one of the Xilinx Virtex II parts is seriously amazing. Ignore the board it comes on for development for now - that is just cruft. The Virtex II is probably the most powerful instantly reconfigurable DSP engine in existence (think audio, video manipulation at real time speeds). They have internal hardware to perform from 16 to 128 simultaneous 16x16 multiply/accumulate operations simultaneously, _in_one_clock_cycle_. And if you don't like what it is doing, you can change it, time and time again, forever. Raw Power. Complete Reconfigurability. Sweet!
Combine this kind of power with multiple PPC processors on the same die, and the possibilities are incredible. The big difficulty is that the operation of the hardware and software can be so tightly tied together that it is difficult to program and debug. Everything is controlled by software (both the software and the VHDL or Verilog based FPGA code) and so the possibilities are limitless.
Kudos to Jim Ready and the folks at Monta Vista for supporting this kind of device with development tools for Linux.
Soli Deo Gloria
I'd much prefer a native port of their FPGA development tools. They list compatibility with Redhat 7.2 but if you read the fine print that means that you use WINE to run them. Better yet, release specifications on programming your CLBs and routing. You would then see some real innovation in tools come out. FPGA's should be the electronics hobbiests component of choice much like PROMs and 7400 series TTL logic was a couple of decades ago. Instead you're forced into using their tools, which the last time I used (admittedly ~7 years ago) were about as much fun as extracting your molars with a spoon.
Chris Kuivenhoven is a thief, beware
Nobody here has mentioned the LOEN progect, which is based on the SPARC V8. This is an open processor core that you can put into any FPGA. Speeds aren't as great as the PowerPC in this desing, but hey, it works!
Nietzsche is dead. --God
It's a wonder, however, that VHDL is the preferred HDL of the US government and its contractors. It was patterned after Ada--another US government fave.
This ought to fit into a conspiracy theory or two.
here
Thanks! I was looking for a cheap FPGA board exactly like these!
FPGA? What sort of politically correct tripe is that?! Let's return to the kinder, gentler days when it was OK to call a woman a 'lady' and restore the LPGA before the next tour. I mean, we all know that a 'L'ady refers to a 'F'emale, right????? I mean....
What? Oh. Never mind.
--
As a matter of fact, I am a lawyer. But I play an actor on TV.
Do you want to do schematic capture (where you draw the circuit in a CAD enviroment) or do you want to be able to use an HDL (hardware description language)? If you want to go the schematic capture you could always build them out of ICs on a breadboard for next to nothing. But if you want to go the HDL way, you need the FPGA and a decent HDL compiler.
I/O, I/O, its off to disk I go, with a read and a write, and a bit and a byte, I/O, I/O, I/O, I/O
This just in, My car runs linux, my phone runs linux, my shoes run linux, my dishwasher runs linux, my cat runs linux, when I fart, my fart runs linux, and CowboyNeal runs linux! My point? Why is it news worthy every time something new with a microprocessor runs linux?
---- "Excuse me. Where's the children's gun section?"
I think the linux angle is they are just giving gcc ( god love them Xilinx were always kind in this respect) for their powerpc core whooppeedooo,
All the real VHDL FPGA development tools seem to run under windows.
If they gave away the details of the innards of their FPGAs or even better made their stuff run with the few free VHDL tools,
what few are available I'd be impressed.
Vendors always charge an arm & a leg for them ( typically a few thousand euro for stuff that will do larger FPGA's
about 100 euro for student editions for small FPGA's ), asic development software costs typically 50k plus.
Virtex cores aren't cheap either, we had them on our VPN acceleration boards they were over 3000 euro a pop,
they might be down to 1500 euro now.
All software. I hurt my self with hardware.
I have recently written an SH7055 CPU emulator and I want to try to build my own CPU. I realize that a CPU on an FPGA will be slow, but I'll learn why the SH2 was designed the way it was, instead of the way I think it should have been.
I would also like to play with multiple simple dedicated use cores on a chip.
Joe
Joe Batt Solid Design
There is a Virtex II and a Virtex II Pro, which are not the same.
The article is about a demo board with the PRO version on it. The plain Virtex II doesn't have a PPC processor built-in to it.
Just wanted to clear that up.
MM
--
By including this sig, the copyright holders of this work or collection unreservedly place it in the public domain.
Saw this piece of hardware running at a Xilinx Seminar (X-Tech). Damn thing was running Quake! I'm guessing it was just the demo version. Looked pretty cool. Quake version?, I dunno, maybe 3 (sorry I'm not a big quake fan). It's too bad that it's so expensive (Almost as bad as Motorola CPU demo boards).
- I stole your sig.
You are correct, of course.
But it does beg the question: Were all versions before the "Pro" just amateur?
Soli Deo Gloria
The CPU board, that has all of the main components on it, is an 16 layer board. It comes with 8 - 3.125 gigabit capable transceivers (used as 4 gigabit fiber, two HSSDC2/Infiniband and two Serial ATA), 128 MBytes of DDR, 2 PS/2, 2 Serial Ports, Parallel Port, FireWire, two PCCard/PCMCIA slots, Compact Flash interface (for configuration and file system) PMC slot, BDM and Trace ports, JTAG port, AC97 audio codec and a kitchen sink.
The Power-I/O board, that has the TFT, most of the I/O and the majority of power regulation, is an 8 layer board, and has a 640x480 TFT, 14 I/O buttons, a multitude of LEDs and a small prototyping area underneath the TFT.
Included with the kit is a 1GB microdrive, 2 fiber cables, 2 serial cables, an HSSDC2 cable, a serial ATA cable, two flavors of firewire, a Parallel Cable 4 programming cable, Xilinx ISE software, Chipscope ILA Pro, and on and on.In addition, I would like to say that this was an exciting project to work on - between the gigabit transceivers, the DDR and the high density of components on the board, this was the hardest board I've designed (I did the majority of the schematics and parts of the layout).
First Falcon-1 to orbit, then Falcon-9. Then I can die a happy man.
First, the Altera Flex is only $3000 or something and you could probably fabricate your own FPGA development board for $100. Slashdot shopping network won't tell you that nugget of information.
Doing stuff in hardware is neat because it runs real fast, you're interacting with the real world instead of living in a black box, and you can charge money for it. Other than that, it's too expensive to use in most commercial situations and you need to go back to a general purpose computer. Let's put it this way. The ML300 is $4695 in materials. A standalone FPGA with supporting electronics and PCB fabrication is $100 in materials. Pure software on a general purpose computer is $0 in materials.
Many hardware development environments have a somewhat pricy development box with lots of software tools, debugging ports, every interface the system could support, etc. which you can use to prototype and develop your real application, which is some embedded thing that might cost $5 or $50 or $5000 depending on what it it? So how much does one of these things cost for a typical deployed environment, e.g. a PCI board or a one of a bunch of chips on a graphics board? Does it go on a $500 board, or is $5000 realistic? (Makes a lot of difference if you want to build a Beowulf cluster of them....)
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
Price: $7,995
Damn... I like the $100 figure better.
Linux is only free if you consider your time worthless
Obviously, I have no problems with FPGAs whose programs are loaded from ROM. One would think you would be able to figure that out from what I wrote since I explained very explicitly what I don't like about field upgradability.
If your digital camera manufacturer expects that you load an FPGA bitstream from your PC everytime you switch it on then, well, you should have read some reviews before you parted with your cash.
A lot of hardware used to do this and still does this. Reviewers don't generally notice it because they just review stuff on one particular version of Windows. When the next version of Windows comes out and the vendor doesn't release a new driver, such hardware usually becomes a useless chunk of metal and plastic.
As for you digital camera example, come on, that's a deliberately stupid example. You can figure out for yourself while even the worst company is not going to release a digital camera that requires downloads from a PC every time it is switched on. Firmware upgrades for digital cameras are still a huge problem, waste of time, and dangerous practice (if you interrupt it, the camera may break and won't get fixed under warranty). For example, I have a Nikon camera that was released with serious bugs; but the ugprade program doesn't run under Windows XP (it starts the download but never finishes the firmware download), and Nikon won't fix the camera for me. Ditto with a Palm firmware upgrade. Reviewers don't get to see such hassles.
Hardware is generally as reliable as it is, because most firms are very good at hardware test and qualification,
Yes, and if hardware firms can just release bug fixes like Microsoft does, that will get worse because they will invest less effort in "test and qualification". That is my point. This is what has happened in software over the last decade or two, and it looks like it is going to happen in hardware now that hardware is "field upgradable" and "field programmable".
Personally, I think it's quite nice to see more FPGA hardware for the masses. For me it opens a lot of possibilities in R&D of new approaches to algorithm optimization and discovery of new methods of processing existing data.
But more to the point of the hw/sw arguments, I do think this type of products could help everybody to see such things are really things of the past now and we need to move on.
Some guy at Tokyo University said: "Software without Hardware is nothing, but Hardware without Software is something". I don't think this is necessarily true anymore. I feel pain when I buy a piece of hardware that I cannot use on Linux because the manufacturers are too afraid to open the API, preventing OSS/Free Software people to write software support for it.
Obvious examples are 3D Video Chips and the dreaded Software Modems. If I'm buying a laptop, I can't have full control on the combination of hardware components, and there are very few laptops that will have fully supported Linux drivers for every single chipset.
I am always forced to sacrifice some functions, because even those vendors with fully supported linux laptops won't have models with the chips that are critical to my specific line of work. So I end up buying a laptop that can't satisfy my needs to the fullest.
Of what use is a piece of hardware if I can't use because I don't have the other "half" of its functions, which are contained inside a binary file? Before trying to bring hw/sw rants to the table, we should ask ourselves why we ended with such a stupid interdependence to one another. Heck, even Transmeta has a hw/sw hybrid CPU now. Ever wondered what would happened if Linus Torvalds were not on the staff and Linux support wasn't on their TODO list? I bet you would have a different opinion on Transmeta.
Really, FPGA could bring Software Development to another level, where we could have non-OS dependent (or maybe even non-arch dependent) firmware, and then we can focus on writing nice APIs instead of device drivers. After all, device support should be a task best suited for the manufacturer, not the systems programmer.
- Otaku no naka no otaku, otaking da!!!
Wannabe Engineer: Application "Engineers" and Network "Engineers." Requirement: You're the guy down the street that "knows stuff about computers." A degree in IS, a diploma from ITT Tech and Certifications are all optional.
I'm not an Engineer, But I Play One At Work: Software "Engineers." Requirement: A CS degree. You think you're cool because you hack XML. You think you know stuff about computers, but you couldn't so much as recognize a K-Map if it slapped you in the face. You've heard of "assembly" programming, but you've never actually seen it.
Real Engineer (junior grade): Electrical/Computer Engineers. Requirement: A B.S. in Electrical Engineering. You actually know something. You eat Verilog for breakfast and assembly for lunch. You could probably design a power supply for your computer from scratch, but it wouldn't have good voltage regulation.
Real Engineer: Requirement: PE. You think you are a demigod, and all the Engineer(j.g.)'s simultaneously despise you and want to be you. You dream in SPICE and FORTRAN and scorn those who rely on silly schematic capture tools, since you write all of your netlists in vi.
Today's Sesame Street was brought to you by the number e.
Well, Altera had the Excalibur system out for several years: it's their large FPGA with VHDL synthesis tools, including several parametrized CPU cores: MIPS and ARM (requiring license) and their own NIOS CPU. The cores can be customized with different peripherals, and, in the case of NIOS, can be even modified to implement a 6-bit or a 32-bit CPU. The CPUs use up a fraction of tens of thousands of gates---the rest is available for custom digital logic designed using standard FPGA techniques.
There is a companion Linux implementation, running on the CPU. The basic Excalibur kit (software and eval board) is around $2k, and the Linux for NIOS kit costs another 2k, IIRC.
Furthermore, Altera and XILINX were planning (or maybe already have) FPGAS with hardwired CPU (ARM or MIPS) sitting in the corner. This tends to leave more gates for the programmable part, and ive better speed.
In other words, nothing new under the sun here.
You forget that a PE also requires 5 years of post-graduate work experience under another PE. And the exam is not trivial. Professionalism is subjective (notice, I said you think you're a demigod -- the junior Egnineer's envy you because you get paid a lot). However, you don't get to be a PE without having a good idea of what you're doing.
Today's Sesame Street was brought to you by the number e.