User Tools

Site Tools


adding_fpga_board_support

Steps For Adding New FPGA Board Support

1) Device Characterization

  • Use script provided in hwtest
    • perl hwtest.pl <Device Family> <Device Name>
    • i.e. “perl hwtest.pl CycloneV 5CSEMA5F31C6”
  • Move legup/hwtest/<Device Family>/profile.tcl to legup/boards/<Device Family>/<Device Family>.tcl
Special Note on multiplier characterization:
Characterization is always performed by inserting input and output registers
around the operation to be analyzed. The multiplier implemented on the DSP
is special in that depending on the quartus version and DSP block, these
input/output registers which are used to separate the datapath from possible
I/O delay from routing to pins may be placed onto the DSP block itself.
Therefore, with this technique, we cannot obtain the correct information for
DSP multipliers of latency 0.

2) Update Configuration Files

  • legup/examples/legup.tcl
    • add board and device_family information
  • legup/examples/Makefile.config
    • add board and device_family information
  • llvm/lib/Target/Verilog/LegupConfig.h
    • add FPGABoard information
  • llvm/lib/Target/Verilog/VerilogWriter.cpp
  • create legup/examples/<FPGA_BOARD>.tcl

3) Test for optimal clock period constraint by changing CLOCK_PERIOD parameter in legup.tcl

4) Processor Directories

  • Create directories for processor and memory under legup/tiger/processor

5) Hybrid Flow

  • To-do
adding_fpga_board_support.txt · Last modified: 2014/07/25 14:06 by joychen