Vous êtes sur la page 1sur 25

DIGITAL CIRCUITS AND SYSTEMS

Electronic & Communication Engineering Danang University of Technology

First Generation The early machines Abacus to Babbage to Jacquard Programming Second Generation - 1940 First electronic ENIAC J.P. Eckert and J. Mauchly: Moore school and University of Pennsylvania Other important names of the time John Von Neumann Maurice Wilkes Howard Aiken Other machines EDVAC UNIVAC Whirlwind Project: 2K Magnetic core memory; 16 bit words Tube:18000 Size:100 times larger than todays machines Speed: 1/10000 the speed of contemporary machines Software: OS (None); Languages (Programmed in machine code)

History

Third Generation - 1960 Transistors Size; Speed; Software OS Microprogramming introduced IBM 360 family Early work with: Windows; Pointing devices ; Networking Languages FORTRAN; COBOL; Basic Fourth Generation - 1970 Integrated Circuits: First microprocessors Size; Speed; Software OS UNIX Languages Assembler for microprocessors C, Pascal, etc. Modula Smalltalk

Fifth Generation - 1980 - 2000 VLSI Size ; Speed; OS UNIX continues to evolve Microprocessor OS: DOS; CPM Beginning work in distributed operating systems Linda appears Languages C continues to mature Smalltalk 86 developed ADA work started C++ and other object centered languages Beyond 1990 Wafer Scale Integration - Amdahls Machine Soft Computing: Fuzzy; Neural; Genetic Algorithms Adaptive architectures Dawn of information age Legitimate mixed media Interactive distributed computing

Two architectures emerge Two men set the direction John Von Neumann Princeton Howard Aiken Harvard The pieces Before looking at contributions of these two men Lets look at the basic parts Most contemporary computers comprise 4 basic parts Input Output Input Memory CPU ALU Control Logic Parts are interconnected via what are called busses

Architecture

Control ALU

Output

Memory

Busses signals consist of 3 basic types Address / Data / Control At top level memory comprised of two basic functional parts Storage for : Instructions ; Data In this area where 2 basic architectures differ Von Neumann - Princeton machine Combines data and instructions - Same physical memory Aiken - Harvard machine Place data and instructions - Separate memory Most contemporary machines Based upon Von Neumann architecture Gives rise to what is called Von Neumann bottleneck All data and address signals must use the same bus Original microprocessors were Harvard or Aiken machines Intels 4004 and 8008 machines Used separate data and instruction memories Physical restrictions and limitations of technology at time Pushed direction towards the Princeton Architecture

Software and Its Manifestations Computer hardware is a tool for getting job done As early computer developers showed By re-wiring computer appropriately Could configure to solve desired problem Originally all integer math (Anyone knows how to scale numbers) Quest for making job easier Increasingly sophisticated and powerful languages developed Machine language Assembler Hardware - Registers Higher level Machine Language
Assembler Unique to machine High Level Language C, Pascal, Basic Higher Level Languages C++, Smalltalk 4th GL Application Programs

Software

Can use familiar onion model to view relationship Begin at center with hardware Move to outside to point and click languages

As weve noted: Computer is a tool weve designed To make solving problems easier Lets follow the process to see how it works Problem: Lets begin with simple problem Find the sum of 2 and 3 Problem is stated in natural language Todays computers: Cannot accept problem in the form Must translate into more compatible form We will see that all our activities really involve Translating problem from one form to another Until we reach representation we can solve In current case We translate into some new language C / Basic This translation is done by hand Note at this point We can have a variety of translations They are not unique This translation is what we call software design Result is what we call a program

Hardware & Software

Problem stated in natural language

Problem stated in computer language

This still not enough We require addition levels of translation At this stage We can begin to use some additional tool to help in process First such tool is called compiler Problem stated in natural
language

More Translation

Compiler Compiler is a tool for translating programs Problem stated in Into variety of forms computer language by One such form hand Assembly language Observe prior to this stage Program did not depend upon machine Program translated into assembler using compiler Now program in form that will execute only on particular machine Assembler Assembler is next tool we use for translating Converts assembly language into machine language Program expressed as collection of 0s and 1s machine understands

Linker and Loader Problem stated in natural Although program now in machine language language Not ready to be executed Problem: All variables and data structures we use Must reside in computer memory Problem stated in computer language by Each needs an address in memory hand First Question: Which address should we use Unfortunately Cannot always use the same address Program translated into What if someone else wants to use same address assembler using compiler To solve problem assembler generates Relocatable code Code that can be placed anywhere in memory Program translated into mach.lang using Second question: arises at this time assembler Wed like to be able to use existing code Our own / Other peoples How do we get this into our program without typing in each time Program linked and Tool called linker loader can help with both problems loaded into memory using linking loader Does two jobs Links collection of program modules together Resolves address problems

Problem stated in natural language

Adding that step to flow we now have Into Memory Not quite there yet Several more stages to go At this point linker and loader have gotten program into memory PC systems this means onto the hard drive We will see shortly Memory actually comprised of hierarchy of elements Some of these include Hard drive / RAM/ CACHE / Registers / Instruction register Adding these we come up with We have now seen how to take problem Expressed in natural language Turn into something that can be solved by computer Throughout remainder of class Will examine all steps in greater detail

Problem stated in computer language by hand

Program translated into assembler using compiler

Program translated into mach.lang using assembler

Program linked and loaded into memory using linking loader

Program lcopied from hard drive into RAM

Program goes from RAM to CACHE

Program lgoes from cache to Instruction Register

A digital hardware system

Focused point: the design of logic circuits

A printed circuit board.

Integrated circuits are manufactured on a silicon wafer. The wafer is cut to produce individual chips. They are then placed inside a special type of chip package.

Moores law: Doubling the number of transistors that could be placed on a chip every 1.5 to 2 years

A sample of the International Technology Roadmap for Semiconductors.

Designer may be faced with designing logic circuits that can be implemented on a single chips OR designing circuits that involve a number of chips placed on a printed circuit board (PCB).

Different types of Integrated Circuit Chips: Large variety of chips that implement various functions that are useful in the design of digital hardware The chips range from very simple ones with low functionality to extremely complex chips Eg. A digital hardware product may require a P to perform some arithmetic operations, memory chips to provide storage capability, and interface chips that allow easy connection to input and output devices Three main types of chips: Standard chips Programmable logic devices Custom chips

Standard Chips: It is popular in the early 1980s They usually conform to an agreed-upon standard in terms of functionality and physical configuration Each SC contains a small amount of circuitry (fewer than 100 T) Designer chooses the chips that perform needed functions and defines how these chips should be interconnected to realize a larger logic circuit Today, it became inefficient to use valuable space on PCBs for chips with low functionality Another drawback of standard chips is the functionality of each chip is fixed

Programmable Logic Devices Group of 8 logic cells Memory block

- General structure - Include collection of programmable switches - Design specific applications by the configured switches - Ability of programming multiple times allows making corrections, prototypes - Widely used today

Interconnection wires A field-programmable gate array (FPGA) chip

Custom-Designed Chips: PLDs drawback: Consume valuable chip area and limit the operation speed Sometimes, it does not meet the designed performance and/or cost objectives Solution: the logic circuitry that must be included on the chip is designed first, then an appropriate technology is chosen to implement the chip. Finally the chip is manufactured by a company that has fabrication facilities It is named as custom design to produce custom chips Main advantage: design can be optimized for specific task which usually leads to better performance A single chip can be used instead of multiple chips to achieve the same goal, then a smaller area is needed on a PCB. The cost in producing such chip is high but will be costly effective if manufacturing in large quantities.

Be difficult to automate, require design experiences CAD tools used to simulate product behaviors, to determine if the obtained design meets required specs.

The design process.

Design concept

Initial design

Simulation

Redesign

Design correct? Yes

No

Successful design

To carry out successful simulation, need to have suitable input conditions that can be applied to the design that is being simulated and later to the final product that has to be tested

The basic design loop of digital hardware

Done by the basic design flow

Even functional behavior is correct, the realized circuit may not operate properly. Thus need to implement functional simulation & timing simulation separately

Design flow for logic circuits.

Implementation

Build prototype

Testing

Modify prototype Yes

Correct? Yes

No

Minor errors? No

Finished PCB

Go to A, B, C, or D in Figure 1.7

Completion of PCB development.

Logic Circuit Designs


Mainly use: CPLDs and FPGAs To gain deeper understanding of logic circuits, one should implement examples using CAD tools Tools: Altera, Cadence, Mentor Graphics, Synopsys, Synplicity, Xilinx In this course: Alteras Quartus II CAD system

Vous aimerez peut-être aussi