-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathaxi_raddr_props.sv
72 lines (60 loc) · 1.91 KB
/
axi_raddr_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
70
71
interface axic_raddr
#(
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_ARADDR,
input wire AXI_ARVALID,
input wire AXI_ARREADY
);
property AXI4_ERRM_ARADDR_STABLE;
@(posedge AXI_ACLK)
!($isunknown({AXI_ARADDR, AXI_ARVALID, AXI_ARREADY})) &
AXI_ARVALID & !AXI_ARREADY & AXI_ARESETN
##1 AXI_ARESETN
|-> $stable(AXI_ARADDR);
endproperty
AXI4_ERRM_ARADDR_STABLE_inst: assert property (AXI4_ERRM_ARADDR_STABLE);
property AXI4_ERRM_ARADDR_X;
@(posedge AXI_ACLK)
AXI_ARVALID & AXI_ARESETN
|-> !$isunknown({AXI_ARADDR});
endproperty
AXI4_ERRM_ARADDR_X_inst: assert property (AXI4_ERRM_ARADDR_X);
property AXI4_ERRM_ARVALID_RESET;
@(posedge AXI_ACLK)
!AXI_ARESETN & !$isunknown(AXI_ARESETN)
##1 AXI_ARESETN
|-> !AXI_ARVALID;
endproperty
AXI4_ERRM_ARVALID_RESET_inst: assert property (AXI4_ERRM_ARVALID_RESET);
property AXI4_ERRM_ARVALID_STABLE;
@(posedge AXI_ACLK)
AXI_ARESETN & AXI_ARVALID & !AXI_ARREADY & !$isunknown({AXI_ARVALID, AXI_ARREADY})
##1 AXI_ARESETN
|-> AXI_ARVALID;
endproperty
AXI4_ERRM_ARVALID_STABLE_inst: assert property (AXI4_ERRM_ARVALID_STABLE);
property AXI4_ERRM_ARVALID_X;
@(posedge AXI_ACLK)
AXI_ARESETN
|-> !$isunknown({AXI_ARVALID});
endproperty
AXI4_ERRM_ARVALID_X_inst: assert property (AXI4_ERRM_ARVALID_X);
property AXI4_ERRS_ARREADY_X;
@(posedge AXI_ACLK)
AXI_ARESETN
|-> !$isunknown({AXI_ARREADY});
endproperty
AXI4_ERRS_ARREADY_X_inst: assert property (AXI4_ERRS_ARREADY_X);
property AXI4_RECS_ARREADY_MAX_WAIT;
@(posedge AXI_ACLK)
AXI_ARESETN & AXI_ARVALID & !AXI_ARREADY & !$isunknown({AXI_ARVALID, AXI_ARREADY})
|-> ##[1:maxwait] AXI_ARREADY;
endproperty
AXI4_RECS_ARREADY_MAX_WAIT_inst: assert property (AXI4_RECS_ARREADY_MAX_WAIT);
endinterface: axic_raddr