Sugar 2.0 - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

Sugar 2.0

Description:

What's new in Sugar 2.0 (reminder) What's new since February presentation ... Contrast to somewhat convoluted formulation in CBV using 'not' and 'fail': always ... – PowerPoint PPT presentation

Number of Views:26
Avg rating:3.0/5.0
Slides: 19
Provided by: eda90
Category:
Tags: convoluted | sugar

less

Transcript and Presenter's Notes

Title: Sugar 2.0


1
Sugar 2.0 Proposal Presented to Accellera FVTC
  • Cindy Eisner
  • Joint Work with Dana Fisman

IBM Research Laboratory in Haifa
2
Overview
  • Whats new in Sugar 2.0 (reminder)
  • Whats new since February presentation
  • Sugar with respect to requirements
  • Sugar advantages
  • Summary

3
Whats new in Sugar 2.0 (reminder)
  • Sugar Foundation Language
  • Three flavors
  • Verilog, VHDL, EDL
  • Four layers
  • boolean, temporal, modeling, verification
  • Verification layer
  • verification directives , statement grouping
  • Support for multiple clocks (strong/weak)
  • Abort operator
  • Formal definition of finite semantics

4
Whats new since February
  • No major changes since draft presentation of last
    month
  • Document proposal has been completed and fleshed
    out with more details
  • Added a discussion of Sugar formulas which are
    checked on-the-fly
  • VHDL flavor is left undefined at this time (but
    syntax has been checked so as not to conflict
    with VHDL boolean expressions)
  • Two minor changes see next slides

5
Minor change 1 from February draft
  • Simplified use of multiple clocks doesnt require
    as many parentheses
  • always (p -gt X q_at_clkq) _at_clkp

6
Minor change 2 from February draft
  • A module can be bound to a verification unit
  • Meaning is that signals of the verification unit
    map by name to signals in the bound module
  • Allows same specification to be used no matter
    how block is embedded in design
  • Vunit can also be bound to a specific instance
    (requirement R50a)
  • See example on next slide

7
Binding a vunit
  • vunit default
  • property pulsed(s) always (s -gt next !s)
  • vunit myunit(blocka)
  • assume pulsed(req_in)
  • assert pulsed(ack_out)
  • vunit yourunit(blockb)
  • assert pulsed(req_out)
  • assume pulsed (ack_in)

8
Sugar 2.0 with respect to requirements
  • Sugar 2.0 proposal fulfills all requirements
  • Highlights
  • Layered definition
  • Three flavors
  • Powerful sequences
  • Multiple clocks
  • Reset support (through abort operator)
  • Named properties, sequences, and endpoints
  • Formal semantics both finite and infinite
  • Can specify any omega-regular language

9
Advantage 1 History and Track Record
  • Mature eight years of practical experience
  • Extensive user base
  • Contrast with CBV which has recently undergone a
    major revolution

10
Advantage 2 Easy to learn, use
  • A Sugar specification says what it means
  • always ((snoop hitm) gt
  • !trans_start trans_start writeback)
  • Contrast to somewhat convoluted formulation in
    CBV using not and fail
  • always
  • if (snoop hitm)
  • (1) not fail !trans_start trans_start
    writeback

11
Advantage 3 Succinct
  • A Sugar specification is concise
  • forall N 1..8
  • always within(write_command_start sizeN
    LAST)gx_startN
  • Contrast with verbosity of CBV
  • task sugar_within (r regexp, b bool, s
    regexp)
  • if (r)
  • not fail !b s b
  • endtask
  • function \sugar_.. (b bool, n nat)
    regexp
  • return !bbn !b
  • endfunction
  • begin_and
  • for (N nat 1 N lt 8 N N 1)
  • always
  • sugar_within
  • (
  • write_command_start (size N),
  • LAST,

12
Advantage 4 Elegant formal semantics
  • Semantics are
  • well defined formal semantics appear in Sugar
    2.0 proposal
  • elegant formal semantics are only 3 pages long
  • Contrast with lengthy semantics document of CBV

13
Advantage 5 Known efficient model checking
algorithms
  • Known model checking algorithms
  • LTL and CTL model checking well-known
  • Translation of regular expressions to automata is
    well-known
  • Contrast with specialized algorithms of CBV

14
Advantage 6 Known efficient simulation
algorithms
  • Known algorithms for finite time reasoning
  • as implemented in FoCs
  • implementation sketched in Sugar 2.0 proposal
  • Contrast with CBV, whose implementation of the
    newer parts of the language is untried

15
Advantage 7 Declarative language
  • Temporal layer is declarative
  • Specification can be easily read
  • Contrast with CBV, which mixes declarative and
    procedural code

16
Advantage 8 Expressive power
  • Sugar Foundation Language
  • allows the expression of any omega-regular
    language
  • Optional Branching Extension
  • allows specification of deadlock-freedom
  • Contrast with less expressive CBV

17
Advantage 9 Built-in syntactic sugar
  • Specifications are unambiguous, so can be easily
    read
  • always ((snoop hitm) -gt next next_event(trans_st
    art)(writeback))
  • Contrast with CBV, which requires the user to do
    a lot of the work
  • function cbv_next_event(e bool) regexp
  • return first_match 1e
  • endfunction
  • always
  • if (snoop hitm)
  • (1) if (cbv_next_event(trans_start))
  • writeback

18
Summary
  • Sugar is an elegant, powerful specification
    language with a strong track record both within
    and outside of IBM
  • Sugar has existing implementations in both model
    checking (RuleBase) and simulation (Focs)
  • Implementations are sketched in Sugar 2.0 proposal
Write a Comment
User Comments (0)
About PowerShow.com