AXI4 Speedgoat Target Machine Data Streaming

1 view (last 30 days)
Edmond Hameli
Edmond Hameli on 3 Dec 2019
Edited: Dimitri MANKOV on 22 Jun 2021
I am doing my master thesis on programming a RCP Teststand. We have an analog and digital IO Card and a Kintex 7 FPGA on a Speedgoat target machine.
Now my problem is, that i would like to create a simlunk model that takes the input data via AXI and save them to the SDI (that shouldn't be that hard to save data to SDI) and an internal SSD (installed on the target machine) respectively. I have looked up the "Speedgoat IO3xx Direct Stream Example" but things are not quite clear yet.
I am a matlab/simlink beginner and would like to understand just a few things to get my setup up and running.
How do i read in data from the IO cards --> where is this data stored/ where can i store it?
The singnal(s) is/are sampled with 100MHz and my target machine is running at 100kHz, so i have upsample or something right?
How do i write/read data to/from the Model to the RAM via AXI and how do i store Measurements from the model to the target machine ssd?
The examples use some weird subsystems that i think i wouldn't need so i need to know some basic stuff about where my signals trasmitt through and where i can sample and store them...
Thanks in advance...
Eddie

Answers (1)

Dimitri MANKOV
Dimitri MANKOV on 22 Jun 2021
Edited: Dimitri MANKOV on 22 Jun 2021
Hi Eddie,
I don't know if this question is still relevant for you, but if yes, would you mind forwarding it to support@speedgoat.com? We'd be happy to help you with usage notes and provide some example models.
Best,
Dimitri
  1 Comment
Dimitri MANKOV
Dimitri MANKOV on 22 Jun 2021
The documentation on this topic has also been vastly improved since 2019, so you should find answers to most of your questions on this page:
In short, you can use the AXI4 Stream or AXI4 Master interfaces to exchange data between the CPU of your target machine and the FPGA via the RAM. How the data is packed/sampled is fully up to you and can be customized according to your needs. For example, if you'd like to transmit data sampled at 100MHz to the real-time application running on the CPU with a frequency of 10kHz, you can pack it into frames of 10'000 samples each, and log it on the CPU one frame at a time.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by