Horia-Răzvan Enescu

How To: Alternative Ways to Implement Bitwise Coverage

In a previous post, Stefan provided implementations for several bitwise coverage patterns. In this post I will show an alternative way of implementing a couple of them, avoiding the usage of loops to iterate through all bits. Walking 1 and Walking 0 Coverage covergroup walking1_cg with function sample(bit [WIDTH-1:0] x); walking1_cp: coverpoint ($clog2(x) iff ($onehot(x)) […]

Recommended Articles

Recommended Articles – December 2017

CFSVision continues the SystemC tutorial with an indepth explanation of the signal channels: Learning SystemC: Learning SystemC: #005 Signal Channels. PSS starts to be more and more present on verification blogs. Mike Bartley from T&VS and Sharon Rosenberg from Cadence co-edited Portable Stimulus Specification (PSS) and the Reuse Revolution. Giselquist Technologies presents how to build […]

Cristiana Stan

CoverageLens 2.0 Release

Coverage Lens (CL) is a C++ utility that checks if a specified set of RTL code coverage items (e.g. statement, condition etc.) is covered by querying an UCIS compliant coverage database. The main functionality is described in the How To Automate Code Coverage analysis with Coverage Lens article. CoverageLens 2.0 release includes support for functional […]

Recommended Articles

Recommended Articles – November 2017

TeamSpecman extends e-Language with annotations: Adding Annotations in Your e Code, which are similar to Java annotations. SemiEngineering shows how PSS helps one to reuse tests from IP-level to SoC-level. Horia from Amiq demonstrates how to avoid parameter creep in SystemVerilog by using packed struct. This comes as a continuation of Stefan’s previous article. Yoav […]

Horia-Răzvan Enescu

How to Avoid Parameter Creep for Parameterizable Agents and Interfaces

For configurable protocols, it is useful to have a single agent which can adapt to any protocol configuration. If the agent and the interface are parameterized, having a large number of configuration options will require using many parameters. This can quickly lead to parameter creep: explicitly specifying and propagating all the parameters throughout the environment. […]

Recommended Articles

Recommended Articles – October 2017

Cristian from CFSVision continues the SystemC series with two new tutorials addressing Time, Events and Processes and Mutex, Semaphores and FIFOs. Stefan from Amiq shows how to create a custom sequencer arbitration policy in UVM. In AMIQ Resources page you can find the contents of AMIQ’s bookshelf, papers and the list of blogs we periodically […]