Virtual Hardware  Version 0.2 - beta
Simulation Models with Virtual Interfaces for Test Automation
Virtual Streaming Interface (VSI)

Data streaming interface for Cortex-M applications. More...

Content

 VSI API
 Data streaming interface for Cortex-M applications to Python scripting.
 
 VSI Python interface
 VSI python interface.
 

Description

The Virtual Streaming Interface (VSI) is a flexible peripheral that allows to implement a wide range of use cases. It can be used to simulate data streaming such as audio, video and various sensors frequently found in Machine-Learning applications. Eight VSI instances are available and may be used in parallel for simultaneous multi-channel streaming inputs and outputs.

Examples demonstrate the Audio streaming as shown in the diagram below.

Arm VHT CoreStone-300 for Linux and Windows

The VSI implements general purpose peripheral registers, an interrupt peripheral, a timer peripheral, and a DMA peripheral. The following files define the access to the VSI peripherals.

File Description
./interface/include/arm_vsi.h VSI API header file
./interface/python/arm_vsi0.py VSI Python interface script template for instance 0
: :
./interface/python/arm_vsi7.py VSI Python interface script template for instance 7

A read or write access to a VSI peripheral via its API triggers execution of a corresponding function in the Python script that implements the VSI Python interface instance. The concept is shown on the figure below.

Using VSI peripheral