Computer-Aided-Design (CAD) and Simulation:
• Computer-Aided-Design (CAD) and Simulation:
Models behavior of a real hardware system using an approximation in software
Mathematical formulas are used to emulate and predict physical phenomena
Can provide time-based information
Primary method used for evaluation of systems before manufacture
Must check final design for meeting all functional specifications
Building hardware prototypes is impractical for large systems
Takes too long and costs too much
Especially important for custom fabricated VLSI chips
Requires photomask, fab line setup, and yield curve ramp-up
Enables:
Design verification through 'soft' Rapid Prototyping
Allows designer to detect conceptual errors as early as possible
Effects of changes in the design to be analyzed quickly
Especially those changes that arrive late (i.e., 'just-in-time')
Performance Evaluation
Identification and tuning of critical components (optimization)
Comparison of [possibly experimental] architectures
Trade-off Evaluation of different designs
Hardware / Software Partitioning
Parallel design of hardware and software
Integration and Testing
Advantages:
Time and money are saved by removing faults before manufacture
Simulator description of design can serve as documentation
When number of inputs is small, exhaustive testing is possible
Software driven test vector generation
Can be even better than building a hardware prototype
Enables internal functions to be observed; not possible in pin-limited ICs
Slow-down or accelerate playback in virtual time
Limitations:
"Approximation" must be accurate "enough", yet computationally efficient
e.g.) Circuit-level simulation for entire complex systems not possible
Behavior at level boundaries accurate only if certain restrictions hold
e.g.) Rise, Fall, and Transient voltages of circuit level must map into 1s/0s
Hierarchical structured simulator is required
Multi-level simulation using same input description language
Must allow a 'top-down' design approach to be used
• Simulation can be performed at a number of different levels for digital systems:
- Behavioral level, Functional Level, or Systems Level:
Emulates stimulus / response behavior of subsystem components (e.g. ALU)
No attempt made to replicate the internal mechanism by which this is achieved
Device is considered a "black box"
Most efficient method of simulation; least accurate
Designer is more concerned with what tasks the system needs to perform
- Register-Transfer Level
Data flow involving components that handle groups of bits (e.g. register, mux)
Signals at this level might be integers
- Gate Level or Logic Level
Components are gates (e.g. NAND gates)
Signals at this level correspond to individual bits
For VHDL, this is the most computation intensive and most accurate mode
Designer is concerned with how the system will perform its tasks
- Circuit-Level
Models individual transistors
Generally analog in nature for detailed timing analysis (e.g. SPICE)
VHDL probably not used at this level
More accurate than gate-level; more computationally intensive too
- Layout Level
Definition of the hardware in silicon structures
Can model on-chip parasitics, inductance, electron migration
Generally only used by device physicists
Uses computation-intensive differential equations for utmost accuracy
• Structured Machine Design:
Multiple levels of hierarchy are used to manage system complexity
Each higher level is an abstraction of the level below it
User (programmer or hardware designer) works at the highest level possible
No need for user to be concerned with details of lower levels
e.g.) A programmer need not be aware of how the level he is using is implemented
Each level is a virtual machine
User thinks of it as a real physical machine
However, it does not really exist.
It is implemented by a lower level (which could be another virtual machine)
Enables machine (or software) to be built layer-by-layer
Tremendously simplifies the production of complex (virtual) machines
• VHSIC: Very High Speed Integrated Circuit
DoD program to advance the state-of-the-art in chip design & fabrication
• VHDL: VHSIC Hardware Description Language
A language and simulation environment for digital devices (esp. VHSIC)
A 1987 standardization effort by the Department of Defense (DoD)
Definition involved strong industry participation
Based on Ada, another DoD standard (superset of Ada; 81 vs. 63 rsrvd words)
Consists of the Language and the Support Environment
Support Environment:
Analyzer: "compiler" which checks VHDL source syntax and static semantics
Library: stores intermediate format generated by analyzer
Simulator: verifies (through simulation) the dynamic semantics
• VHDL provides:
- Abstractions of digital hardware in a single cohesive language
Based on: generalized model of stimulus / response behavior
Behavior is described using computer language-like code
A functional component reacts to activity on its input connections.
It responds through its output connections.
Can describe digital hardware ranging from logic gates to entire systems
Includes: Behavioral, and Structural
- Documentation
Before:
Typical delivery of hardware to govt. included 1,000s pgs. of documents
Needed during acceptance / testing / maintenance of component
When component needed replacement, large effort was required
Intended behavior of part had to be reconstructed from document
Now:
Deliver VHDL with part
VHDL is human readable; can serve as documentation
VHDL is machine executable; can be used for simulation
VHDL serves as basis for documentation and reprocurement
- Design Information Interchange
Models developed at one location will run at other locations
- Large-Scale Design
Enables design decomposition
Supports multiperson / multicompany design teams
- A DoD and Industry (IEEE-1076-1987) Standard
Public Availability
Enables easy communication of designs among participants
Before:
Each CAD tool vendor had their own proprietary description language
Disparate tools for each level of simulation
Now:
ONE language EVERYONE can use, for ALL levels of simulation.
VHDL is accepted by a number of CAD tools.
- A Technology and Process Independent Modeling Language
Can survive new technology (CMOS, GaAs) and fab methods
- Wide range of descriptive capability
Can model from a top-level behavioral view down to detailed logic timing view
- Flexible design methodologies (e.g. top-down, bottom-up, or mixed)
- Mixing of multiple level models in one simulation
Designer can efficiently simulate large complex digital systems
Use detailed level only for portions of hardware of interest
Use less-accurate, more efficient levels for hardware already debugged
- Hierarchical abstractions to control scale-up problems of large systems
Can decompose a large, complex problem into simpler sub-problems
- Schematic entry
Graphical interface hides user from the language
Enables user to place and interconnect boxes (entities) with wires (signals)
User merely draws schematic
Added benefit: Schematic diagram documentation
- Reusability
Store entities in library for future use
- Input to automatic logic synthesis tools / Silicon Compilers
Give the silicon compiler a high-level behavioral description
Compiler automatically generates netlist of gates needed to get behavior
- Input to automatic test pattern generation (in the future)
Given a netlist, ATPG generates test vectors to check manufactured IC
Presently limited to exhaustive or stuck-at fault model
- Formal proof using logical calculus (in the future)
e.g.) Predicate calculus could prove that 8 bit wide register cannot overflow
- An amalgamation of: sequential, concurrent, net-list, timing, and waveform langs.
- A man-to-tool, man-to-man, and tool-to-tool communication medium
• We will be using VHDL primarily as a gate-level logic simulator (Signals of type bit)
• Logic Simulation
Logic (gate-level) diagram for design is described in topological form (i.e. netlist)
Each primitive element's behavior is coded and its input/output specified.
Propagation delays can be assigned to each gate to do timing analysis
Test vector input stimulus (supplied by user) is applied to model of system
Binary output of each logic element is calculated at each simulation time step.
Simulation time continues to advance until a steady state is reached
• The VHDL Language is:
Similar to other programming languages in that:
VHDL is "Ada-like"
Design units are read by a compiler and checked for proper syntax
Object modules are placed in a VHDL library
Objects are loaded (i.e. linked) into a simulator and executed
Different from other programming languages in that:
It has some unique constructs for the H/W designer
Can build a structural model of interconnected functional units
It offers a notation for signal delays to model gate propagation time
It can execute statements concurrently
Most algorithms are sequential
A program executes one instruction after another
However, H/W consists of concurrently active components
So, VHDL enables concurrent simulation of statements
Strongly typed language
Enables errors to be caught early at compile time
e.g.) Cannot connect an 8 bit part to a 4 bit part
We will use mainly type bit ('0', '1')
Insensitive to case
Comments marked by --
Highly powerful and verbose
We will study a small core subset of the language
• Symbolic names:
Must begin with an alphabetic letter (a-z) followed by a letter, underscore, or digit
Must not be a reserved word (e.g. in, out, signal, port, bit, etc.)
Suggestion: Append a numeric suffix to all user chosen names
Avoids any conflict since no reserved words have numbers
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related searches
- computer science project topics and materials
- computer architecture and design pdf
- computer simulation forces friction and motion
- computer screen turned black and white
- computer screen flashing on and off
- computer won t copy and paste anymore
- line design copy and paste
- web design terminology and definitions
- computer desk with hutch and drawers
- cad and hypertension coding guidelines
- design elements and principles examples
- system design methodologies and techniques