-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathaxi_waddr_props.sv
70 lines (60 loc) · 1.91 KB
/
axi_waddr_props.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
61
62
63
64
65
66
67
68
69
interface axic_waddr
#(
parameter integer maxwait = 5,
parameter integer C_AXI_DATA_WIDTH = 32,
parameter integer C_AXI_ADDR_WIDTH = 8
)
(
input wire AXI_ACLK,
input wire AXI_ARESETN,
input wire[C_AXI_ADDR_WIDTH-1:0] AXI_AWADDR,
input wire AXI_AWVALID,
input wire AXI_AWREADY
);
property AXI4_ERRM_AWADDR_STABLE;
@(posedge AXI_ACLK)
!($isunknown({AXI_AWADDR, AXI_AWVALID, AXI_AWREADY})) &
AXI_AWVALID & !AXI_AWREADY & AXI_ARESETN
##1 AXI_ARESETN
|-> $stable(AXI_AWADDR);
endproperty
AXI4_ERRM_AWADDR_STABLE_inst: assert property (AXI4_ERRM_AWADDR_STABLE);
property AXI4_ERRM_AWADDR_X;
@(posedge AXI_ACLK)
AXI_AWVALID & AXI_ARESETN
|-> !$isunknown({AXI_AWADDR});
endproperty
AXI4_ERRM_AWADDR_X_inst: assert property (AXI4_ERRM_AWADDR_X);
property AXI4_ERRM_AWVALID_RESET;
@(posedge AXI_ACLK)
!AXI_ARESETN & !$isunknown(AXI_ARESETN)
##1 AXI_ARESETN
|-> !AXI_AWVALID;
endproperty
AXI4_ERRM_AWVALID_RESET_inst: assert property (AXI4_ERRM_AWVALID_RESET);
property AXI4_ERRM_AWVALID_STABLE;
@(posedge AXI_ACLK)
AXI_ARESETN & AXI_AWVALID & !AXI_AWREADY & !$isunknown({AXI_AWVALID, AXI_AWREADY})
##1 AXI_ARESETN
|-> AXI_AWVALID;
endproperty
AXI4_ERRM_AWVALID_STABLE_inst: assert property (AXI4_ERRM_AWVALID_STABLE);
property AXI4_ERRM_AWVALID_X;
@(posedge AXI_ACLK)
AXI_ARESETN
|-> !$isunknown({AXI_AWVALID});
endproperty
AXI4_ERRM_AWVALID_X_inst: assert property (AXI4_ERRM_AWVALID_X);
property AXI4_ERRS_AWREADY_X;
@(posedge AXI_ACLK)
AXI_ARESETN
|-> !$isunknown({AXI_AWREADY});
endproperty
AXI4_ERRS_AWREADY_X_inst: assert property (AXI4_ERRS_AWREADY_X);
property AXI4_RECS_AWREADY_MAX_WAIT;
@(posedge AXI_ACLK)
AXI_ARESETN & AXI_AWVALID & !AXI_AWREADY & !$isunknown({AXI_AWVALID, AXI_AWREADY})
|-> ##[1:maxwait] AXI_AWREADY;
endproperty
AXI4_RECS_AWREADY_MAX_WAIT_inst: assert property (AXI4_RECS_AWREADY_MAX_WAIT);
endinterface: axic_waddr