| 1 | /******************************************************************** |
|---|
| 2 | * COPYRIGHT LIP6 2014 |
|---|
| 3 | *-----------------------------------------------------------------*/ |
|---|
| 4 | /** |
|---|
| 5 | * @file stream_merger.v |
|---|
| 6 | * @brief Receives time-stamped {Downscaled RAW Video, Compressed Video, Raw EXG, Compressed EXG, Compressed Audio) |
|---|
| 7 | * and sends them to tramission Card (exptected to be via HSMC) |
|---|
| 8 | * |
|---|
| 9 | * This module receives three components of SmartEEG data. |
|---|
| 10 | * 1- Time-stamped downscaled RAW (for live privew) and Compressed Video from the Video coder via AvalonST sinks. |
|---|
| 11 | * 2- Time stamped compressed Audio via AvalonST sink |
|---|
| 12 | * 3- Time stamped RAW and Compressed EXG data via AvalonST sinks |
|---|
| 13 | * It transmits these data channels to transmitter card (ARM-based CycloneV FPGA SocKit board connected via HSMC) |
|---|
| 14 | * |
|---|
| 15 | * @author S. Z. Ahmed <syed-zahid.ahmed@lip6.fr> |
|---|
| 16 | * @author L. Lambert <laurent.lambert@lip6.fr> |
|---|
| 17 | * @date Fri. 28 Feb. 2014 |
|---|
| 18 | * |
|---|
| 19 | * Revision History |
|---|
| 20 | * @version V1.0 Fri. 28 Feb. 2014 {Initial Arch.: Template file created with qsys gui} |
|---|
| 21 | * |
|---|
| 22 | *******************************************************************/ |
|---|
| 23 | |
|---|
| 24 | `timescale 1 ps / 1 ps |
|---|
| 25 | module stream_merger #( |
|---|
| 26 | parameter AUTO_CLOCK_CLOCK_RATE = "-1" |
|---|
| 27 | ) ( |
|---|
| 28 | input wire clk, // clock.clk |
|---|
| 29 | input wire reset, // reset.reset |
|---|
| 30 | input wire [7:0] avs_ctrl_address, // ctrl.address |
|---|
| 31 | input wire avs_ctrl_read, // .read |
|---|
| 32 | output wire [31:0] avs_ctrl_readdata, // .readdata |
|---|
| 33 | input wire avs_ctrl_write, // .write |
|---|
| 34 | input wire [31:0] avs_ctrl_writedata, // .writedata |
|---|
| 35 | output wire avs_ctrl_waitrequest, // .waitrequest |
|---|
| 36 | input wire [31:0] asi_raw_video_data, // raw_video.data |
|---|
| 37 | output wire asi_raw_video_ready, // .ready |
|---|
| 38 | input wire asi_raw_video_valid, // .valid |
|---|
| 39 | input wire [31:0] asi_raw_exg_data, // raw_exg.data |
|---|
| 40 | output wire asi_raw_exg_ready, // .ready |
|---|
| 41 | input wire asi_raw_exg_valid, // .valid |
|---|
| 42 | input wire [31:0] asi_comp_video_data, // comp_video.data |
|---|
| 43 | output wire asi_comp_video_ready, // .ready |
|---|
| 44 | input wire asi_comp_video_valid, // .valid |
|---|
| 45 | input wire [31:0] asi_comp_exg_data, // comp_exg.data |
|---|
| 46 | output wire asi_comp_exg_ready, // .ready |
|---|
| 47 | input wire asi_comp_exg_valid, // .valid |
|---|
| 48 | input wire [31:0] asi_comp_audio_data, // comp_audio.data |
|---|
| 49 | output wire asi_comp_audio_ready, // .ready |
|---|
| 50 | input wire asi_comp_audio_valid // .valid |
|---|
| 51 | ); |
|---|
| 52 | |
|---|
| 53 | // TODO: Auto-generated HDL template |
|---|
| 54 | |
|---|
| 55 | assign avs_ctrl_waitrequest = 1'b0; |
|---|
| 56 | |
|---|
| 57 | assign avs_ctrl_readdata = 32'b00000000000000000000000000000000; |
|---|
| 58 | |
|---|
| 59 | assign asi_in0_ready = 1'b0; |
|---|
| 60 | |
|---|
| 61 | endmodule |
|---|