|Fundamental concepts of digital design|
Elements of behaviour
Elements of structure
Characters and strings
Constants and variables
Floating point types
Loop and exit statements
Array types & array operations
Conditional signal assignment
Selected signal assigment
Library and library clauses
Unconstrained array parameter
Package declarations and bodies
Subprograms in package
Resolved signals and subtypes
Resolved signals and ports
Modeling Digital Systems
The term digital systems encompasses a range of systems from low-level components
to complete system-on-a-chip and board-level designs. If we are to encompass this range of views of digital systems, we must recognize the complexity with which we are dealing. It is not humanly possible to comprehend such complex systems in their entirety. We need to find methods of dealing with the complexity, so that we can, with some degree of confidence, design components and systems that meet their re- quirements.
The most important way of meeting this challenge is to adopt a systematic meth- odology of design. If we start with a requirements document for the system, we can design an abstract structure that meets the requirements. We can then decompose this structure into a collection of components that interact to perform the same func- tion. Each of these components can in turn be decomposed until we get to a level where we have some ready-made, primitive components that perform a required function. The result of this process is a hierarchically composed system, built from the primitive elements.
The advantage of this methodology is that each subsystem can be designed inde- pendently of others. When we use a subsystem, we can think of it as an abstraction rather than having to consider its detailed composition. So at any particular stage in the design process, we only need to pay attention to the small amount of information relevant to the current focus of design. We are saved from being overwhelmed by masses of detail.
We use the term model to mean our understanding of a system. The model rep- resents that information which is relevant and abstracts away from irrelevant detail. The implication of this is that there may be several models of the same system, since different information is relevant in different contexts. One kind of model might con- centrate on representing the function of the system, whereas another kind might rep- resent the way in which the system is composed of subsystems.
There are a number of important motivations for formalizing this idea of a model, including
Want To have highly paid VLSI jobs ?? then you may contact at Contact : webmaster@freehost7com
Want To have highly paid VLSI jobs ?? then you may contact at
Contact : webmaster@freehost7com
• expressing system requirements in a complete and unambiguous way
• documenting the functionality of a system
• testing a design to verify that it performs correctly
• formally verifying properties of a design
• synthesizing an implementation in a target technology (e.g., ASIC or FPGA)
The unifying factor is that we want to achieve maximum reliability in the design process for minimum cost and design time. We need to ensure that requirements are clearly specified and understood, that subsystems are used correctly and that designs meet the requirements. A major contributor to excessive cost is having to revise a design after manufacture to correct errors. By avoiding errors, and by providing better tools for the design process, costs and delays can be contained.