Elsevier

Integration

Volume 37, Issue 4, September 2004, Pages 193-221
Integration

Safe integration of parameterized IP

https://doi.org/10.1016/j.vlsi.2003.12.002Get rights and content

Abstract

In order to be reused in different applications Intellectual Properties (IP) are usually parameterized. On the one hand the extensive use of parameters enables users to customize IP to their needs in different applications. On the other hand a large number of parameters imposes new problems during IP qualification, verification and integration. This article gives an overview of the present work in the IP Qualification Project (IPQ) addressing problems due to IP parameterization. We are working on solutions to handle large parameter sets, to automatically implement parameter checking, and to improve functional coverage of the parameter space. Within this scope, a novel graph-based methodology to split the parameter space into orthogonal subspaces has been devised. On the basis of a formal description of parameters and their interdependences so-called Parameter Domain Graphs (PDG) are constructed. Relying on PDG, testbench components for assertion-based parameter checking are automatically generated. Furthermore, generation constraints for verification environments are derived and collection and analysis of functional coverage data is implemented.

Introduction

The rapid development of silicon technology allows manufacturers to fabricate System-on-chip (SoC) of ever increasing complexity. Given limited human resources, time and computational power, it is unfeasible to design, verify, and test such systems from scratch. One way to deal with this problem is to include Intellectual Properties (IP) designed in-house in earlier projects or supplied by external vendors.

In order to be re-used in different applications IP are usually parameterized. On the one hand the extensive use of parameters enables users to customize IP to their needs in different applications. On the other hand a large number of parameters impose new problems during IP qualification and verification. Due to the perennial problems with the integration of IP with large parameter sets numerous concept engineers have drawn the conclusion to use such IP “as supplied” [1]. Doing so, the opportunity to re-use IP in various applications—nothing less than the basic idea behind parameterization—is given away. This article gives an overview of one part of the IP Qualification Project (IPQ) addressing problems imposed by IP parameterization. IPQ has been started in the year 2000 in order to find solutions for a wide range of IP-related problems, such as qualification, retrieval, exchange, verification, and integration [2].

Before an IP customer can select one particular parameterized IP from a large set offered by different IP vendors, he needs to determine a subset of IP suitable for his target application. Therefore, he must be enabled to select the ones that can be configured to meet the application's requirements. Providing a textual description of all parameters and their ranges—as it can usually be found included in the IP specification—does not solve the problem, since there may be illegal combinations of parameter assignments due to parameter interdependences, i.e. configurations not supported by the particular IP. In order to select valid configurations a—contingently machine-readable—representation of parameters and their interdependences is essential. For this purpose, a model to formally capture parameters including their interdependences called Parameter Domain Graph (PDG) has been devised. This model, the theory behind it, and a solution to describe parameters and their dependences are presented in 3 Theoretical framework, 4 Formal parameter definition.

During the verification process of an IP, usually a Hardware Description Language (HDL) model or netlist is simulated with different combinations of parameter assignments, i.e. simulated in different configurations. Apart from the fact that a large number of parameters make it unfeasible to verify the IP's behaviour for all configurations, it must be assured, that every configuration to be integrated into target systems is valid. Prevalent approaches, such assertions embedded into the HDL model by the IP designer or using HDL code instrumentation, e.g. offered by [3], do not represent satisfactory solutions, since they rely on RTL models and are therefore not applicable at lower abstraction levels. Furthermore, the latter approaches often create the demand for additional software tools. On the basis of the PDG model, HDL and tool independent testbench components implementing assertion-based parameter checking can automatically be generated. Thus, the necessity of additional investments is eliminated and checkers are sustained interoperable. Sections 5 through 7 depict this process in detail.

Different techniques have been introduced to achieve an acceptable coverage of the parameter space with desired distribution using randomly generated inputs in conjunction with special verification of manually defined corner cases [4]. Typically, a verification environment is used to drive stimulus data into the HDL-based IP model or netlist and to compare its response to the expected behaviour. Coverage tools are used to collect functional coverage data and help the designer to analyze that data. In order to enable random generation of IP parameters, the verification environment must be provided with generation constraints and coverage models. Section 8 shows, how generation constraints including corner emphasis and verification components for coverage collection can automatically be derived from PDG. Due to the nature of PDG in the sense of being a representation of the complete parameter space, the coverage models derived from PDG form a complete set of coverage models for the parameter space. Hence, special hole analysis techniques such as [5] become obsolete.

In order to efficiently support IP designers with the verification resp. IP users with the integration of parameterized IP, a seamless design flow integration is essential. Section 9 gives an overview and elucidates the steps to automatically create the testbench and verification components.

The complete methodology including the construction of PDG from formal descriptions, automatic generation of assertion-based parameter checking, and derivation of generation constraints and coverage collection has been implemented in the software package ParaGraph. First intended as proof-of-concept solution, later derivatives of the package have been used during the verification of a multimedia interface IP. Section 10 gives a brief description of that IP and summarizes the results.

Section snippets

Related work

Much work in the field of parameterized system design has been done in order to find optimal parameter configurations for a parameterized system-on-chip (SoC) depending on application constraints such as area, performance or power consumption.

During this optimization process, different configurations are selected by assigning fixed values to all parameters. Each of the resulting SoC instances is then examined with respect to the given constraints. For this purpose, the optimizers can choose

Parameter space

IP parameters on RT level can, similar to the definition in [18], be divided into two different classes [25]:

  • Static parameters (aka structural parameters) change the structure of a design. They are modelled using the statement generic (VHDL) resp. parameter (Verilog). Static parameters lead to different design instances according to their value and must therefore be assigned a value at RT level before synthesis. They are discrete values by definition, since only integers are supported for

Formal parameter definition

Depending on the source of an IP to be integrated into a system, the state of knowledge of implementation varies. For IP created in-house, the system designer can take advantage of full knowledge of all implementation details. By contrast, IP delivered by external vendors either as source code, soft or hard macro hide—inversely proportional to the level of abstraction—a certain amount of implementation details.

With subsiding knowledge of implementation, the system designer gets limited to

Parameter checking

The validity of a parameter configuration is guaranteed as long as it is a member of a parameter domain (see Section 3.2). Hence, it is sufficient to check whether the actual configuration is a domain member. Nevertheless, parameter checkers should provide the IP user with detailed information about a faulty configuration, allowing him to rapidly spot the source of error. For instance, error messages should contain information whether the current configuration violates a parameter range or

Parameter relations

In addition to parameter interdependences as defined above, there may be parameter relations which must be fullfilled in order to choose a valid configuration. For instance, a simple relation could be defined aspayload<lengthto assure that the payload is always smaller than the overall length of transmitted data. A more complex one could beoffset<2widthaddr8to prevent parameter offset from using more than one eighth of the address space configured with parameter widthaddr. In order to implement

System equations

System properties of IP are often directly dependent on parameter settings. For instance, the hold-range and lock-range of a phase-locked-loop (PLL) depend on different settings of the loop filter and the voltage-controlled-oscillator (VCO). Another example is the maximum acceptable clock frequency difference of the transmitter (tx) and receiver (rx) of a serial communication system. Since both devices usually use dedicated clock generators, the receiver must be synchronized on its input serial

Verification environments

The preceding sections circumstantiated a graph-based approach to automate IP parameter checking on customer's site. This prevents IP users from integrating faulty instances of IP due to invalid configuration into the target system. By this means, the perennial problems during the integration of IP with large parameter sets are solved, which allows IP users to safely integrate verified IP into various applications.

By contrast, IP designers must take care of the complete parameter space and

Design flow integration

In order to automatically generate a complete set of HDL checkers, IP users must complete 5 steps:

  • (1)

    Generate a PDG from formal parameter descriptions shipped with the IP.

  • (2)

    Export all parameters including their ranges to HDL.

  • (3)

    Create an entity for the checker component.

  • (4)

    Pick one of the domains in the PDG and export it to the checker architecture.

  • (5)

    Instantiate the component inside testbench.

Any parameter configuration assigned to the IP model will now be checked automatically (Fig. 5). In case a

Results

As evinced in [25], the methodology has been applied to a serial interface IP with 15 parameters and 9 interdependences, which was developed for a multimedia application. The interface supports a number of different serial communication standards using either dedicated frame signals or data embedded sequences for start-stop-transmission.

The user can adjust the length and appearance of frames, words, payload data, and the generation of valid and parity bits. All parameters can be changed at run

Conclusions

In this article, we presented the results of one part of the IPQ project addressing problems imposed by IP parameterization. A novel technique automatically implementing assertion-based parameter checking for IP serves as solution to many of those problems. It relies on a graph-based methodology to split the parameter space into orthogonal subspaces based on a formal description of IP parameters and their interdependences. The implementation of that methodology—the software package ParaGraph

Acknowledgements

This work is part of the IP Qualification Project (IPQ) [2] funded by the German Ministry of Research and Education (BMBF) in section Design Platforms for Complex Systems and Circuits (EkompaSS) and AMD Saxony Manufacturing GmbH.

Vasco Jerinić is currently a research assistant in the Circuit and Systems Design Group at the Chemnitz University of Technology, Germany. He received a M.S. degree in electrical engineering from the Chemnitz University of Technology in 2000. His research interests include hardware description languages, specification, synthesis, verification, and verification languages. In cooperation with the AMD Saxony Manufacturing GmbH, Germany, he is working in the project IP Qualification (IPQ).

References (32)

  • Panel discussion, Intellectual Property Cores—A Report from the Trenches. System-on-Chip and ASIC Design Conference...
  • Project, Intellectual Property Qualifikation. German Ministry of Research and Education, Funding label 〈01M 0348 A〉,...
  • 0in Design Automation Inc....
  • Verisity Design Inc.,...
  • O. Lachish, E. Marcus, S. Ur A. et Ziv, Hole analysis for functional coverage data, Design Automation Conference DAC,...
  • E. Macii, M. Pedram, F. Somenzi, High-level power modeling, estimation and optimization, Design Automation Conference...
  • A. Bogliolo et al.

    Parameterized RTL Power Models for Soft Macros

    IEEE Transactions on Very Large Scale Integration Systems

    (2001)
  • A. Raghunathan, S. Dey, N.K. Jha, Register-transfer level Estimation Techniques for Switching Activity and Power...
  • T. Givargis et al.

    Evaluating power consumption of parameterized Cache and Bus architectures in system-on-a-chip designs

    IEEE Transactions on Very Large Scale Integration Systems

    (2001)
  • A. Nandi, R. Marculescu, System-Level Power/Performance Analysis for Embedded Systems Design, Design Automation...
  • M. Caldari, M. Conti, L. Pieralisi, C. Turchetti, M. Coppola, S. Curaba, System-level power analysis Methodology...
  • D. Marculescu et al.

    Information theoretic measures for power analysis

    IEEE Transactions on Computer Aided Design of Integrated Circuits

    (1996)
  • G. Ascia, V. Catania, M. Palesi, Parameterized system design based on genetic algorithms, International Symposium on...
  • G. Ascia, V. Catania, M. Palesi, Design space exploration methodologies for IP-based system-on-a-chip, IEEE...
  • G. Ascia, V. Catania, M. Palesi, Tuning methodologies for parameterized systems design, IEEE International workshop on...
  • G. Ascia, V. Catania, M. Palesi, A Framework for design space exploration of parameterized VLSI Systems, Asia and South...
  • Cited by (3)

    Vasco Jerinić is currently a research assistant in the Circuit and Systems Design Group at the Chemnitz University of Technology, Germany. He received a M.S. degree in electrical engineering from the Chemnitz University of Technology in 2000. His research interests include hardware description languages, specification, synthesis, verification, and verification languages. In cooperation with the AMD Saxony Manufacturing GmbH, Germany, he is working in the project IP Qualification (IPQ).

    Diemar Müller is a professor of electrical engineering and head of the Circuit and Systems Design Group at the Chemnitz University of Technology. His research interests include VLSI design and field-programmable logic. Müller received PhD degrees from both the University of Dresden and Chemnitz University of Technology. He is a member of the Association for Electrical, Electronic and Information Technologies (VDE) and the Information Technology Society.

    View full text