PSL â Property Specification Language - OCP-IP
PSL â Property Specification Language - OCP-IP
PSL â Property Specification Language - OCP-IP
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>OCP</strong> <strong>PSL</strong> Package<br />
Copyright © 2002-2006 Nokia Corporation. This file is subject to the<br />
terms and conditions included in the license.txt file [located at the<br />
root level of this directory/included in set of files to which this file<br />
belongs] (the "License Terms"); You may not use this file except in<br />
compliance with the License Terms."<br />
1 © 2005 Nokia <strong>OCP</strong> <strong>PSL</strong> Package Introduction.ppt / 2006-05-12 / S.M
Content<br />
ABV – Assertion-Based Verification<br />
<strong>PSL</strong> – <strong>Property</strong> <strong>Specification</strong> <strong>Language</strong><br />
Motivation, Requirements & Content<br />
Verification Flow<br />
Installation & Integration<br />
Known Problems and Limitations<br />
Present & Future<br />
Conclusions<br />
2 © 2005 Nokia <strong>OCP</strong> <strong>PSL</strong> Package Introduction.ppt / 2006-05-12 / S.M
ABV – Assertion-Based Verification<br />
• The purpose is to convert functional features of a specification into explicit<br />
hardware properties<br />
• An assertion can be considered as an implementation of a property<br />
• Several languages are available for implementation (e.g. <strong>PSL</strong>, SystemVerilog,<br />
the e language, OpenVera, …)<br />
• Assertions describe the behaviour of logic over time<br />
• Assertions can be compiled and simulated as HDL descriptions<br />
• Fully automatic verification method<br />
• Increased visibility & simplified debugging<br />
• The target is to improve both verification quality and efficiency!<br />
3 © 2005 Nokia <strong>OCP</strong> <strong>PSL</strong> Package Introduction.ppt / 2006-05-12 / S.M
ABV – Assertion-Based Verification<br />
ALU ALU ALU<br />
Test Bench<br />
<strong>OCP</strong><br />
Register IF<br />
Register IF<br />
ALU ALU ALU<br />
It is very difficult to backpropagate<br />
bugs of internal<br />
components!<br />
Bugs of an interconnection<br />
might lead to a complete<br />
verification nightmare!<br />
ALU ALU ALU<br />
FSM<br />
Assertions trigger<br />
immediately and bring<br />
bugs closer to their source!<br />
4 © 2005 Nokia <strong>OCP</strong> <strong>PSL</strong> Package Introduction.ppt / 2006-05-12 / S.M
<strong>PSL</strong> – <strong>Property</strong> <strong>Specification</strong> <strong>Language</strong><br />
• Hardware property (not verification) language!<br />
• Utilized to implement assertions (not test benches)!<br />
• The purpose is to complement the traditional methodologies<br />
• Consistent, simple, and powerful language<br />
• Declarative and structural syntax<br />
• Very low learning threshold<br />
• Four (4) different layers enable sustainable verification environments<br />
• VHDL and Verilog flavors are provided<br />
• Widely accepted standard from Accellera and IEEE<br />
5 © 2005 Nokia <strong>OCP</strong> <strong>PSL</strong> Package Introduction.ppt / 2006-05-12 / S.M
<strong>PSL</strong> – <strong>Property</strong> <strong>Specification</strong> <strong>Language</strong><br />
Boolean expressions i.e. a state of the DUV<br />
property EXAMPLE is<br />
never {a = ‘1’ and b = ‘1’};<br />
Sequential expressions i.e. a sequence of states of the DUV<br />
property EXAMPLE is<br />
always {a = ‘0’ and b = ‘0’} |-> -- Precondition<br />
{c = ‘0’ and d = ‘0’; -- Consequence<br />
c = ‘1’ and d = ‘1’ [*2];<br />
c = ‘0’ and d = ‘0’};<br />
Both legal and illegal states or sequences of states can be determined!<br />
6 © 2005 Nokia <strong>OCP</strong> <strong>PSL</strong> Package Introduction.ppt / 2006-05-12 / S.M
<strong>PSL</strong> – <strong>Property</strong> <strong>Specification</strong> <strong>Language</strong><br />
“No ‘X’ or ‘Z’ on the master addr (MAddr) during the request phase”<br />
property <strong>OCP</strong><strong>PSL</strong>_MADDR_ISUNKNOWN is<br />
never {MCmd /= <strong>OCP</strong>_IDLE and isunknown(MAddr)};<br />
“The master address (MAddr) must remain stable during the request phase”<br />
property <strong>OCP</strong><strong>PSL</strong>_MADDR_STABLE is<br />
always {MCmd /= <strong>OCP</strong>_IDLE} |-><br />
{{SCmdAccept = ‘1’} |<br />
{[*1];SCmdAccept = ‘0’ and stable(MAddr) [*];<br />
SCmdAccept = ‘1’ and stable(MAddr)}}!<br />
abort(MReset_n = RESET_ACTIVE);<br />
7 © 2005 Nokia <strong>OCP</strong> <strong>PSL</strong> Package Introduction.ppt / 2006-05-12 / S.M
Motivation<br />
• Since the number of intellectual property (<strong>IP</strong>) cores tends to increase, it has<br />
become vital to verify interconnections<br />
• VHDL or Verilog monitors are not cost-effective<br />
• Verification languages (e.g. the e language and OpenVera) have been available,<br />
but no widely accepted standards<br />
• Tool dependent monitors are out of the question<br />
• Ad-hoc methods have been utilized<br />
• Verification quality has been found more or less inadequate.<br />
• Sustainability has been found insufficient<br />
• There is a clear demand for new kind of verification packages!<br />
8 © 2005 Nokia <strong>OCP</strong> <strong>PSL</strong> Package Introduction.ppt / 2006-05-12 / S.M
Requirements<br />
• Verifies the compatibility of the interconnection with the <strong>OCP</strong> 2.1<br />
• Implementation based on open standards<br />
• Compatible with the existing design and verification flow<br />
• Can be configured according to the DUV<br />
• Can be installed with minimal efforts without access to the source<br />
• No previous knowledge is required<br />
• Only a VHDL simulator is required<br />
• Cost-effective in terms of maintenance and support<br />
• Completely reusable<br />
9 © 2005 Nokia <strong>OCP</strong> <strong>PSL</strong> Package Introduction.ppt / 2006-05-12 / S.M
Content<br />
• 242 assertions divided to six (6) groups<br />
• Basic signals 55<br />
• Simple extensions 24<br />
• Burst extensions 109<br />
• Tag extensions 15<br />
• Thread extensions 16<br />
• Sideband signals 23<br />
• 92 coverage points divided to three (3) groups<br />
• Basic signals 19<br />
• Simple extensions 9<br />
• Burst extensions 64<br />
10 © 2005 Nokia <strong>OCP</strong> <strong>PSL</strong> Package Introduction.ppt / 2006-05-12 / S.M
Verification Flow<br />
Design<br />
RTL<br />
Test cases<br />
YES<br />
NO<br />
Violations?<br />
Simulate<br />
RTL<br />
NO<br />
Coverage<br />
YES<br />
READY<br />
Complete?<br />
11 © 2005 Nokia <strong>OCP</strong> <strong>PSL</strong> Package Introduction.ppt / 2006-05-12 / S.M
Simulation Performance<br />
• Exhaustive testing in a verification environment<br />
• 6,340 independent requests<br />
• 75 burst sequences containing 19,020 requests<br />
• The CPU time when assertions disabled 132.83s<br />
• The CPU time when assertions enabled 143.42s<br />
• The performance penalty equals to 8.0%<br />
• Very moderate, because the worst-case scenario was applied<br />
• Note that results might vary between different simulators<br />
12 © 2005 Nokia <strong>OCP</strong> <strong>PSL</strong> Package Introduction.ppt / 2006-05-12 / S.M
Installation<br />
• The package consists of templates and must be modified according to the DUV<br />
• The user must …<br />
• set the parameters of the interconnection<br />
• set the entity and architecture pair of verification units<br />
• replace the names of the signals<br />
• Remove assertions and sequences that contain unconnected signals<br />
• Note! The following signals must be determined:<br />
• Clk, MReset_n<br />
• MCmd, MAddr, MData<br />
• SCmdAccept, SResp, SData<br />
• Otherwise auxiliary signals tied to default value must be implemented.<br />
13 © 2005 Nokia <strong>OCP</strong> <strong>PSL</strong> Package Introduction.ppt / 2006-05-12 / S.M
Integration<br />
<strong>OCP</strong><br />
Master<br />
<strong>OCP</strong><br />
Slave<br />
<strong>OCP</strong><br />
Slave<br />
<strong>OCP</strong> 2.1 Interconnection<br />
Violations?<br />
Error msg<br />
<strong>PSL</strong><br />
Assertions<br />
14 © 2005 Nokia <strong>OCP</strong> <strong>PSL</strong> Package Introduction.ppt / 2006-05-12 / S.M
Known Problems and Limitations<br />
• The support for the memory locks and reservation tags of the lazy<br />
synchronization is missing<br />
• The support of the tag and thread extensions is very limited<br />
• The current release does not operate correctly if there are pending transactions<br />
from multiple tags or threads<br />
15 © 2005 Nokia <strong>OCP</strong> <strong>PSL</strong> Package Introduction.ppt / 2006-05-12 / S.M
Conclusions<br />
• The package increases both verification quality and efficiency<br />
• Straightforward installation and integration<br />
• Fully automatic verification method<br />
• Increased visibility & simplified debugging<br />
• Very moderate performance penalty (max 8.0%)<br />
16 © 2005 Nokia <strong>OCP</strong> <strong>PSL</strong> Package Introduction.ppt / 2006-05-12 / S.M