Difference between revisions of "Using FPGA"
From ArmadeusWiki
m (→Chisel) |
(→Developing on the APF FPGA) |
||
Line 10: | Line 10: | ||
| width="50%" | | | width="50%" | | ||
− | === | + | === FPGA Interfaces === |
− | + | ||
+ | * APF9328 : [[IMX9328-Spartan3 interface description]] | ||
+ | * APF27 : [[IMX27-Spartan3A interface description]] | ||
+ | * APF51 : [[IMX51-Spartan6 interface description]] | ||
+ | * APF6SP: | ||
+ | ** [[IMX6-CycloneV interface description | IMX6-CycloneV interface description (PCIe)]] | ||
+ | ** [[DDR3-CycloneV interface description | DDR3-CycloneV interface description]] | ||
+ | ** [[APF6_SP hirose pinout | Pinout on apf6sp hirose connector]] | ||
| width="50%" | | | width="50%" | | ||
− | |||
− | |||
− | + | ===Using Armadeus FPGA=== | |
− | * [[ | + | Manage the FPGA from Armadeus distribution. |
− | * [[ | + | |
− | + | * [[Configure or flash FPGA ?]] | |
− | + | * Configure the FPGA [[FPGA_loader | from Linux]], [[Target_Software_Installation#FPGA_firmware_test | from U-Boot]], [[PCIe_fpga_load | from PCIe]]. | |
− | + | * Flashing FPGA firmware [[Uboot_FPGA_firmware_update_from_Linux | from Linux]], [[Target_Software_Installation#FPGA_firmware_installation | from U-Boot]] | |
− | * [[ | + | * [[FPGA_register | Access the FPGA address domain from Linux]] |
− | * [[ | + | |
+ | |||
+ | |||
|---------------- | |---------------- | ||
|- style="background:#f4f4f4; color:black; -moz-border-radius:18px;" | |- style="background:#f4f4f4; color:black; -moz-border-radius:18px;" | ||
− | |||
| width="50%" | | | width="50%" | | ||
− | + | === Make some examples === | |
− | === | + | |
These examples give the basis to make VHDL design for FPGA. | These examples give the basis to make VHDL design for FPGA. | ||
Line 45: | Line 49: | ||
| width="50%" | | | width="50%" | | ||
− | === | + | === Design Tools=== |
− | + | Description of tools used to simulate, to synthesize, and to download/configure FGPA. | |
− | * [[ | + | '''Xilinx''' |
− | * | + | * [[ISE WebPack installation on Linux| ISE WebPack (Xilinx's free devt tool) installation]] |
− | * | + | * [[Vivado installation on Linux]] |
− | * [[ | + | * [[How_to_make_a_VHDL_design_in_Ubuntu/Debian| How to setup the FPGA toolchain in Ubuntu/Debian]] |
+ | * [[How to simulate post synthesis and post place & route design with GHDL]] | ||
+ | '''Altera''' | ||
+ | * [[Quartus | Quartus Web edition (Altera's free devt tool)]] | ||
+ | * [[Modelsim-Altera | Install Modelsim-Altera (starter edition)]] | ||
Line 59: | Line 67: | ||
| width="50%" | | | width="50%" | | ||
− | === | + | === Automatize FPGA design making === |
==== [[Peripherals On Demand]] ==== | ==== [[Peripherals On Demand]] ==== | ||
Line 67: | Line 75: | ||
With migen, it's possible to develop FPGA design in Python then generate Verilog for synthezis. | With migen, it's possible to develop FPGA design in Python then generate Verilog for synthezis. | ||
− | |||
==== [[Chisel]] ==== | ==== [[Chisel]] ==== | ||
With Chisel, it's possible to develop FPGA design in Scala then generate C++ model for simulation and Verilog model for synthezis. | With Chisel, it's possible to develop FPGA design in Scala then generate C++ model for simulation and Verilog model for synthezis. | ||
+ | |||
| width="50%" | | | width="50%" | | ||
Line 81: | Line 89: | ||
=== Verilog === | === Verilog === | ||
− | |||
− | |||
|---------------- | |---------------- | ||
|- style="background:#f4f4f4; color:black; -moz-border-radius:18px;" | |- style="background:#f4f4f4; color:black; -moz-border-radius:18px;" | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
| width="50%" | | | width="50%" | | ||
Line 115: | Line 108: | ||
''' CycloneV''' | ''' CycloneV''' | ||
* [https://www.altera.com/products/fpga/cyclone-series/cyclone-v/overview.html CycloneV overview from altera] | * [https://www.altera.com/products/fpga/cyclone-series/cyclone-v/overview.html CycloneV overview from altera] | ||
− | + | | width="50%" | | |
|} | |} |
Revision as of 14:06, 1 February 2016
Developing on the APF FPGA
FPGA Interfaces
|
Using Armadeus FPGAManage the FPGA from Armadeus distribution.
|
Make some examplesThese examples give the basis to make VHDL design for FPGA.
|
Design ToolsDescription of tools used to simulate, to synthesize, and to download/configure FGPA. Xilinx
Altera
|
Automatize FPGA design makingPeripherals On DemandFor complex projects, POD should be used to simplify design. MigenWith migen, it's possible to develop FPGA design in Python then generate Verilog for synthezis. ChiselWith Chisel, it's possible to develop FPGA design in Scala then generate C++ model for simulation and Verilog model for synthezis. |
VHDL
Verilog |
LinksSome useful links. Wishbone Spartan CycloneV |