-
Notifications
You must be signed in to change notification settings - Fork 399
/
Copy pathaxis_if.sv
61 lines (43 loc) · 1.06 KB
/
axis_if.sv
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
//------------------------------------------------------------------------------
// axis_if.sv
// published as part of https://github.com/pConst/basic_verilog
// Konstantin Pavlov, [email protected]
//------------------------------------------------------------------------------
// INFO ------------------------------------------------------------------------
// AXI4-Stream instantiation
//
interface axis_if #( parameter
DATA_W = 32,
ID_W = 8,
USER_W = 0
);
localparam KEEP_W = DATA_W/8;
logic [DATA_W-1:0] tdata;
logic [ ID_W-1:0] tdest;
logic [ ID_W-1:0] tid;
logic [KEEP_W-1:0] tkeep;
logic tlast;
logic tready;
logic [USER_W-1:0] tuser;
logic tvalid;
modport master_mp(
input tready,
output tdata,
output tdest,
output tid,
output tkeep,
output tlast,
output tuser,
output tvalid
);
modport slave_mp(
input tdata,
input tdest,
input tid,
input tkeep,
input tlast,
input tuser,
input tvalid,
output tready
);
endinterface