CS311N Digital Hardware Design






Lecture # 1 December 29, 1999.

INSTRUCTOR

Prof. M. Balakrishnan.

Deptt. of Computer Science and Engg.

COURSE CONTENT

Available at following url

http://www.cse.iitd.ernet.in/~mbala/cs311n/contents.html

INTRODUCTION

What are digital systems?

These are the systems which take continuous or discrete signals as input(s) and produce discrete or continuous signals as output(s) or may take discrete input(s) and produce discrete output(s).

REPRESENTATIONS

For digital systems we represent signals in discrete time. It means that signal values are not continuous, but follows its value with a periodic gap of specific time called time period of the signal.

Data fetched is quantized for all types of data for a digital syatem. Usually binary number representation is used to code the data. Octal and hexadecimal number systems are also widely used now a days and sometimes preffered over binary system. Some standard code of representation like ASCII or EBCDEC is used for representing the data.

ADVANTAGES OVER ANALOG

Programmability

Digital systems are programmable. Nowadays, various programming languages are available to program digital systems for various purposes and requirements and can be done as and when required. Also these days trend of using information cards has become quite popular. These cards can contain informations even regarding the expiry of systems eg in mobile phones and other machines like ATM. These cards can also be programmed using high level languages like java and can run java applets. DHD can also be used in its various forms for hardware programming.

Accuracy

We can predict accuracy of a digital system by a method of reasoning (logic), by understanding the program or by verifying its truth table or otherwise. Sometimes we can also pin-point the sequence of events a digital device will go through in its general functioning. The simplicity of these devices and the principle underlying makes all the difference. So we can most of the times predict how the device will function in a given condition and also we can set the extreme conditions and can also specify how the system will respond in such a condition. So digital systems have nowadays got very much acceptance and reliability and people are switching to digitals.

Maintainability

These systems are easily maintainable and do not consume much time regarding their care etc and usually simple precautions are sufficient for their general well functioning. Even if some repair or replacement are required that can be done easily. Very important feature of the digital systems is their size and weight. They are usually compact and tidy and their transportation and shifting is also very simple. Their configurations are also very simple most of the times hence sometimes preferred analogs. Their size is getting smaller and smaller day by day and in this regard they have very bright future over analogs.

But analog will continue to survive because there is speed limitations with digital systems due to their fundamental discrete nature. Analog will still be prefered at very high frequencies and sometimes the only possibility in some cases.

APPLICATIONS

Real time computing

Digital systems get their applications in real time computing where time constraints are hard. It means that system can not afford a delay more than a prescribed limit. These kind of constraints are very much common in space exploration systems, supercomputers, processors, air traffic control etc. In these applications we cannot rely sometimes on analogs because of their unprogrammability. We can use most efficient algorithms available to fit ourselves with the given time constraints precisely.

Interactive computing

Here although the time constraints are soft but still limited. So we can spend time in designing digital systems for such a application. But we cannot spend time leisurely and have to come up with suitable system in given time.

Off-line computing

In these aplications there is no time constraint but digital systems play equally well in these situations also and can be designed as and when required.

DIGITAL SYSTEMS EXAMPLES

Consumer Electronics

Digital washing machines using fuzzy logic, television, dish antenna, digital fidelity systems like music systems etc

Radar and Sonar Processing

Air traffic control, military applications, marine applications, submarine, remote sensing etc

Control systems

Digital locking systems, digital identification systems, manufacturing control unit,

Automobile controlling systems like those used in cars, automatic reaction controlling systems and so on.

General Computing

Calculators, digital diaries, digital notebooks, laptops, computers, super computers etc

Mobile Computing

Palmtops, laptops etc

SYSTEM DESIGN STEPS

Designing a digital system includes following important parts about which we briefly overview here.

Specifications

Every digital system is needed to be completely specified before it is designed. The truth table, speed requirements (clock rate if it is synchronous ), cost, purpose, time constraints etc are needed to be completely specified.

After this we can move to verification stage to verify whether the specification are correct because the designer or the engineer might be getting some specifications in different context than the one who wants the system to be designed for himself or herself.

Synthesis

This part contains the design and implementation part where the designer takes care of the various objectives, needs and limitations of the system and design the best possible system in given conditions and requirements.

Circuit

The proper circuit diagram is made, its working understood and the circuit is realised or simulated to view how the system would work in the real condition. After this we move to verification stage.

Verification

It is done in various part of the designing process to see whether what being designed is actually what really was initially wanted. In the course of verification, various modifications are proposed as when required and the corresponding changes are incorporated. The design gets refined each time, and thus the system comes into being after the final verification.
 
 


Click here to see the Figure  of System Design Steps


 





SPECIFICATION LANGUAGES

Although we can use any natural language like English, Hindi, French or any other language for specification of a digital system in its design process, but they suffer with serious limitations by being ambiguous due certain gramatical features, and not understandable by machine, and thus not suitable for being processed by a machine.

Thus we need to have a language which may help to represent digital specifications with an ease to humans as well as to the machine. Thus comes up a new language Hardware Description Language (HDL). It has come up in various forms, developed by various technical institutes, firms, universities etc. Hence this needed again a standardization, and hence we have Standard HDL, as far as electronics industry is concerned. We will be learning one HDL in this course. Although it is difficult to write for humans, HDL is easily machine simulatable and executable.
 
 

( THESE NOTES FOR LECTURE # 1 HAS BEEN PREPARED BY Bhagirath K. Lader, 98132) 1