Using FPGA: Difference between revisions

From ArmadeusWiki
Line 23: Line 23:
===Configuring Armadeus platform's FPGA===
===Configuring Armadeus platform's FPGA===


'''Platforms'''
* '''APF9328''': [[APF9328_FPGA_configuration | Configure APF9328 FPGA]]
* '''APF9328''': [[APF9328_FPGA_configuration | Configure APF9328 FPGA]]
* '''APF27''': [[APF27_FPGA_configuration | Configure APF27 FPGA]]
* '''APF27''': [[APF27_FPGA_configuration | Configure APF27 FPGA]]
Line 30: Line 31:
* '''OPOS93_SP''': [[OPOS93_SP_FPGA_configuration | Configure OPOS93_SP FPGA]]
* '''OPOS93_SP''': [[OPOS93_SP_FPGA_configuration | Configure OPOS93_SP FPGA]]


* Configure the FPGA [[FPGA_loader | from Linux]], [[Target_Software_Installation#FPGA_firmware_test | from U-Boot]], [[PCIe_fpga_load | from PCIe]].
'''Tools'''
 
* [[FPGA_loader | FPGA loader Linux driver]]
 
* [[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]]
* 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]]
* [[FPGA_register | Access the FPGA address domain from Linux]]

Revision as of 13:34, 3 October 2025


Developing on the APF FPGA

FPGA Interfaces

Configuring Armadeus platform's FPGA

Platforms

Tools

Make some examples

These examples give the basis to make VHDL design for FPGA.



Design Tools

Description of tools used to simulate, to synthesize, and to download/configure FGPA.

Xilinx

Altera

Lattice

Microsemi

Automatize FPGA design making

Peripherals On Demand

For complex projects, POD should be used to simplify design.

FuseSoC

FuseSoC is a builder written in Python used to automatize FPGA constructions

CactusII

Graphical IDE for managing FPGA/ASIC design with IPX-ACT standard.

HDL

VHDL

Verilog

  • Verilator an High speed verilog simulator
  • Icarus Famous open-source verilog simulator
  • SymbiYosys open-source Verilog formal verification

Synthesizable Synchronous HDL

Migen

With migen, it's possible to develop FPGA design in Python then generate Verilog for synthezis.

Chisel

With Chisel, it's possible to develop FPGA design in Scala then generate C++ model for simulation and Verilog model for synthesis. Armadeus system can help you to integrate a Chisel project on Armadeus board.

SpinalHDL

Another HDL generator (VHDL) written in Scala.

Links

Some useful links.

Wishbone

Spartan

CycloneV

OpenSource