• Trek technology will help to achieve a higher level of verification on SoC designs and provide a 2-3X reduction of effort.   Olivier Haller
    Verification Methodology Manager
    ST Microelectronics
  • We have seen 2x improvements in verification productivity using Trek   Jonah Alben
    Senior Vice President
    NVIDIA Corporation
  • The engineering team continues to 'Brekerize' the latest design revisions.   Terry Hulett
    Vice President, Engineering
    NetEffect
  • Their [Breker] SoC verification strategy proposal is solid and we are happy of the improvements it brings to our flow.  Design Verification Engineer
    Verification Guild/ “Anybody use these tools?”
  • Trek is reducing development time, improving coverage and easing communication between the various verification stakeholders   Olivier Haller
    Verification Methodology Manager
    ST Microelectronics
  • I was impressed with how easy it [Trek] was to integrate it into our existing environment. The graph based approach to generating testcases complements our exiting VMM constrained random test-benches very well.   Design Verification Engineer
    Verification Guild/ “Anybody use these tools?”
  • [We] are now using Trek in key areas of future GPU projects   Jonah Alben
    Senior Vice President
    NVIDIA Corporation
  • They [Breker] leverage an already existing testsuite to create more stressful SoC tests   Design Verification Engineer
    Verification Guild/ “Anybody use these tools?”
  • Trek is so verstile, that I was able to plug in a Trek graph that modeled the DUT in place of the DUT (whose RTL for some features wasn't ready) allowing me to develop trek graphs that would test features that weren't even implemented yet.   Design Verification Engineer Verification Guild/ “Anybody use these tools?”
  • In both the SystemC and RTL verification efforts, Breker's Trek product was able to help us find deep state functional bugs quickly and efficiently   Terry Hulett
    Vice President, Engineering
    NetEffect
  • Trek has a natural way of implementing a test environment with knowledge-driven approach of directed tests and the flexibility of incorporating randomness into the scenario generation and checking   Design Verification Engineer
    Verification Guild/ “Anybody use these tools?”
  • Constraint solving is really nice when it works. It's a declarative approach that lets you worry about the what, not the how. Trek uses an more imperative approach: you define a graph structure to be traversed. For trivial scenarios this is less elegant than a set of constraints; but as things become more complex you don't hit the performance cliff of constraint solving.   David Whipp, NVIDIA Corp.
    Verification Guild/ “Anybody use these tools?”
  • With Breker, we can provide a higher level of verification efficiency with improved coverage closure in pre-silicon and post-silicon verification activities for our customers.   François Cerisier
    IC Verification Expert
    EASii IC
  • Viewing the coverage capability of the graph was very effective in visualizing what had and had not been verified (helping answer the question ‘Are we done yet?’).   Design Verification Engineer
    Verification Guild/ “Anybody use these tools?”
  • Trek is more effective on complex designs. It really helps get to deep corner cases that aren't easily hit.   Design Verification Engineer
    Verification Guild/ “Anybody use these tools?”
  • My first impression was to use Trek simply as a testcase creation engine but slowly I'm getting convinced it is useful as "checker" as well - especially the end-to-end checks.   Design Verification Engineer
    Verification Guild/ “Strategy for System-on-Chip Verification”
  • Breker System's Trek tool has been refreshing. A new look at how to do functional verification. As a verification engineer, we all look at outcomes to figure out our testplan. Breker takes that to a new level where we can create graphs based on outcomes and even more power comes when one can apply a static analysis to see if all outcomes can really be reached by what was created.   Verification Engineer
    DeepChip
  • The one that sticks out for me was Breker Trek. I've been keeping an eye on their development of the tool for a while, and saw a demo. I like that it translates from our feature-based verification planning to what looks like straightforward coding of graphs to randomly verify.   Design Verification Engineer
    DeepChip/DAC 10

PRODUCT

Breker, the SoC Verification Company, has set the bar for SoC verification.Breker's TrekSoC product is the first commercially available tool that automates the creation of portable self-checking C test cases for multi-threaded, multi-processor System on Chip (SoC) devices. TrekSoC verifies system integration and connectivity, plus it can generate aggressive and sophisticated test cases for the verification of concurrent, coherent multi-threaded capabilities. In production use at top semiconductor companies, TrekSoC integrates easily into existing verification environments.

TrekSoC

TrekSoC supports a natural thought process about SoC verification, helping you "mind map" how the SoC should work and what the test flow should be. It helps you create scenario models that define your verification space in a textual or an intuitive graphical form, allowing you to deliver a modular, extensible and scalable solution for the functional verification of complex SoCs.

The tool generates self-checking C test cases that target all aspects of system level verification and are portable amongst execution platforms.

Figure 1: TrekSoC in Verification Flow


Benefits

Key benefits of TrekSoC include:

Modular, Extensible and Scalable

Figure 2: SoC Scenario Models


In Figure 2 above, the modules in purple are provided as part of TrekSoC and the modules in green are provided by the user. The various levels of scenario models are discussed further below in the section titled Underlying Technology.

TrekSoC takes as input a hierarchy of scenario models. Lower level models provide randomized services to higher level models, and higher level models may apply constraints on lower level models to control randomization of the provided services.

TrekSoC provides a number of generic system services. These services are extensible to use SoC specific information about memory maps, testbench BFMs and system management operations.

These system services are used by driver scenario model that focus on individual IP level operations. Application scenario models constrain and combine driver scenarios to define use cases. Performance scenario models constrain and combine application scenarios to define performance benchmarks.

This hierarchy of scenario models is used for constrained random generation of SoC tests. Each test, written out as C code for each of the processors within the SoC, takes the form of a randomized micro-kernel running randomized applications. Applications call randomized drivers for each IP component to test possible system interactions. Applications and drivers can request randomized services that are provided by the micro-kernel.

Easy Learning Curve

Scenario models are developed in C using a simple paradigm of graphs and graph constraints. There are only a small number of constructs to learn.

The TrekSoC hierarchy of scenario models has been designed to mimic the hierarchy of services provided by a Linux kernel. This allows for a simple software metaphor that unifies all scenario models.

At test generation time, as opposed to test run time, TrekSoC makes constrained random decisions about services in order to stress system interactions. This strategy yields individual test cases that are light weight, repeatable and simple to debug while allowing sophisticated constrained random decisions to be made for each of the services.

Flexible, Incremental Deployment

Figure 3: ROI on Effort


The modular and extensible nature of scenario models allows verification components to be incrementally constructed and enhanced as project priorities dictate. As verification modules are added or enhanced, the verification search space grows allowing the generation of additional randomized tests.This makes it attractive to start with a limited deployment of TrekSoC and incrementally expand the verification scope and coverage as resource and project priorities allow.

Visualization and Coverage Analysis

Figure 4: Visualizing Scenario Models


The modular graph-based structure of scenario models makes it possible to visualize the possible search paths and the constraints applied to those paths. TrekSoC provides reachability analysis on the scenario model that highlights unreachable test cases. These visualization capabilities make it convenient to review the SoC verification model for completeness.

TrekSoC tracks the paths through the model that have been exercised. The achieved coverage can be visualized as a hot-spot graph and analyzed to ensure that cross coverage cases of interest have been exercised. .

Reusable Verification Modules

The modular organization of scenario models enables reuse across projects, derivatives, and new SoC platforms. For example, an IP driver scenario model contains no system specific information and can be used with any SoC that incorporates that IP.

Environment Integration

This section discusses integration of TrekSoC into various types of SoC verification environments.

Fullchip RTL Bench

Figure 5: Fullchip Environment Integration


We define a fullchip environment to be one that contains the processor models and runs C test code.TrekSoC generates C test cases that are compiled and run as normal on the embedded processors.

TrekBox is a System Verilog module, provided by Breker, which is instantiated at the top level and active when running TrekSoC test cases. The TrekBox module is provided with a hierarchical RTL path to an address in system memory that will be used as a mailbox.

When TrekSoC generates a C test case, it also generates an events file for consumption by TrekBox. This events file contains the testbench operations, such as the manipulation of an external signal,which are required for running the C test. Each required event is given a unique event id. When threads in the C test case reach predetermined execution points an event id is sent to TrekBox to trigger the required testbench operation. These actions are performed through the DPI interface. Events only flow from the C test to TrekBox.

In simulation, TrekBox is used to manage debug tracing, driving and checking testbench BFMs and using backdoor memory accesses for offloading results data, saving simulated processor cycles. Debug messages and expected results are stored in the events file to reduce consumption of system memory.

Transaction / IP Unit RTL Bench

Figure 6: Transaction and IP Environment Integration


This is a verification environment where the processors are replaced by Bus Functional Models (BFM), or the IP blocks are directly driven by transactions. This may be done to improve simulation speed or to provide additional test control or observability.

In this configuration TrekSoC dynamically creates transactions for the processor and other BFMs. This provides better debug observability since the dynamic state of the system is known at the time of a failure. In this mode test generation may be reactive to system state.

The same scenario models are shared between the fullchip and these transaction environments.

The dynamic flow can also be used to reproduce failing test cases in an IP unit bench.

Target Aware Test Generation

TrekSoC provides several options to control test generation depending on which platform the test will execute on. Processor sequences can be generated as a C test or transactions driven througha BFM.

In the case of C tests, testbench operations are performed by TrekBox using the event id mechanism. The event id mechanism itself may be customized for each platform.

Data checking can be offloaded to the testbench via backdoor memory accesses if appropriate or processor cycles can be used to compute checksums (while continuing to service IP completions) on actual data when necessary.

Get Started Now