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.
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*
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
As with software, a lot of modules exist (mostly quite expensive) for logic blocks up to and including microprocessor cores. Rather than having a chip with a single function, it is possible to squeeze multiple functions upto the limits imposed by the gate count.
FPGAs can be reprogrammable, or programmable once only. There is a often fusable link inside that once blown prevents reprogramming or designs to be read out.
If you are producing quantity, then you can go from an FPGA component to a gate array which is programmed by a photographic mask during manufacture. The mask is prepared from the same program that created the FPGA. The setup costs are high, but once you talk about big numbers of chips, the component becomes significantly cheaper than an FPGA and often better performing.
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
The book "ASIC" has a good chapter on FPGAs. Go to the following link and review chapter 5. http://www.dacafe.com/ASICs.htm
But the answer your question briefly, the internal structure of the FPGA is an array of computational logic blocks. The boundary between these blocks in the array is routing logic that allows nearly arbitrary connections between the logic blocks. There are also IO blocks at the perimeter of the array. Each logic block typically consists of some combinational logic followed by a register element. The combinational logic element can be programmed to implement arbitrary logic functions of around 4-8 inputs. Thus you can configure a block to be a 1 bit adder, a mux, register, etc. By programming the CLBs and routing between the blocks, an hardware system can be built. You write the hardware description in Verilog, VHDL or schematics capture. Then a synthesizer maps your design to a bit pattern necessary to program the FPGA. You generally program this into the chip or into an external flash memory connected to the FPGA.
Using an FPGA does not in any way require "weird driver CDs". Nor do they prevent the hardware developers from implementing clean well defined, standard interfaces. In fact hardware implemented in an FPGA is no different from the users point of view from hardware implemented any other way, or from embedded software running on a micro-controller for that matter.
If your USB peripherals didn't work properly, its because they were poorly designed. This has nothing to do with the choice of using an FPGA to implement the interface.
To say that hardware engineers are immitating the mistakes of software engineers is ridiculous, (although obviously some are making the same mistakes). Is it therefore perfectly acceptable for software engineers to implement poorly designed interfacesand neglect testing and quality control? I don't think so, but perhaps we have become numb to this issue. Bad engineering is bad engineering. The choice of using FPGAs for an emerging standard is good engineering, because if the standard changes before maturing the hardware does not then become instantly obsolete. This is why FPGAs are popular in mobile telecoms base stations, and rightly so. Being able to upgrade hardware is a good thing. Releasing an immature design is bad, both in hardware and software.
If I seem short sighted, it is because I stand on the shoulders of midgets
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
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