求一篇电子专业相关外文文章!
2011-05-25
Overview of Modern Digital Design
Electronic circuit design has traditionally fallen into two main areas: analogue and digital. These subjects are usually taught separately, and electronics engineers tend to specialize in one area. Within these two groupings there are further specializations, such as radio frequency analogue design; digital integrated circuit design; and, where the two domains meet, mixed-signal design. In addition, of course, software engineering plays an increasingly important role in embedded systems.
Digital electronics is ever more significant in consumer goods. Cars have sophisticated control systems. Many homes now have personal computers. Products that used to be thought of as analogue, such as radio, television and telephones, are all becoming digital. Digital compact discs have almost entirely replaced analogue LPs for recorded audio. With these changes, the lifetimes of products have lessened. Ina period of less than a year, new models will probably have replaced all the digital electronic products in your local store.
Design automation
To keep pace with this rapid change, electronics products have to be designed extremely quickly. Analogue design is still a specialized (and well-paid ) profession. Digital design has become very dependent on computer-aided design (CAD)-also known as design automation (DA) or electronic design automation (EDA). The EDA tools allow two tasks to be performed: synthesis, in other words the translation of a specification into an actual implementation of the design; and simulation, in which the specification or the detailed implementation of the design; and simulation, in which the specification or the detailed implementation can be exercised in order to verify correct operation.
Synthesis and simulation EDA tools require that the design be transferred from the designer`s imagination into the tools themselves. This can be done by drawing a diagram of the design using a graphical package. This is known as schematic capture. Alternatively, the design can be represented in a textual form, much like a software program. Textual descriptions of digital hardware can be written in a modified programming language, such as C, or in a hardware description language (HDL).Over the past thirty years or so, a number of HDLs have been designed. Two HDLs are in common usage today: Verilog and VHDL (VHSIC Hardware Description Language, where VHSIC stands for Very High Speed Integrated Circuit). Standard HDLs are important because they can be used by different CAD tools from different tool vendors. In the days before Verilog and VHDL, very tool had its own HDL, requiring laborious translation between HDLs, for example to verify the output from a synthesis tool with another vendor`s simulator.
Logic gates
The basic building building blocks of digital circuits are gates. A gate is an electronic component with a number of inputs and, generally, a single output. The inputs and the outputs are normally in one of two states: logic 0 or logic 1. These logic values are represented by voltages (for instance, 0 V for logic 0 and 3.3 V for logic 1) or currents. The gate itself performs a logical operation using all of its inputs to generate the output. Ultimately, of course, digital gates are really analogue components, but for simplicity we tend to ignore their analogue nature.
It is possible to buy a single integrated circuit containing, say, four identical gates, as shown in Figure 5.1. (Note that two of the connections are for the positive and negative power supplies to the device. These connections are not normally shown in logic diagrams.) A digital system could be built by connecting hundreds of such devices together-indeed many systems have been designed in that way. Although the individual integrated circuits might cost as little as i0 cents each, the cost of designing the printed circuit board for such a system and the cost of assembling the board are very significant and this design style is no longer cost-effective.
Much more complicated functions are available as mass-produced integrated circuits, ranging from flip-flops through to microprocessors. With increasing complexity comes flexibility-a microprocessor can be programmed to perform a near-infinite variety of tasks. Digital system design therefore consists, in part, of taking standard components and connecting them together. Inevitably, however, some aspect of the functionality will not be available as standard device. The designer is then left with the choice of implementing this functionality from discrete gates or of designing a specialized integrated circuit to perform that task. While this latter task may appear daunting, it should be remembered that the cost of a system will depend to a great extent not on the cost of the individual components but on the cost of connecting those components together.
ASIC and FPGAs
The design of a high-performance, full-custom integrated circuit (IC) is, of course, a difficult task. In full-custom IC design, everything, down to and including individual transistors may be designed (although libraries of parts are, of course, used). For many years, however, it has been possible to build semi-custom integrated circuits using gate arrays. A gate array, as its name suggests, is an integrated circuit on which an array of logic gates has been created. The design of an application-specific integrated circuit (ASIC) using a gate array therefore involves the definition of how the gates in the array should be connected. In practical terms, this means that one or two layers of metal interconnect must be designed. Since an integrated circuit requires seven of more processing stages, all the processing steps other than the final metallization can be completed in advance. Because the uncommitted gate arrays can be produced in volume, the cost of each device is relatively small.
The term ASIC is often applied to full-custom and semi-custom integrated circuits. Another class of integrated circuit is that of programmable logic. The earliest programmable logic devices (PLDs) were programmable logic arrays (PLAs). Like gate arrays, these consist of arrays of uncommitted by applying a large (usually negative) voltage to individual connections. The general by applying a large (usually negative) voltage to individual connections. The general structure of a PLA is shown in Figure 5.2. The PLA has a number of inputs (A,B,C) and outputs (X,Y,Z), an AND-plane and an OR-plane. Connections between the inputs and the product terms (P,Q,R,S) and between the product terms and outputs are shown: the remaining connections have been removed as part of the programming procedure. Some PLAs may be reprogrammed electrically or by restoring the connections by exposing the device to ultraviolet light. PALs (programmable array logic) extend the idea of PLAs to include up to 12 flip-flops. In recent years, programmable devices have become much more complex and include CPLDs (complex PLDs) and FPGAs (field programmable gate arrsys).