SlideShare uma empresa Scribd logo
1 de 6
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.
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
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.

                                                                         2.2.1.1 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
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
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
2.2.1.2 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
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.

Mais conteúdo relacionado

Mais procurados

LUXproject Functionality Overview R12.1
LUXproject Functionality Overview R12.1LUXproject Functionality Overview R12.1
LUXproject Functionality Overview R12.1Alexander Zagvozdin
 
Software Process Model_Se lect4 btech
Software Process Model_Se lect4 btechSoftware Process Model_Se lect4 btech
Software Process Model_Se lect4 btechIIITA
 
LUXproject functionality overview R11.8
LUXproject functionality overview R11.8LUXproject functionality overview R11.8
LUXproject functionality overview R11.8Alexander Zagvozdin
 
LUXproject Functionality Overview R12.2
LUXproject Functionality Overview R12.2LUXproject Functionality Overview R12.2
LUXproject Functionality Overview R12.2Alexander Zagvozdin
 
[DSBW Spring 2009] Unit 03: WebEng Process Models
[DSBW Spring 2009] Unit 03: WebEng Process Models[DSBW Spring 2009] Unit 03: WebEng Process Models
[DSBW Spring 2009] Unit 03: WebEng Process ModelsCarles Farré
 
System development approaches
System development approachesSystem development approaches
System development approachesJaipal Dhobale
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life CycleSlideshare
 
System engineering
System engineeringSystem engineering
System engineeringSlideshare
 
Context-Oriented Programming
Context-Oriented ProgrammingContext-Oriented Programming
Context-Oriented Programmingkim.mens
 
ATI Professional Development Short Course Universal Arhitecture Description F...
ATI Professional Development Short Course Universal Arhitecture Description F...ATI Professional Development Short Course Universal Arhitecture Description F...
ATI Professional Development Short Course Universal Arhitecture Description F...Jim Jenkins
 
SOFTWARE LIFECYLE MODELS
SOFTWARE LIFECYLE MODELSSOFTWARE LIFECYLE MODELS
SOFTWARE LIFECYLE MODELSguest1c0da72
 
System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)Imran Hussain Khan
 
Analysis of sdlc
Analysis  of  sdlcAnalysis  of  sdlc
Analysis of sdlclaxmanjecrc
 
(Software development-life-cycle)
(Software  development-life-cycle)(Software  development-life-cycle)
(Software development-life-cycle)Abdullah Al Rumy
 

Mais procurados (20)

LUXproject Functionality Overview R12.1
LUXproject Functionality Overview R12.1LUXproject Functionality Overview R12.1
LUXproject Functionality Overview R12.1
 
Software Process Model_Se lect4 btech
Software Process Model_Se lect4 btechSoftware Process Model_Se lect4 btech
Software Process Model_Se lect4 btech
 
LUXproject functionality overview R11.8
LUXproject functionality overview R11.8LUXproject functionality overview R11.8
LUXproject functionality overview R11.8
 
1.introduction to hd ls
1.introduction to hd ls1.introduction to hd ls
1.introduction to hd ls
 
Sa 009 add
Sa 009 addSa 009 add
Sa 009 add
 
LUXproject Functionality Overview R12.2
LUXproject Functionality Overview R12.2LUXproject Functionality Overview R12.2
LUXproject Functionality Overview R12.2
 
Object Oriented System Design
Object Oriented System DesignObject Oriented System Design
Object Oriented System Design
 
[DSBW Spring 2009] Unit 03: WebEng Process Models
[DSBW Spring 2009] Unit 03: WebEng Process Models[DSBW Spring 2009] Unit 03: WebEng Process Models
[DSBW Spring 2009] Unit 03: WebEng Process Models
 
System development approaches
System development approachesSystem development approaches
System development approaches
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
Ajs 1 a
Ajs 1 aAjs 1 a
Ajs 1 a
 
Software process
Software processSoftware process
Software process
 
System engineering
System engineeringSystem engineering
System engineering
 
Context-Oriented Programming
Context-Oriented ProgrammingContext-Oriented Programming
Context-Oriented Programming
 
CSC426 - SDLC Models
CSC426 - SDLC ModelsCSC426 - SDLC Models
CSC426 - SDLC Models
 
ATI Professional Development Short Course Universal Arhitecture Description F...
ATI Professional Development Short Course Universal Arhitecture Description F...ATI Professional Development Short Course Universal Arhitecture Description F...
ATI Professional Development Short Course Universal Arhitecture Description F...
 
SOFTWARE LIFECYLE MODELS
SOFTWARE LIFECYLE MODELSSOFTWARE LIFECYLE MODELS
SOFTWARE LIFECYLE MODELS
 
System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)
 
Analysis of sdlc
Analysis  of  sdlcAnalysis  of  sdlc
Analysis of sdlc
 
(Software development-life-cycle)
(Software  development-life-cycle)(Software  development-life-cycle)
(Software development-life-cycle)
 

Semelhante a Dcis97

SE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it studentSE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it studentRAVALCHIRAG1
 
Software engineering
Software engineeringSoftware engineering
Software engineeringnidhi5388
 
Peripheral Libraries and Drivers for Microcontrollers: A Comprehensive Survey
Peripheral Libraries and Drivers for Microcontrollers: A Comprehensive SurveyPeripheral Libraries and Drivers for Microcontrollers: A Comprehensive Survey
Peripheral Libraries and Drivers for Microcontrollers: A Comprehensive SurveyIRJET Journal
 
A Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere ToolsA Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere Toolsghodgkinson
 
Waterfall models.ppt
Waterfall models.pptWaterfall models.ppt
Waterfall models.pptPawanRaj48
 
Software Engineering- Crisis and Process Models
Software Engineering- Crisis and Process ModelsSoftware Engineering- Crisis and Process Models
Software Engineering- Crisis and Process ModelsNishu Rastogi
 
Software Engineering Methodology
Software Engineering MethodologySoftware Engineering Methodology
Software Engineering MethodologyRajandeep Gill
 
Lecture 4 software process model (2)
Lecture 4   software process model (2)Lecture 4   software process model (2)
Lecture 4 software process model (2)IIUI
 
Fostering MBSE in Engineering Culture
Fostering MBSE in Engineering CultureFostering MBSE in Engineering Culture
Fostering MBSE in Engineering CultureObeo
 

Semelhante a Dcis97 (20)

SE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it studentSE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it student
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Peripheral Libraries and Drivers for Microcontrollers: A Comprehensive Survey
Peripheral Libraries and Drivers for Microcontrollers: A Comprehensive SurveyPeripheral Libraries and Drivers for Microcontrollers: A Comprehensive Survey
Peripheral Libraries and Drivers for Microcontrollers: A Comprehensive Survey
 
A Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere ToolsA Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere Tools
 
Spm unit 3
Spm unit 3Spm unit 3
Spm unit 3
 
HCI Chapter_2.pdf
HCI Chapter_2.pdfHCI Chapter_2.pdf
HCI Chapter_2.pdf
 
Software engineering the process
Software engineering the processSoftware engineering the process
Software engineering the process
 
chapter 2 (1).ppt
chapter 2 (1).pptchapter 2 (1).ppt
chapter 2 (1).ppt
 
Waterfall models.ppt
Waterfall models.pptWaterfall models.ppt
Waterfall models.ppt
 
Model.ppt
Model.pptModel.ppt
Model.ppt
 
HCI Chapter_2.ppt
HCI Chapter_2.pptHCI Chapter_2.ppt
HCI Chapter_2.ppt
 
2.SDLC Models.ppt
2.SDLC Models.ppt2.SDLC Models.ppt
2.SDLC Models.ppt
 
The process
The processThe process
The process
 
Software Engineering- Crisis and Process Models
Software Engineering- Crisis and Process ModelsSoftware Engineering- Crisis and Process Models
Software Engineering- Crisis and Process Models
 
2-models.pptx
2-models.pptx2-models.pptx
2-models.pptx
 
Sdlc
Sdlc Sdlc
Sdlc
 
Software Engineering Methodology
Software Engineering MethodologySoftware Engineering Methodology
Software Engineering Methodology
 
Lecture 4 software process model (2)
Lecture 4   software process model (2)Lecture 4   software process model (2)
Lecture 4 software process model (2)
 
Fostering MBSE in Engineering Culture
Fostering MBSE in Engineering CultureFostering MBSE in Engineering Culture
Fostering MBSE in Engineering Culture
 

Mais de rajesh panda

Managing The Market Process 2
Managing The Market Process 2Managing The Market Process 2
Managing The Market Process 2rajesh panda
 
Labelling And Packing
Labelling And PackingLabelling And Packing
Labelling And Packingrajesh panda
 
Induction Program Case Amway
Induction Program Case AmwayInduction Program Case Amway
Induction Program Case Amwayrajesh panda
 
Understanding Consumer And Social Buying Bahavior 4
Understanding Consumer And Social Buying Bahavior 4Understanding Consumer And Social Buying Bahavior 4
Understanding Consumer And Social Buying Bahavior 4rajesh panda
 
Target Marketing 6
Target Marketing 6Target Marketing 6
Target Marketing 6rajesh panda
 
Sales Promotion & Personal Selling
Sales Promotion & Personal SellingSales Promotion & Personal Selling
Sales Promotion & Personal Sellingrajesh panda
 
Product Positioning
Product PositioningProduct Positioning
Product Positioningrajesh panda
 
Product And Product Lines 8
Product And Product Lines 8Product And Product Lines 8
Product And Product Lines 8rajesh panda
 
Pricing And Marketing
Pricing  And MarketingPricing  And Marketing
Pricing And Marketingrajesh panda
 
Personal Selling & Dm
Personal Selling & DmPersonal Selling & Dm
Personal Selling & Dmrajesh panda
 

Mais de rajesh panda (16)

Managing The Market Process 2
Managing The Market Process 2Managing The Market Process 2
Managing The Market Process 2
 
Labelling And Packing
Labelling And PackingLabelling And Packing
Labelling And Packing
 
Induction Program Case Amway
Induction Program Case AmwayInduction Program Case Amway
Induction Program Case Amway
 
Channel
ChannelChannel
Channel
 
Acquisitions
AcquisitionsAcquisitions
Acquisitions
 
Understanding Consumer And Social Buying Bahavior 4
Understanding Consumer And Social Buying Bahavior 4Understanding Consumer And Social Buying Bahavior 4
Understanding Consumer And Social Buying Bahavior 4
 
Target Marketing 6
Target Marketing 6Target Marketing 6
Target Marketing 6
 
Social Marketing
Social MarketingSocial Marketing
Social Marketing
 
Sales Promotion & Personal Selling
Sales Promotion & Personal SellingSales Promotion & Personal Selling
Sales Promotion & Personal Selling
 
Product Positioning
Product PositioningProduct Positioning
Product Positioning
 
Product And Product Lines 8
Product And Product Lines 8Product And Product Lines 8
Product And Product Lines 8
 
Pricing And Marketing
Pricing  And MarketingPricing  And Marketing
Pricing And Marketing
 
Price
PricePrice
Price
 
Personal Selling & Dm
Personal Selling & DmPersonal Selling & Dm
Personal Selling & Dm
 
Os Concepts
Os ConceptsOs Concepts
Os Concepts
 
Master Report
Master ReportMaster Report
Master Report
 

Último

A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 

Último (20)

A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

Dcis97

  • 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. 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. 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. 2.2.1.1 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. 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. 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 2.2.1.2 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. 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.