1 / 18

NoBug Consulting

NoBug Consulting. Formal Verification Services The OCP PSL Assertions Library. NoBug Consulting 2004 - Confidential Information – Do Not Forward. Company Background. Started activity in 1998 Established a design center in Romania in 1999 Focus on advanced digital design and verification

brad
Télécharger la présentation

NoBug Consulting

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. NoBug Consulting Formal Verification Services The OCP PSL Assertions Library NoBug Consulting 2004 - Confidential Information – Do Not Forward

  2. Company Background • Started activity in 1998 • Established a design center in Romania in 1999 • Focus on advanced digital design and verification Key customers NoBug Consulting 2004 - Confidential Information – Do Not Forward

  3. NoBug Profile Skilled design and verification teams delivering complete solutions: • Functional Verification Services • Formal Verification Services - quality FV that is reusable in the verification flow • IP development (Specman e, PSL, HDL) NoBug Consulting 2004 - Confidential Information – Do Not Forward

  4. Proposal: The OCP PSL Assertions Library The PSL Assertions Library enables one to quickly verify:- Compliance of cores to the OCP standard- Compatibility of master and slave peersThe library currently supports the following:- standard versions: OCP 1.0, OCP 2.0- implementation languages: PSL/EDL, PSL/Verilog- EDA tools: IBM’s FoCs, Cadence’s Incisive NoBug Consulting 2004 - Confidential Information – Do Not Forward

  5. NoBug OCP PSL Assertions Library - Contents • Source code: • - PSL Assertions • - Verilog checkers • Complete documentation: • - User Guide • - Examples • - Well commented source code • Configuration management files and scripts: • - Configuration files • - Checking and preprocessing scripts NoBug Consulting 2004 - Confidential Information – Do Not Forward

  6. NoBug OCP PSL Assertions Library - Benefits • Ready to use set of verification components • Complete coverage of signal behaviors which are specified by the standard • Proven, reliable verification logic • Open architecture, easy to extend and customize NoBug Consulting 2004 - Confidential Information – Do Not Forward

  7. NoBug OCP PSL Assertions Library - Challenges • The library has been used and tested internally, and has also been tried by a couple of NoBug clients and partners • However, it still needs: • - more usability inputs from users • - broader tool support • The library may benefit from: • - configuration management GUI NoBug Consulting 2004 - Confidential Information – Do Not Forward

  8. NoBug OCP Assertions Library – Description • Assertion Based Verification (AVB) • Architecture • Configuration files • Rules files • Support scripts - Check configuration - Extract relevant rules for specific device NoBug Consulting 2004 - Confidential Information – Do Not Forward

  9. NoBug OCP PSL Assertions Library - Functional Coverage Supported signals: - All Data Flow signals - Basic Signals - Simple Extension Signals - Burst Extension Signals - Thread Extension Signals All the signal behavior which is required in the standard is covered. NoBug Consulting 2004 - Confidential Information – Do Not Forward

  10. …define ($[mdatahandshake]$, $[1]$)… ifelse( eval(mdatahandshake==1), 1, $[vunit datahandshake_group_MDataValid_hold {…} ]$, $[ ]$)ifelse( eval(mdatahandshake==0), 1, $[vunit write_request_group_MData_hold {…} ]$, $[ ]$) preprocessing vunit datahandshake_group_MDataValid_hold {…} NoBug OCP PSL Assertions Library - Customization Uses preprocessing Configuration files Automated selection of rules using the preprocessing filter NoBug Consulting 2004 - Confidential Information – Do Not Forward

  11. CONFIGURATION FILESmaster.conf, slave.conf, protocol.conf, slave_tieoff.conf, master_tieoff.conf USER ocp.sh ERRORREPORT vunit… vunit… NOT VALID ConfigurationCheckcheck.conf preprocessing vunit… VALID RULES FILES- Master rules- Slave rules FINAL LIBRARY INTEGRATION NoBug OCP PSL Assertions Library - General Flow NoBug Consulting 2004 - Confidential Information – Do Not Forward

  12. NoBug OCP PSL Assertions Library – Code Organization RULES MASTER ocp.rules basic.rules simple.rules threads.rules transaction.rules SLAVE ocp.rules basic.rules simple.rules threads.rules transaction.rules basic_lib.rules ocp.rules SCRIPTS ocp.sh spp tieoff_replace.sh CONF Master.conf Slave.conf Protocol.conf Master_tieoff.conf Slave_tieoff.conf Check.conf OCP_def.conf NoBug Consulting 2004 - Confidential Information – Do Not Forward

  13. NoBug OCP PSL Assertions Library - PSL Assertions LOGIC STRUCTURE - mapped to OCP defined hierarchy: TRANSACTION transaction_request_response_begin_order TRANSFER TRANSFER … TRANSFER burst_request_MBurstSeq_notillegal PHASE PHASE … PHASE request_PHASE_MCmd_notillegal GROUP TIMING INFORMATION read_request_group_MCmd_hold SIGNAL SIGNAL … SIGNAL - group rules, phase rule, transfer rules, transaction rules NoBug Consulting 2004 - Confidential Information – Do Not Forward

  14. NoBug OCP PSL Assertions Library – Naming Conventions - follows the OCP hierarchy GRAMMAR: rule_name ::= Transaction Transfer Phase Signal PropertyTransaction ::= ‘transaction_’ | ’burst_’Transfer ::= | ‘read_’ | ’write_’ | ‘writenoutpost_’ | ‘readex_’ | ‘writeconditional_’ | ‘readlinked_’ | ‘broadcast_’ |Phase ::= | ‘request_’ | ‘response_’ | ‘datahandshake_’ |Group ::= ‘group_’Signal ::= <OCP_signalname>’_’Property ::= ‘hold’ | ‘hold_notice’ | ‘timing’ | ‘notillegal ‘ | etc. E.g. vunitread_request_group_Maddr_hold { …} refers to a read transfer, the request phase, Maddr signal and expresses a hold property NoBug Consulting 2004 - Confidential Information – Do Not Forward

  15. Rule Example (Assertion Example) Before preprocessing define ($[formula_bus_hold]$, $[always {rose(start_evnt && !end_evnt)} |=> {{sign[eval(bus_wdth-1):0]==prev(sign[eval(bus_wdth-1):0]) && !end_evnt}[*]; sign[eval(bus_wdth-1):0]==prev(sign[eval(bus_wdth-1):0]) && end_evnt}]$) … ifelse (eval(mdatahandshake==1),1, $[define($[bus_wdth]$,$[mdata_wdth]$) define($[sign]$,$[MData]$) vunit datahandshake_group_MData_hold { default clock = CLK; endpoint start_evnt = {write_datahandshake_begin}; endpoint end_evnt = {write_datahandshake_end}; property datahandshake_group_MData_hold = formula_bus_hold; assert datahandshake_group_MData_hold; } ]$,$[ ]$) preprocessing NoBug Consulting 2004 - Confidential Information – Do Not Forward

  16. Rule Example (Assertion Example) After preprocessing (final vunit) vunit datahandshake_group_MData_hold { default clock = CLK; endpoint start_evnt = {(rose(MDataValid) || (MDataValid && prev((MDataValid && SDataAccept))))}; endpoint end_evnt = {(MDataValid && SDataAccept)}; property datahandshake_group_MData_hold = always {rose(start_evnt && !end_evnt)} |=> {{MData[31:0]==prev(MData[31:0]) && !end_evnt}[*]; MData[31:0]==prev(MData[31:0]) && end_evnt}; assert datahandshake_group_MData_hold; } preprocessing NoBug Consulting 2004 - Confidential Information – Do Not Forward

  17. Supported subset of PSL • Flavor EDL – IBM Tools / Translated in Verilog (VHDL) • Flavor Verilog – 2 versions more general (we have) • customized (we did) • Support for future extensions of PSL (supported) subset • basic_lib.rules • PREPROCESSING NAMED PROPERTIES NoBug Consulting 2004 - Confidential Information – Do Not Forward

  18. Summary NoBug offers to donate the OCP PSL Assertions Library, an open source, easy to extend and customize resource for validating OCP cores through the ABV approach. NoBug Consulting 2004 - Confidential Information – Do Not Forward

More Related