config.yml

Overview

The config.yml file in a directory indicates the root of an instrument.

Usage

Invoke make with CONFIG=path/to/config.yml.

File content

The instrument configuration file has the following mandatory fields:

  • name: instrument name
  • board: board directory - the PART file in a directory indicates the root of a board
  • memory: list of addresses referred each as a set of name and offset
  • control_registers: list of control registers
  • status_registers: list of status registers
  • cores: list of FPGA cores directories - the core_config.tcl file in a directory indicates the root of an FPGA core
  • xdc: list of xdc files
  • drivers: list of C++ drivers files
  • web: list of web files for the web-based interface

The instrument configuration file has the following optional fields:

  • parameters: dictionary of parameters used for the memory configuration
  • modules: list of FPGA modules - the reference must be to the config.yml file located in the FPGA module directory


Important note

Paths are relative to the root of Koheron SDK directory.
Paths referring to the root of the instrument start with ./.

Example

Overview

---
name: instrument
board: boards/red-pitaya

Boards are available in Koheron SDK boards directory.

Memory

parameters:
  fclk0: 200000000
  dac_width: 14
  adc_width: 14
  n_dac: 2
  n_adc: 2

memory:
  - name: control
    offset: '0x60000000'
    range: 4K
  - name: status
    offset: '0x50000000'
    range: 4K

control_registers:
  - led
  - dac[n_dac]

status_registers:
  - adc[n_adc]

Parameters can be used as arguments of the memory addresses and registers.

e.g. adc[n_adc] defines 2 status registers (n_adc = 2).

FPGA

cores:
  - fpga/cores/axi_ctl_register_v1_0
  - fpga/cores/axi_sts_register_v1_0
  - fpga/cores/dna_reader_v1_0

xdc:
  - ./constraints.xdc

Cores are available in Koheron SDK fpga/cores directory.

Drivers

drivers:
  - server/drivers/common.hpp
  - ./driver.hpp

Drivers are available in Koheron SDK server/drivers directory.

Web user interface

web:
  - ./web/index.html
  - web/koheron.ts
  - ./web/instrument.ts
  - ./web/app.ts
  - ./web/control.ts
  - ./web/main.css

Web files are available in Koheron SDK web directory.

See also