Slashdot Mirror


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."

7 of 208 comments (clear)

  1. GNU tools? by e__alf · · Score: 3, Informative

    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*

  2. The V2Pro's are very cool parts by nweaver · · Score: 4, Informative

    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
  3. Re:VHDL by dlbowm · · Score: 5, Informative

    Icarus (http://www.icarus.com/eda/verilog/) is a competent Verilog (not VHDL) open source simulator. It even has some support for sythesizing to some FPGA libraries.
    Verilog is more common than VHDL in the US, so this is the only open source HDL tool I've used. Primarily, we are still slaves to Synopsis and Cadence though.

  4. Re:What can you do with it. by anonymous+cupboard · · Score: 4, Informative
    I don't think there is a single 'HOWTO' on the subject, but essentially an FPGA is a chip with a large array of simple logic gates that may be interconnected in a programmable way. Tools exist to simulate and compile logic expressions into a form where they can be downloaded into an FPGA as a gate interconnection matrix. Once the FPGA has been programmed, it then will execute the logic function.

    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.

  5. Re:What can you do with it. by baywulf · · Score: 3, Informative

    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.

  6. Re:VHDL by Colonel+Panic · · Score: 3, Informative

    Well, there have been a couple of attempts, but nothing complete...

    Right now the most interesting one is a VHDL frontend for GCC called GHDL.

    Also note that you need a lot more than a simulator to get it to work with this board: you need a synthesis tool that can map into the Xilinx part. The FPGA companies tend to keep their formats quite proprietary, so don't expect any open source tools for synthesis and tech mapping any time soon.... (unfortunately).

  7. One seriously amazing part by freeio · · Score: 3, Informative

    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