:::::::::::::: axi_stream_counter.cpp :::::::::::::: // sadri, this is a simple axi stream counter. int axi_stream_counter ( int * counter_output ) { static int counterValue = 0; counterValue++; *counter_output = counterValue; return 0; } :::::::::::::: axi_stream_counter_range.cpp :::::::::::::: // sadri, this is a simple axi stream counter. int axi_stream_counter_range ( int count_range, int * counter_output ) { int counterValue = 0; for ( counterValue = 0; counterValue < count_range; counterValue++) *counter_output = counterValue; return 0; } :::::::::::::: axi_stream_gpio.cpp :::::::::::::: // sadri , simple GPIO to AXIS converter. #include "ap_int.h" int axi_stream_gpio ( ap_int<1> InputData, int * OutputData ) { static int bitCounter = 0; static int tmpOutput = 0; tmpOutput = tmpOutput * 2 + InputData; bitCounter ++; if ( bitCounter == 32 ) { *OutputData = tmpOutput; bitCounter = 0; tmpOutput = 0; } return 0; } :::::::::::::: axi_stream_counter_rane_test_bench.cpp :::::::::::::: // Sadri, test bench for axi_stream_counter_range int axi_stream_counter_range ( int , int *); int main ( void ) { int i; int y; for ( i = 0; i < 100 ; i++ ) axi_stream_counter_range ( i, &y ); return 0; } :::::::::::::: axi_stream_counter_test_bench.cpp :::::::::::::: int axi_stream_counter ( int * ); int main ( void ) { int i ; int y ; for ( i = 0 ; i < 100 ; i++ ) axi_stream_counter ( &y ); return 0; }