Escolar Documentos
Profissional Documentos
Cultura Documentos
Madhusudhana Reddy
Mindlance Technologies
Agenda
Specifications
Normal functionality
Features
Relation bw Inputs
Relation bw Outputs
Warnings
Error Scenarios
3
Global signals
Reset of DUT
Default values
Signal transitions
State transitions
Reserved values
Assertion usage in DV
Part of assertions
Continue
Property dut_on(
@(posedge ACLK ) ARESETn |=> VALID );
Endproperty
Reset
Property reset_sig(clk,ARESETn);
10
11
Property Rst_rv(
@(posedge ACLK) !ARESETn |-> (
AWVALID==0 &&
WVALID==0 &&
ARVALID==0 &&
BVALID== 0
)
)
Assert_Rst_rv: assert property( Rst_rv)
12
13
14
15
16
17
18
);
19
Assert property (
20
@(posedge ACLK)
AWVALID->( AWLEN>=min && AWLEN <=max);
Endproperty
Range_assert:assert property(xxx_range(0,15));
21
Valid transaction
property valid_trans(valid,ready);
@(posedge ACLK)
(valid && ready) ;
Endproperty
22
Inside
Property range_inside;
@(posedge ACLK) arlen inside{1,16};
Endproperty
23
ERROR
24
Property valid_check(
@(posedge ACLK)
ARVALID|->$stable(ARADDR)
Endpropoerty
Assert_valid_check:assert property ( valid_check);
25
Property valid_check(
@(posedge ACLK) (ARVALID==1 && ARREADY==1) |>$stable(ARADDR)
Endpropoerty
Assert_valid_check:assert property ( valid_check);
26
Property Rdata_check(
@(posedge ACLK) (RVALID==1 && RREADY==1)
|->$stable(RDATA)
Endpropoerty
Assert_rdata_check:assert property
( Rdata_check);
27
Burst_Completion_check
Property last_tr_check(
@(posedge ACLK) (RVALID==1 && RREADY==1
&& RLAST==1) |->$stable(RDATA)
Endpropoerty
Assert_rdata_check:assert property
( last_tr_check);
28
Property total_tr(
@(posedge ACLK)
(ARADDR && ARVALID) |=> ##3 (ARVALID && RREADY) ##3
( ARVALID && RREADY && $stable(RDATA) ##1 ( ARVALID
&& RREADY && $stable(RDATA) ( ARVALID && RREADY &&
RLAST && $stable(RDATA) )
29
Out of transaction
Sequence s;
(ARVALID ##1 ARREADY)[*2] ;
End sequence
Property out_tr( @(posedge ACLK)
ARVALID|->s; Endproperty
30
Property xxx
31
WRITE BURST
Property xyz
@(posedge ACLK)
(AWVALID && AWREADY)|=>[*1:$] ($stable(WDATA))[->1:4];
endproperty
32
WRITE BURST
Sequence s;
33
WRITE BURST
Sequence s;
34
WRITE BURST
Sequence s;
35
BURST_TYPE_CHECK:assert ( AWBURST<3 ||
ARBURST<3 ) else $warning ( This is reserved
burst type)
36
BURST_TYPE_CHECK:assert ( AWBURST<3 ||
ARBURST<3 ) else $error ( This burst type is not
implemented)
37
38
Sequence s
@(posedge clk) a ##1 b;
Endsequence
Propert p;
a->s;
Endproperty
Assert property(p);
Cover property(p)
39
SLAVE RESPONSE
Property Rsp
40
Endproperty
41
Endproperty
42