Posts

SVA

SystemVerilog Assertions: A Comprehensive Guide SystemVerilog Assertions: A Comprehensive Guide In the world of hardware design, simply creating a circuit isn't enough. You also have to prove that it works exactly as intended. One of the most powerful ways to do this is through formal verification , and a key component of that is using SystemVerilog Assertions (SVAs) . SVAs are properties, or statements, that define the expected behavior of your design. They act as a formal specification, allowing tools to mathematically check for correctness. The industry standard for these properties is defined by IEEE 1800-2017 . The Three Basic Types of SVA Statements There are three fundamental types of statements you can use in SVA to define the correctness of your design: Assertions: These are statements about your design's behavior that should always be true . For example, you might assert that a bus protocol's hand...

Key UVM component Concepts: UVM phase

Key UVM Component Concepts: Phase Key Component Concepts: Phase Introduction The Universal Verification Methodology (UVM) stands as a cornerstone in the field of VLSI design verification, providing a standardized and robust framework for the rigorous testing of complex System-on-Chips (SoCs) and intellectual property (IP) blocks. Built upon SystemVerilog, UVM offers a comprehensive set of base classes and utilities designed to organize testbench components and their intricate interactions.[1, 2] The primary objective of UVM is to manage the inherent complexity of contemporary verification environments, thereby ensuring synchronization, promoting reusability, and enhancing maintainability across diverse projects.[1, 3, 4] This methodology formalizes the testbench architecture, moving beyond ad-hoc SystemVerilog coding practices to establish a structured and predictable verification flow. Central to the UVM framework are its phases,...

A Guide to Functional Verification

A Guide to Functional Verification A Guide to Functional Verification From Directed Tests to Formal Proofs The Functional Verification Problem Verify that for every sequence of inputs , the Design Under Test (DUT) produces a sequence of outputs that does not violate the specifications. Three Paths to Verification 1. Directed Tests The historical, hands-on approach. 2. Constrained Random Intelligently exploring the state space. 3. Formal Verification A mathematical proof of correctness. ...

Memory power reduction

 *  Memory retention voltage depends on PVT   * Leakage during memory state retention ( Data retention during standby)  * As retention time increases more errors    Solutions:  1. Voltage scaling ( as VDD reduces number of errors increases , Leakage current )  2. Error correction codes  Effect of ECC:  1. max 1 error per line can be corrected, 2 errors can be detected  2. Area: Memory size increase by (n-k)/n    small additional area for encoder and decoder units ( Fully combinational blocks)  3. Latency : Encoding latency added to write access                      Decoding latency added to read access  For SEC/SED  Number of data bits    No of check bits 8-11                                  5 12-26                 ...

SoC requirements Management

 Introduction:  Improve quality & reuse waste by avoiding:  -> Missing/incorrect product capability (required customer functionality not supported) -> Rework cost ( redesigns & unplanned tape outs) -> Customer quality issues ( customer validation failures, field returns) Requirements Management must provide effective and efficient:  -> Specification of product requirements to meet customer needs -> Implementation of the required functionality according to produce specification  -> Verification & Validation to confirm design & implementation compliance to produce specification  MRD ( Market Requirement Document PRD Product Requirement Document  RS  Product Requirement Specification AS  IP RS IP AS  Design

ALF IV

  Que vs Ass array  grep 10 errors across multiple files  string swap -> char *c, type casting?  constraint order  vip integration  uvm wrapper  innterface  clocking block git branch, merge, clone  leadership  ssn genration linked list inn SV  singleton class , can be instantiated once.. reporting phase?  busmatrix with input ports , output ports 

Emulation Introduction

Image
  Approach Computational Element Cycles per Sec (100M gates) Vendors S/W Simulations X86 Cores under 1 Cadence Xcelium, Synopsys VCS, Mentor Questa Simulation acceleration GPU processing elements 10 to 1000 Rocketick Processor Based emulation Custom processors 100k to few M Cadence Palladium FPGA Based Emulation FPGA gates 500k to few M Mentor Veloce, Synopsys ZeBu FPGA Prototyping FPGA gates 500k to 50M S2C, Cadence Protium, Synopsys HAPS Market Trends :  Chip Complexity  SoC Focus Software Content  System Integration Typical SoC Simulation Vs Emulation Simulations are becomes slow as design size increases  Emulation/Accelaration can run in terms of Mhz  Best Choice ? depends Performance vs Ease of use/Flexibility/Debug  S/W validation Palladium Platform VXE : verification Xccelarator ...