AN 780: Compiling and Customizing an Intel® Arria® 10 Custom Platform for OpenCL*

ID 683045
Date 10/30/2018
Public
Document Table of Contents

1.6.2.2. The board_spec.xml File

The board_spec.xml file contains metadata necessary to describe your hardware system to the Intel® FPGA SDK for OpenCL™ . Include the board_spec.xml file as part of your custom platform deliverable.

The information conveyed in the XML file includes device resource such as ALMs and DSP blocks available, memory component characteristics and channel information if your device supports streaming applications, and kernel interface information.

Below is an example of the board_spec.xml file for the Intel® Arria® 10 GX FPGA Development Kit Reference Platform.

<?xml version="1.0"?>
<board version="18.1" name="a10gx">

 <compile project="top" revision="top" qsys_file="none" generic_kernel="1">
  <generate cmd="echo"/>
  <synthesize cmd="quartus_cdb -t import_compile.tcl"/>
  <auto_migrate platform_type="a10_ref" >
   <include fixes=""/>
   <exclude fixes=""/>
  </auto_migrate>
 </compile>

 <device device_model="10ax115s2f4512sg_dm.xml">
  <used_resources>
   <alms num="36710"/> <!--Total ALMs-ALMs available to kernel_system_inst-->
   <ffs num="146840"/>
   <dsps num="67"/>
   <rams num="224"/>
  </used_resources>
 </device>

 <!-- DDR4-2400 -->
 <global_mem name="DDR" max_bandwidth="19200" interleaved_bytes="1024"      
  config_addr="0x018">
  <interface name="board" port="kernel_mem0" type="slave" width="512" maxburst="16"   
   address="0x00000000" size="0x80000000" latency="240" addpipe="1"/>
 </global_mem>

 <host>
  <kernel_config start="0x00000000" size="0x0100000"/>
 </host>

 <interfaces>
  <interface name="board" port="kernel_cra" type="master" width="64" misc="0"/>
  <interface name="board" port="kernel_irq" type="irq" width="1"/>
  <interface name="board" port="acl_internal_snoop" type="streamsource"   
   enable="SNOOPENABLE" width="31" clock="board.kernel_clk"/>
  <kernel_clk_reset clk="board.kernel_clk" clk2x="board.kernel_clk2x"
   reset="board.kernel_reset"/>
 </interfaces>

</board>