Details

Evaluation on how to use SystemVerilog as a design and assertion language

by Magnusson, Andreas

Abstract (Summary)
SystemVerilog is the first design and verification language that has been standardized and its purpose is to meet the demand that comes with the huge complexity of the chips being built today. SystemVerilog is a superset of Verilog-2001 and adds a fine set of extensions to both design and verification. However, currently there is no defined subset of what can be synthesized and the tool vendors can define by themselves what constructs and methods of the language that can be synthesizable. There is by that mean a divergence when it comes to supported constructs of the language. SystemVerilog also have a subset of assertion capabilities, abbreviated as SVA, which enables the possibility for the designer to specify certain properties of the design that should hold true during verification. This increases observability in the designs and enables other verification methodologies such as formal verification to be adopted. The main purpose of this thesis is to evaluate how SystemVerilog can be used as a design language and to investigate how SystemVerilog assertions (SVA) can be used to verify present VHDL-designs without altering the code, but also to clarify if and how the present design flow will be altered when introducing SystemVerilog. Other intentions with this thesis is to evaluate the maturity of the tools used at the department, when it comes to pure SystemVerilog features, and also to look into some differences of SystemVerilog compared to the pure verification language, ‘e’. In this thesis one can read about methods and constructs of the language that are synthesizable today with Synopsys design compiler. A Fast fourier transform has been implemented in SystemVerilog to test specific constructs of the language and to evaluate the present designability. Moreover, it will cover the present maturity of the simulator and the synthesis tool being used when it comes to pure SystemVerilog features. An assertion based verification of a bus being used at Ericsson is addressed in this document as well as assertions on a pure combinational design. These designs are solely written in VHDL and bound to SVA using a specific wrapper technique that one can read about in the thesis. The thesis also contains information about verification methodologies that can be adopt when using SystemVerilog assertions, as well as guidelines for writing assertions in SystemVerilog. I II Sammanfattning (Abstract in swedish) SystemVerilog är det första design och verifieringsspråk som har standardiserats och dess syfte är att bemöta de krav som kommer med den komplexitet som de chip som byggs i dag har. SystemVerilog är en expansion till det hårdvarubeskrivande språket Verilog-2001 och det har en rad bra utökningar för både design och verifiering. För tillfället finns det dock ingen definition på vilka delar av språket som kan användas för konstruktion och verktygstillverkarna kan själva bestämma vad som kan användas för syntes. Detta medför att det finns skillnader vad beträffar vilka delar av språket som stöds. SystemVerilog har även en underklass som underlättar för skrivandet av avancerade assertions, SVA, som öppnar upp för möjligheten för en designer att specificera visa egenskaper av sin design som skall bestå under verifieringen av designen; annars ges ett felmeddelande. Detta bidrar till ökad observerbarhet i konstruktionen och möjligör användandet av andra verifieringsmetoder som formell verifiering etc. Detta examensarbetes huvuduppgift är att ta reda på hur systemverilog kan användas som designspråk och att reda ut hur man kan använda SVA på befintlig VHDL-kod utan att modifiera koden. Uppgiften är också att klargöra om och hur det nuvarande designflödet blir förändrat vid införandet av SystemVerilog. Andra avsikter med rapporten är att utvärdera mognadsgraden på de verktyg som används för design på avdelningen, med avseende på SystemVerilog, samt att se på skillnader mellan SystemVerilog jämfört med det renodlade verifieringsspråket ’e’. I denna rapport kan man således läsa om metoder och konstruktorer från språket som kan syntetiseras idag med Synopsys design compiler. En FFT (fast fourier transform) har designats i SystemVerilog för att testa specifika egenskaper av spåket och för att utvärdera nuvarande designmöjligheter. Vidare täcker den in rådande mognadsgrad på den simulator och på det syntesverktyg som används på avdelningen, vad beträffar SystemVerilog-specifika egenskaper. En assertion-baserad verifiering av en buss som används på avdelningen finns med i detta dokument samt även assertions på en helt kombinatorisk design. Dessa konstruktioner är enbart skrivna i VHDL och bundna till SVA via en specifik teknik som man kan läsa om i rapporten. Rapporten innehåller också information om de verifieringstekniker som kommer med SystemVerilog assertions samt några riktlinjer för vad man ska tänka på när man skriver assertions i SystemVerilog. III IV
Bibliographical Information:

Advisor:

School:Linköpings universitet

School Location:Sweden

Source Type:Master's Thesis

Keywords:sv systemverilog sva hdvl

ISBN:

Date of Publication:11/10/2006

© 2009 OpenThesis.org. All Rights Reserved.