Published on

Published in: Technology, Design
  • Be the first to comment

  • Be the first to like this


  1. 1. A Set of Tools to Help in the VHDL Design Flow of Complex Systems Y. Torroja, C. Lopez, T. Riesgo, J. Uceda E.T.S.I. Industriales - Universidad Politécnica de Madrid División de Ingeniería Electrónica c/ José Gutiérrez Abascal 2, 28006 Madrid e-mail: yago@upmdie.upm.es Abstract: • The ability of the vendors and users’ community to In this paper, a set of tools developed to help in the handle an increasing amount of Supercells VHDL design flow of complex systems on silicon is competing for the market. This translates into a presented. These tools cover different stages of the Management Environment able to deal with design process, from specification to logic design. multiple, continuously improving, and concurrent Some of the tools are oriented towards design versions. management and aim to improve the quality of the • The ability of the vendors and users community to design process. Other tools are oriented to measure analyse the quality of the products (Supercells) the quality of the design itself. These tools together with respect to different aspects. will help to improve the global quality of a design • The ability of the vendors and user community to and to reduce the development time. deal with ever more complex designs (Supercells In the paper, a practical view on how these tools or Supercells-based Systems) providing at the and methods will help designers or project same time high quality products and low time to managers to improve the quality of their designs is market. This means the need of good estimators given. The goal of each tool and its use in the design and methods to help the designer to choose the best flow are presented, and the main benefits problem solution in a fast and reliable way. highlighted. Besides, a more detailed description of the tools developed by the authors is given. All these 1.2 Design Process of Supercells or Supercell Based tools are being developed within the TOMI1 project. Systems The manufacturing of an ASIC is a non-return process 1. Introduction. The VHDL based design with high associated costs, not only regarding the cost process of complex systems of the prototypes or pieces but also due to the overall 1.1 Development and use of VHDL Supercells impact of the ASIC in the system in which it is The development of Supercells (macrocells included. So, it is not only necessary to have circuits containing from 20k to 100k gates) or Supercells thoroughly proved and verified but also to apply based systems is a highly complex task. The use of quality processes and reviews in the different design VHDL will help the designer offering, on one hand, stages. the ability to use a common framework along all The process of designing an design stages, from specifications to logic design. On Requirements integrated circuit, traditionally, the other hand, it provides a standard framework for has been divided into several the interchange of information and library Specifications stages. The step, from one stage components between designers, or design centres to the next, is allowed when the and customers. Architectural design passes a formal review, in Nowadays, the use of VHDL is re-launching the Design which accordance to the reusability concept [1-3]. Design centres may offer specification and quality criteria Logic models of their systems that a final user can simulate Design are proved. or even synthesise together with his/her own new These stages (see Figure 1) are development. This situation is shortening the Physical Design related to the level of abstraction development time so doing the market more used to describe the design. competitive and doing the open market idea almost a Manu- Traditionally these levels of reality. facturing abstraction are algorithmic, But the success of this approach depends on the behavioural, register transfer Figure 1: Design ability of the designers, vendors and user community level, structural, physical, etc., Stages to satisfy three major, interdependent pillars: and the stages are: • Establishment of requirements and feasibility 1 This work is partially funded by EC (ESPRIT #20724). studies. This stage covers the identification of the Partners: ES2, LEDA, TI+D, TGI and UPM operability required of the ASIC to be developed.
  2. 2. The study's conclusion will be drawn up in the 2. Contribution of TOMI tools to the VHDL Requirements Documents. based design process • ASIC Specifications. Detailed functionality of the ASIC is set and external interfaces defined. 2.1 VHDL Design Manager and VHDL Design Besides, development and validation plans are Studio elaborated. The ASIC is divided into functional In typical large designs based on VHDL, the number blocks and specification for each one is made. A of VHDL models that are written or simply (re)used preliminary model of the ASIC and the can be significantly large, ranging from dozens for environment may be developed. Library small chips to hundreds for large ASICs. If we take components may be selected upon a Supercell into account the different versions of a single VHDL catalog. model that are written and used within a single design • Architectural design. The main objective of this process, this number can be multiplied by a factor of stage is to obtain a Register Transfer Level 10 to 100. Among these models, some are especially description of the ASIC. In this level of developed for the design, some have been written description, designers define in detail the control within the company for another design, some are and the data flow of the circuit and all the general purpose models, some have been bought to functions performed by the ASIC. It is critical to model vendors, etc. validate thoroughly each part described, so some When the designer is faced to such a number and iteration will be performed until final model is variety of VHDL models, it becomes very difficult obtained. -sometimes impossible- to manually manage the use of • Logic design. During this stage a synthesisable these VHDL models. Figure 2 shows a typical description of the circuit is obtained and example of this situation. A particular module of the synthesized with a manufacturer library. So, design may suffer a lot of transformations during its almost real characteristics (such a loads, timings, development. First, as the module passes from etc) may be obtained and applied to the circuit specification to logic design its VHDL description will (although they are still estimations). Final be refined. Each refinement may produce several validation will prove that the circuit works versions until the result is appropriate. The module, in properly. During this stage test patterns should be its turn, may include library components or other generated also, and test circuitry inserted if modules that may be evolving, so it is necessary to needed. control which version is being used at any particular • Physical design and manufacturing. The layout moment. Besides this, several versions with different of the circuit is obtained and final simulations objectives may be produced, and its life and status with real characteristics are performed. The should be traced. circuit may be sent to the foundry for manufacturing. Requirements • Prototype validation. The final user will validate Library Library Module Module the prototypes of the circuit in the final system. Module B Syn B Sim • Production. Specifications A 1.0 VHDL Design Management & VHDL Design Studio Each stage may require several iterations to complete Module Module Architectural Module A Module 2.1 Module Module and, in some cases, it is possible that an iteration Design AAA A 5.1 A involve several stages. Although this scheme is very rigid in some occasions, and is usually modified to Logic Module Module Module A 3.1 Module Module Module Module Module A 6.1 Design A A 4.1 A A A A allow some stage overlapping, it can show very well where and how the tools developed in TOMI can be Physical ASIC FPGA Simulation used along the design process. Design version prototype model In the following section a brief description of the Figure 2: Use of the VHDL Design Manager & design process of complex Supercells or designs VHDL Design Studio containing Supercells, based on the use of VHDL and automatic synthesis tools is presented. The If we put all these versions together, and taking into description of the design stages and objectives will account the continuos tasks of editing, compiling and show, in a practical way, where and when the tools simulating, we can have a global idea of the designer developed in TOMI are used and what they offer to difficulties to manage this situation. In fact, it is not the VHDL based design process. A more extended unusual that a design fails due to errors in the design description of the tools developed by the authors library management. (VHDL Quality ToolKit and VHDL Validation The whole purpose of the VHDL Design Manager, Tool) will be provided. In the last section, the global and its graphical user-interface VHDL Design Studio, state of the work and future plans will be exposed. is to provide the designer with friendly tools that help him to efficiently and intuitively manage large libraries
  3. 3. of VHDL models. These tools include version 2.2.1 Design and Modelling Quality Checkers control managers, source file (before compilation) Quality review aims to detect design methods or and library unit (after compilation) managers, VHDL constructs that are likely to produce problems graphical browsers, VHDL subset detectors, in latter phases of the design. This normally implies a automatic model property extractors, etc. Currently, detailed analysis of the VHDL code in order to detect there are beta releases of both VDM and VDS these kind of problems and to obtain an overall view (developed by TGI and LEDA). of the design quality. This quality is measured based on its accordance with a set of rules, stated for expert 2.2 VHDL Supercells Quality Tool Kit designers, that will avoid unpleasant surprises at the end of the design process. Aspects related with code The Validation and Design Quality Tool Kit is layout, signal naming, signal initialisation, and many specially oriented towards the design of Supercells. others are normally covered. Although not difficult, The main objective of the tool kit is to provide the this is a tedious task. The use of the proposed Design designer with methods to increase the quality of the and Modelling Quality Checkers will greatly help in final design and to have automatic methods to help this task, doing these checks automatically. in the review of the architectural and logic design stages. But quality metrics are not only useful for reviewers but also for designers. These metrics will help the designer to produce better VHDL description and to Performance Specifications Estimation Tools reduce the number of iterations in the design process. Reusability is another important objective of every design. The high costs associated with a design is Architectural Functional Performance Quality Design Validation Estimations Control doing final customers and design centres to invest a lot of effort making designs reusable. This implies the design should satisfy certain requirements in order to Quality Architectural Quality Checkers do the design industrially reusable. The use of the Control Review Design Metrics & Design and Modelling Quality Checkers will help the Validation Metrics designer analyse his/her designs in order to fulfil some of these aspects. For the final users the checkers will help them to analyse the quality of the macrocells they Logic Functional & Quality are using without the need of a deep knowledge of Synthesis Design Timing Verification Control their functionality. Tool Description Quality Logic Design Control Review Timing & Structural The Design and Modelling Quality Checks are Inspection Quality Tool implemented as a set of tools called VHDL Quality ToolKit (QTK). These tools have been implemented in Physical Design C on top of LEDA VHDL System Tools (LVS). LVS Post-Layout is a set of tools that provide access (through an Simulations application procedural interface) to the VHDL Manu- facturing intermediate format (VIF). The results of the checkers are presented to the user through a Graphical User Interface (GUI) developed in Tcl/Tk. Figure 4 shows Figure 3: Use of the VHDL Quality Tool Kit, Per- the basic schema of the QTK. formance Estimation Tools and Timing & Structural Inspection Quality Tool GUI in Tcl/Tk (UPM) & VHDL Design Studio (LEDA) At the end of each design step a formal review is DQM & VDM Checkers performed. In these reviews aspects related with C-Functions (UPM) project management and circuit functionality are covered. From the functionality point of view the C-Procedural interface review is usually composed of two items: review of & VIF (LEDA) the simulations of the circuit and design quality VHDL Supercell control. The VHDL Quality Tool Kit will include Description (User) checkers to deal with these two aspects of the review and the design process itself. Figure 3 shows graphically where the VHDL Quality Figure 4: VHDL Quality ToolKit Environment Tool Kit and VHDL Performance Estimators are Although the GUI has been developed as an used in the design process. independent package, it has been integrated in LEDA
  4. 4. VHDL Design Studio (VDS), that has also been cumbersome. This analysis will help designers by developed within TOMI. The integration with LEDA providing them with a classification of the unit VDS consists of two parts, the “icon integration” and checked according to the following possibilities: the “GUI integration”. In the “icon integration” the • Description with only component instantiations results of the checkers are provided to the user • Description with component instantiations and through icons associated to each VHDL design unit, simple signal assignments so the user can quickly identify those VHDL • Mixed descriptions with components and descriptions with problems. In the “GUI integration” behavioural statements the user can obtain, through a pop-up menu, • Behavioural descriptions. extended information on the results of the checkers. • Data-flow descriptions In the current release, the QTK provides the Object usage: While coding VHDL descriptions, following checkers to analyse the VHDL description: often more objects are declared than really used. This Sensitivity List Analysis: When developing VHDL aspect worsens not only code maintainability but also code, sometimes it is difficult for designers to be the detection of hidden errors (forgotten ports…). aware of errors or omissions in sensitivity lists. This Designers who want to avoid this problem find this causes unpleasant surprises that are only discovered task heavy and monotonous and not always successful; after synthesis, delaying the project development. therefore automatic search is needed. The Object The Sensitivity List Analysis points out those Usage Analysis searches thoroughly in design units for erroneous or to pay attention processes, providing unused objects, reporting declared and not used ports, the following results, depending on the signals read signals, variables and constants or generics. in the process: Hard Coded Integer Values: Code reusability • There is no sensitivity list requires hard code values in the description to be • There are only clock and reset in the sensitivity substituted by constants or generics. In this way, list modification of the module characteristics may be • Not all signals read in combinational or carried out easily. Integers hard coded in the VHDL sequential processes are in the sensitivity list descriptions are detected and highlighted. A “clever” • Reset signal is not appearing in the sensitivity list algorithm is used in order to report not all values but of a sequential process only those interesting for the designer. Figure 5: Outlook of the QTK integrated in VDS Architectural Description Style: the description Tri-State Signals: In some ASIC design methodolo- style has influence on code maintainability and gies or technologies the use of tri-state signals is not synthesis results. On the other hand, behaviour allowed or recommended. This analysis will highlight embedded in structural descriptions makes the code
  5. 5. those signals that are going to be synthesised as tri- Anyhow, at the moment, it has not been possible to state buffers. apply the checkers to a on-running project from the Clock and Reset Analysis: Clock and reset schemes beginning, nor a comparative method has been are one of the most critical issues in a design. For established to measure the save of design time or designers it is important to know not only which quality improvement due to the use of the checkers. signals are registered by a clock or initialised by a reset, but also whether the clock or reset may cause Design Type L.O.C.* Gates M R problems due to glitches, metastability, etc. Aerospace ASIC 6800 7000 VH VH For every clock described in the design this analysis Industrial ASIC 9200 25000 H VH points out: Aerospace ASIC 10200 4000 H VH • Whether the clock is driven from combinational Industrial FPGA 1200 900 H VH or sequential logic, or from a external port • Signals and variables triggered by the clock Academical FPGA 1700 10000 M VH signal Industrial Module Library 8000 200-3000 H M • Whether the clock drives combinational logic, Academical Module Library 6100 500-4000 L M data of flip-flops, etc. Industrial FPGA 4000 8000 H VL • Dependencies with other clocks Academical Module Library 8500 3000-8000 M VL For every reset described in the design this analysis points out: VH: Very High; H: High; M: Medium; L: Low; VL: Very Low *L.O.C (Lines Of Code) • Whether the reset comes from combinational or sequential logic, or from a external port Table 1: Results from QTK for some designs • Signals and variables initialised by the reset signal 2.2.2 Validation Quality Checkers • Whether the reset is source of combinational The goal of the review of the simulations of the circuit logic, data of flip-flops, etc. is not only to check that the functionality of the circuit • Dynamic or static initialisation is in accordance with the specifications, but also to analyse the quality of the test benches used in the Most of these checkers accept full VHDL, although simulations. Simulations that do not exercise all the the checkers that deals with clocks and reset only lines of the VHDL code are normally rejected. This consider the VHDL Synopsys subset and hardware quality criteria may not be enough to guarantee the semantic. There are other checkers that are under high quality needed in complex designs. The use of the development; these are checkers to detect inferred Validation Quality Checkers will allow not only to latches and redundant memory elements. check if all lines of VHDL code are exercised, but also The GUI shows the results of the checkers in a to check if the effects of the simulations may be compact tabular form with hypertext. This allow observed at the outputs of the blocks that are being Design Managers to quickly evaluate the quality of a analysed. VHDL description or library. The information, For the designer, the Validation Quality Checkers will warnings or source of problems provided by the help in the development of quality test benches mainly checkers is directly highlighted on the VHDL source during the architectural design phase. Anyhow, they code. Figure 5 shows the outlook of the QTK also will allow the designer to detect typical coding integrated in VDS. errors in any stage. This aspect is specially important Results from the VHDL Quality Toolkit due to the great amount of modifications a VHDL The beta version of the QTK has been used to model may pass through (even if it is functionally analyse the quality of several industrial and correct). academical circuits developed in VHDL at UPM Currently, a prototype of the VHDL Validation labs. In order to have a global overview of the Quality Checker is under development. The prototype quality of a design, a preliminary global qualification is based on an error model and fault simulation has been obtained for every design taking into technique [9-12]. For the first prototype, anyhow, a account the results of all checkers. Values (see Table commercial VHDL simulator will be used. 1) have been obtained to evaluate maintainability The refinement process of a VHDL description (M) and reliability (R) of a design (or design requires each VHDL model to be validated with a test library). bench. After functional validation, some performance It is interesting to observe that designs with higher estimations may be done. This estimations will guide scores correspond to industrial designs with better the designer to choose the best implementation for a design methodologies (ESA, PRENDA) [4-8]. It module or, once an implementation has been selected, should also be noted that the prototypes of the to refine the VHDL description without the need of designs with very low values did not work properly synthesis. As stated before, quality control will allow for the analysed versions. the designers to improve their VHDL descriptions in
  6. 6. order to reduce the risk of problems in the following 3. Conclusions phases of the design. A general view of the use of the tools developed in 2.3 Timing and Structural Inspection Quality TOMI has been presented. As it can be seen, TOMI Tool tools are used in almost all stages of the design process from specification to logic design. The use of new design techniques to increase the speed and reduce the power consumption forces the Some of the tools are oriented towards design designers to include in their designs multiple management, and therefore they will help to improve clocking with different edge, gate clock and other the quality of the design process. Others tools are asyncrhonous statements that could produce hazards oriented to measure the quality of the design itself. and races. These tools together will greatly help to improve the global quality of a design and to reduce the Unfortunately this kind of design is really risky, and development time. This is not only important when it is necessary a tool in order to help the designers designing complex circuits, but also, and very with this kind of structures. This is the main goal of specially, when designing Supercells that are going to the Timing and Structural Quality Tool. be used by third parties. But not only risky designs need a checker to detect Currently, beta versions of almost all tools developed possible timing or structural problems. In many in TOMI are available. It is expected to have final occasions, conservative designs may produce risky versions available for evaluation by March 98. structures due to poor quality code, improper operation of the tools, or problems produced by the 4. Bibliography synthesis tools themselves. [1] M. Blüml, B. Kierdoff, M.Lenzen, A.Pawlak “A In other cases, it is not feasible, or even not possible, Methodology for the Develpment of High Quality to modify a design at the architectural level or logic Standard - Cell Models in VHDL”, VHDL Forum level in order to introduce some changes or special Spring’92, Santander, April 1992. structures (clock buffering, last-minute changes in [2] Y. Torroja, T. Riesgo, E. de la Torre, J. Uceda, logic levels, etc.). In these cases, the designer may quot;Design Reusability: Generic and Configurable have to do some modifications in the netlist that are Designsquot;, VHDL Forum in Europe, Toledo (Spain), April 1997. (invited paper) difficult to back-annotate in the previous phases in [3] ESIP, Deliverable #203: Standardisation order to pass quality controls. Activities. The Synthesis Package, ESIP (ESPRIT The Timing and Structural Quality Tool will detect no. 8370), July 1994 all the potentially problematic structures (mostly no [4] PRENDA, Metodología de diseño de ASICs, detected by simulation) once the design has been PRENDA Project, February 1996. synthesised. [5] OMI, OMI 326: VHDL Coding Standard, OMI Figure 3 shows graphically where the Timing and Standards (ESPRIT no. 7267) July 1995. Structural Inspection Quality Tool is used in the [6] ESA/ESTEC, VHDL Modelling Guidelines, design process. ESA/ESTEC, September 1995. [7] ECIP, Guidelines for VHDL Use (Row 22), ECIP Once the architectural design phase has been (ESPRIT no. 2072), July 1993 completed, the logic design is accomplished. During [8] Bern Cohen, VHDL Coding Styles and this phase, the VHDL descriptions are refined to Methodologies, Kluwer Academic Publishers, obtain an optimum synthesisable description. This 1995. description is then synthesise taking into account [9] S. Kang, S. A. Szygenda, “Design Validation: area, timing and power consumption constraints. The Comparing Theoretical and Empirical Results of process may need some iteration until desired results Design Error Modeling”, IEEE Design & Test of are obtained. A functional verification is needed in Computers, Spring 1994, pp. 18-26, 1994. order to verify that design functionality has not [10] T. Riesgo, Y. Torroja, C. Lopez, J. Uceda, changed. quot;Estimation of the Quality of Design Validation When designing Supercells, designers will use the Based on Error Modelsquot;, VHDL Forum in Europe, Toledo (Spain), April 1997. Timing and Structural Inspection quality Tool to [11] ESIP, Deliverable #216: Final Report on the verify that their designs do not contain problematic Achievements of the ESIP Fault Modelling and structures, and correct them if necessary. When Simulation Activity, ESIP (ESPRIT no. 8370), using Supercells previously designed, the quality October 1995. control of this cells will be performed during the [12] T. Riesgo, J. Uceda, “A Fault Model for VHDL review of the logic design stage. Descriptions at the Register Transfer Level”, Currently, there is a beta version of the VHDL Proceedings of EURO-DAC with EURO- Timing and Structural Inspection Quality Tool that VHDL’96, Geneva (Switzerland), September accepts VHDL flat structural descriptions (nestlists). 1996.