pelillian / iflex-programmer

Tool for programming via SPI the DCE FPGAs on the iFlex

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

alt text

Nearist greatly accelerates big data searches through a revolutionary new hardware platform specifically engineered to handle the computationally demanding task of performing Nearest Neighbor Search on vector representations of content—enabling your search routines to deliver results several orders of magnitude faster than anything else on the market.

Structure

This repository contains the tool required to program the 21 Distance Calculation Engines (DCEs) via the host instead of JTAG. for more information about the DCE see the !!!vsx-core-dce repository!!! spi_cfg hooks onto the VSX spi programming device files.

Build

Run CMake cmake CMakeLists.txt

Run make make

spi_cfg executable will be in './bin'

Arguments

Usage example:

spi_cfg (-b|--board) integer (-l|--lane) integer (-c|--cmd) string [(-h|--help)] [(-a|--sea) string] [(-d|--sed) string] [(-m|--mask) integer] [(-f|--freq) integer] [(-p|--pol) integer] [(-o|--phase) integer]

Options:

-h or --help: Displays this information.

-b or --board integer: Board number. Required.

-l or --lane integer: Lane number. Required.

-c or --cmd string: Command. Required.

-a or --sea string: SEA file.

-d or --sed string: SED file.

-m or --mask integer: FPGA Select.

-f or --freq integer: SPI Frequency.

-p or --pol integer: SPI Polarity.

-o or --phase integer: SPI Phase.

flag description normal value accepted range
-h help, displays above n/a n/a
-b board #, determines the set of device files the utility will hook to in a multiVSX system (mandatory argument) 0 0-99
-l lane #, selects between the 3 lanes of the DCEs on the board selected (mandatory argument) 0 0-2
-c command, see table below for more information (mandatory argument) n/a n/a
-a fully qualified path to Algorithm file to be programmed n/a n/a
-d fully qualified path to Data file to be programmed n/a n/a
-m selects which of the 7 DCE fpgas of the lane and board selected will be programmed with the SED file 0x7f 0x01-0x7f
-f SPI sck Frequency 10 2-10
-p SPI Polarity 0 0-1
-o SPI Phase 0 0-1
DCE FPGA mask (-m)

This is a binary mask. the values in the above table are hexadecimal values. 0x7F in binary is 0111 1111. The value is in big-endian format.

Command Options (-c)

Command Description Req Arguments
reset_all sends a reset command that puts all selected DCE FPGAs into a null state (-m has no effect) n/a
spi_cfg configure setting of the SPI controller in the Artix 7 Agent FPGA -f,-p,-o
prog_pulse sends a test pulse down the SPI lines to ensure everything is initialized correctly n/a
prog_fpga programs the selected DCE FPGAs with the programming files -a,-d,-m

Examples

see scripts in /bin for usage examples

About

Tool for programming via SPI the DCE FPGAs on the iFlex

License:GNU General Public License v3.0


Languages

Language:C 98.7%Language:Shell 1.0%Language:CMake 0.4%