Modular Layer Blocks for Scalable Protocol Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current systems for implementing verification IP for layered protocols lack scalability, controllability, and modularity, making them inadequate for pre-silicon functional verification, particularly in generating desired scenarios and maintaining or upgrading individual protocol layers.
Innovation Solution
A method involving serially connected layer blocks with modular components such as a layer core, stimulus handler, transmit routers, and receive routers, allowing for configuration and control of output traffic, enabling individual layer blocks to function as top, middle, or bottom layers, and supporting transaction-level modeling and verification methodologies like Universal Verification Methodology (UVM) and Open Verification Methodology (OVM).
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If sequencer layering method is used to implement verification IP, then verification IP can be implemented following standard methodologies, but controllability for directly accessing and tweaking transactions in middle layers is lost
Solution Approach 1:
The verification IP is segmented into multiple independent layer blocks (layer block 202A-N), each implementing a specific protocol layer. This segmentation allows direct access and control of individual layers while maintaining the overall protocol structure, resolving the contradiction between standardization and controllability.
Solution Approach 2:
Transaction level model ports and blocking ports act as intermediaries between layers, enabling controlled access and modification of transactions at any layer without disrupting the overall verification flow. These intermediaries provide the needed controllability while maintaining structural integrity.
2Adaptability or versatility
If layered driver method is used for common implementations of verification IP, then implementation is simplified, but controllability and modularity are limited
Solution Approach 1:
Each protocol layer is implemented as a separate, independently configurable layer block with its own driver and transaction level model. This segmentation provides full modularity while maintaining implementation simplicity through standardized interfaces and configurations.
Solution Approach 2:
The layer block structure is universal and can be configured to implement any protocol layer (physical, data link, network, etc.). Each layer block follows the same standardized template, providing both modularity and ease of implementation through reuse.
3Adaptability or versatility
If existing verification IP systems are used, then verification can be performed, but scalability to different number of layers and configurability per layer level is insufficient
Solution Approach 1:
The verification IP system is made dynamic and configurable through parameters such as top_layer_id, bottom_layer_id, and is_active field. These parameters allow the system to be scaled and configured for different protocol stacks without redesign, achieving scalability while managing complexity through parameterization.
Solution Approach 2:
The system uses configurable parameters (layer IDs, active flags, interface types) to adapt the verification IP to different protocol layers and configurations. By changing these parameters, the same basic structure can verify different numbers of layers and different protocol types, providing scalability without increasing structural complexity.
4Adaptability or versatility
If modular components are enabled or disabled to change layer block functionality, then versatility is improved, but device complexity increases
Solution Approach 1:
The layer block is segmented into distinct functional components (layer core, stimulus handler, transmit router, receive router, lateral controller) that can be independently enabled or disabled. This segmentation provides fine-grained configurability while managing complexity through clear component boundaries and standardized interfaces.
Solution Approach 2:
Different components within the layer block can be configured with different qualities or states (enabled/disabled, active/inactive) based on local requirements. This allows each component to be optimized independently while maintaining overall system coherence, providing versatility without overwhelming complexity.
Data Source
AI summary
An embodiment herein provides a method for implementing verification IP for pre-silicon functional verification of a layered protocol. The method includes generating serially connected layer blocks. A layer block includes modular components that may be enabled or disabled to change a functionality of the layer block. The modular components include a layer core, a stimulus handler, one or more transmit routers and one or more receive routers. The layer core implements the complete functionality of the layer block. The stimulus handler drives input stimulus transactions into the layer core of the layer block. The one or more transmit routers routes one or more transmit core transactions from the layer core to the connected succeeding layer block. The one or more receive routers routes one or more receive core transactions from the succeeding layer block to the layer core.


