blob: ed0d64f964d60977822aab9a3295ba387d52903e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
// Copyright 2024 Intel Corporation.
//
// This software and the related documents are Intel copyrighted materials,
// and your use of them is governed by the express license under which they
// were provided to you ("License"). Unless the License provides otherwise,
// you may not use, modify, copy, publish, distribute, disclose or transmit
// this software or the related documents without Intel's prior written
// permission.
//
// This software and the related documents are provided as is, with no express
// or implied warranties, other than those that are expressly stated in the
// License.
// This package keeps all of the arch parameters related to the output streamer
// For now it only includes the config struct
`resetall
`undefineall
package dla_output_streamer_pkg;
import dla_common_pkg::*;
`include "dla_output_streamer_config.svh"
typedef struct {
int TDATA_WIDTH; // AXI data width
int CONFIG_WIDTH; // typically 32
int C_VECTOR; // architecture c vector
int FIFO_DEPTH; // depth of the dc data fifo
device_family_t DEVICE; // device
} output_streamer_arch_t;
virtual class data_t #(int DATA_WIDTH);
// Define a packed struct for a single data element with the specified width
typedef struct packed {
logic [DATA_WIDTH-1:0] d;
} t;
endclass
virtual class output_streamer_out_data_t #(int WIDTH);
typedef data_t#(
.DATA_WIDTH(WIDTH))::t t;
endclass
endpackage
|