PLEASE NOTE: This article is obsolete or related to a discontinued product.

FOX VHDL a FPGA development board for the FOX Board

Warning
FOXVHDL Board is discontinued.
A new VHDL board is available on here.

The FOX VHDL is a daughterboard for the FOX Board which is useful to evaluate the huge potentiality of the FPGA used as a hardware co-processor on a Linux system.


The FOX VHDL top view
FOX VHDL board is the same size of the FOX Board and can be mounted through J6 and J7 extension headers by two 20x2 pin connectors. This board uses a powerful ProAsic 3 FPGA made by Actel with 250K gates that can be programmed at run-time directly from the FoxBoard without any additional hardware programming tool with user designed hardware circuits and peripherals.

One of the first examples of how to use this board is a concept VHDL implementation of a VGA video interface.

The main scope of the FOX VHDL Board is to enable a different model of development for the hardware/software design in a Linux based project.

Instead of trying to transform the operating system in to a real time one, to control fast peripherals and protocols, the aim is to couple the Linux processor with a fast, reprogrammable hardware logic so as to have a standard interface towards the operating system and with specialized programmed logic towards the external hardware. This allows to manage with the hard real time part of the application against fast hardware peripherals using custom logic at hardware speed and to free the operating system from the stress to follow directly the fast peripherals.

If you also consider the possibility to reprogram the hardware logic, the dynamic reconfiguration of the hardware could bring new opportunities in the design patterns where the frontier between hardware and software is easily adapted to the real necessities, and flexibility becomes a real asset for the electronic and information technology designer.

The FOX VHDL Board is a good opportunity to experiment fast custom logic circuits in relation to a Linux platform thus enabling users to develop the hardware they need by themselves with the possibility to reconfigure it at will, even from remote. This opens a whole field of opportunity towards hardware and software development.

Hardware description

The main component of the new FOXVHDL Board is the Actel A3P250 ProAsic3 FPGA with 250,000 gates in a FBGA package with 256 ball grid array pins in the small size of 17 by 17 mm. Then we have two banks of 256K x 16 bits CMOS SRAM, with access time 20ns in 44-pin TSOP package. The two banks are separately addressable by the FPGA.

The other hardware on board is devoted to the interfacing of video output monitors . In fact a resistor network connected to the FPGA realizes a D/A converter for three video channels that can be connected to a standard VGA monitor: The video circuit logic will all be inside the FPGA, programmed in VHDL with an open project developed in these pages as one of the first applications of this VHDL Development System.

Another important part is a 40 pins header step 0.1" (2.54mm) (JP3) that delivers 35 signals to/from the FPGA matrix logic with capabilities of more than 300 MHz signals and standard 3.3Volts logic and LVDS interfaces. Through this header we plan to introduce small boards with direct connection to cheap colour LCD panels as another kind of video output soon.

The headers JP1 and JP2 of the FOXVHDL Board are for connecting the board directly to the FOX Board. A series of signals for the data and control interface to and from the FOX VHDL board with the FOX Board are mapped on those headers.


The FOX VHDL correctly assembled over the Fox Board

FPGA programming

To design with the FPGA, Actel provides a 1 year free license of its Integrated Design Environment Libero Gold Edition for Windows 2000/XP.

With this tool it is possible to edit, synthesize and simulate your FPGA application starting from VHDL code and obtain an object file to transfer in the FPGA Flash memory. It is then possible to transfer the object file to the FOX Board memory and program the FPGA Flash memory directly from the FOX Board.

Two methods are available to transfer the object file to the FPGA Flash memory:

  • Send the file to the FOX Board internal memory with FTP or SSH using a command line tool.
  • Using a simple web interface and by just doing a file upload.

Related links