In this chapter we present basic definitions that relate to

Size: px
Start display at page:

Download "In this chapter we present basic definitions that relate to"

Transcription

1 01_1_16.fm Page 1 Thursday, January 13, :22 AM C H A P T E R 1 Structured Design Concepts In this chapter we present basic definitions that relate to the design process. It is necessary to introduce them now so that other concepts can be explained. The reader should study them carefully in order to comprehend material introduced later. It will also be useful to revisit this chapter as one proceeds through the text since the full meaning of the terms will only become clear through use and example. 1.1 THE ABSTRACTION HIERARCHY In this section we present the abstraction hierarchy employed by digital designers. Abstraction can be expressed in the following two domains: Structural domain. A domain in which a component is described in terms of an interconnection of more primitive components. Behavioral domain. A domain in which a component is described by defining its input/ output response. Figure 1.1 shows structural and behavioral descriptions for a logic circuit, which detects two or more consecutive 1 s or two or more consecutive 0 s on its input X. The structural description is an interconnection of gate and flip-flop primitives. The behavioral description is expressed textually in a hardware description language (HDL). An abstraction hierarchy can be defined as follows: Abstraction hierarchy. A set of interrelated representation levels that allow a system to be represented in varying amounts of detail. Figure 1.2 shows a picture of a typical abstraction hierarchy. For each level i in the hierarchy there exists a transformation to level i+1. The level of detail usually increases monotonically as one moves down in the hierarchy. 1

2 01_1_16.fm Page 2 Thursday, January 13, :22 AM 2 Chapter 1 Structured Design Concepts Structural Description entity TWO_CONSECUTIVE is port(clk,r,x: in BIT;Z: out BIT); end TWO_CONSECUTIVE; architecture DATAFLOW of TWO_CONSECUTIVE is signal Y1,Y0: BIT; begin STATE: block((clk = '1'and not CLK'STABLE) or R = '0') begin Y1 <= guarded '0' when R = '0' else X; Y0 <= guarded '0' when R = '0' else '1'; end block STATE; Z <= Y0 and ((not Y1 and not X) or (Y1 and X)); end DATAFLOW; Behavorial Description Figure 1.1 Structural and behavioral descriptions of a sample circuit. V Figure 1.2 Abstraction hierarchy.

3 01_1_16.fm Page 3 Thursday, January 13, :22 AM The Abstraction Hierarchy 3 Table 1.1 Design abstraction hierarchy. Level of Detail Behavioral Domain Representation Structural Domain Primitive System Performance specifications (English) Computer, disk, unit, radar Chip Algorithm Microprocessor, RAM, ROM, UART, parallel port Register Data flow Register, ALU, COUNTER, MUX, ROM Gate Boolean equations AND, OR, XOR, FF Circuit Differential equations Transistor, R, L, C Layout/silicon Equations of electron and hole motion Geometrical shapes This book uses a design hierarchy that has six levels: silicon, circuit, gate, register, chip, and system. Table 1.1 illustrates this hierarchy. The silicon level is the lowest level in the hierarchy, the system level the highest. One can represent a design at any of these levels. As one moves down in the hierarchy, one is closer to a physical implementation and the design representation is less abstract. Correspondingly, the amount of detail required to represent a design increases as one descends in the hierarchy. As will be emphasized throughout the text, it is important that a particular design activity be carried out at a level which has sufficient but not excessive detail. A level with insufficient detail yields inaccurate results; whereas, a level with excessive detail can make the design activity too expensive. Table 1.1 shows the nature of this hierarchy in terms of the structural primitives and behavioral representation for each level. Structural primitives are interconnected to form a structural model at a given level. Figure 1.3 shows examples of the structural primitives at each level. The behavioral representation is the textual or pictorial form of a device s I/O response at that level. At the lowest level, the silicon level, the basic primitives are geometric shapes that represent areas of diffusion, polysilicon, and metal on the silicon surface. The interconnection of these patterns models the fabrication process from the designer s point of view. Behavioral description at this level are the physical equations that describe electron and hole motion in electrical materials. At the next level up, the circuit level, the representation is that of an interconnection of traditional passive and active electrical circuit elements: resistors, capacitors, and bipolar and MOS transistors. The interconnection of components is used to model circuit behavior in terms of voltage and current. The behavioral content at this level can be expressed in terms of differential equations. The third level up, the gate level, has traditionally been the major design level for digital devices. The basic primitives are the AND, OR, and INVERT operators and various types of flip-flops. Interconnection of these primitives forms combinational and sequential logic circuits. Boolean equations define the behavior at this level. The level above the gate level is the register level. Here the basic primitives are such things as registers, counters, multiplexers, and ALUs. These primitives are sometimes referred to as functional blocks. They also correspond to VLSI design macros. Thus, this level is also referred to as the functional or macro level. Although the register-level primitives can be expressed in

4 01_1_16.fm Page 4 Thursday, January 13, :22 AM 4 Chapter 1 Structured Design Concepts V+ G S P D Vin G D Vout S SILICON LEVEL Inverter CIRCUIT LEVEL S Q Select REG R Q CLK A MUX REG CLK B S R Q Q INC GATE LEVEL REGISTER LEVEL RAM 8 Microprocessor Parallel Port USART 8 8 A/B Computer IMU RADAR Interrupt Controller C/D CHIP LEVEL SYSTEM LEVEL Figure 1.3 Examples of structural domain primitives. terms of an interconnection of gates, when working at this level, one does not take this viewpoint. Register-level primitives are expressed in terms of truth tables and state tables; thus, these two forms can be used to represent the behavioral content at this level. Behavioral descriptions at this level are termed data flow, i.e., they reflect the way data is actually distributed in a real implementation. In this book, we will show how these data flow descriptions can be implemented in a hardware description language. The level above the register level is the chip level. At this level, the structural primitives are such things as miroprocessors, memories, serial ports, parallel ports, and interrupt controllers. Although chip boundaries are typically the model boundaries, other situations are possible.

5 01_1_16.fm Page 5 Thursday, January 13, :22 AM Textual vs. Pictorial Representations 5 For example, collections of chips, which together form a single functional unit, can be modeled as a single entity. Or alternatively, sections of a chip design could be modeled as separate entities during this design phase. The key aspect is that a large block of logic is to be represented in which long and frequently convergent data paths from inputs to outputs must be modeled. In the behavioral domain, at each level in the hierarchy, the primitives are behavioral descriptions which are not structural models that are created from more basic primitives. Each primitive is a distinct model entity. Thus, if a serial I/O port (UART) is to be modeled, the model is not created by interconnecting simpler functional models of such things as registers and counters the UART itself is the basic model entity. Behavioral domain models are important to system manufacturers who buy a chip from another manufacturer but have no knowledge of its proprietary gate-level structure. Chip level models of complicated circuits are viewed as Intellectual Property (IP) and are frequently sold by one company to another. The behavioral content of a chiplevel model is defined in terms of the I/O response of the device the algorithm that the chip implements. In this book, a hardware description language is used to code these algorithmic descriptions. The top level in the structural hierarchy is the system level. The primitive elements of this level are computers, bus interface units, disk units, radar units, etc. The behavioral content of this level is frequently expressed in terms of performance specifications, which give, for example, the MIPS rating (million instructions per second) of a processor or the bandwidth in bits per second of a bus, or use a statistical model to determine the percent utilization of a part of the system. If a deterministic model is used at this level, it employs very high-level data types to represent information being passed between systems. For example, if a radar system were modeled, information of type "frequency" would be passed between units in the system. 1.2 TEXTUAL VS. PICTORIAL REPRESENTATIONS Design representations can be either pictorial or textual. Figure 1.1 shows a pictorial logic schematic for the circuit, which detects two consecutive 1 s or two consecutive 0 s (referred to as TWO_CON). Figure 1.4 shows a block diagram, a state diagram, a timing diagram, a state table, state assignment, and truth tables (Kmaps) for the same circuit. These are all examples of pictorial forms. Common textual methods of representation are natural languages (e.g., English), equations (e.g., Boolean or differential), and computer languages. In this text we use a specialized computer language called a hardware description language, which can be defined as follows: Hardware description language. A high-level programming language with specialized constructs for modeling hardware. The behavioral description in Figure 1.1 illustrates a hardware description language textual description for TWO_CON. An important consideration in developing a design process is whether to use pictures or text. Historically, pictures have been the preferred representation for digital design, i.e., block, timing, and logic diagrams (schematics) were the principal forms of representation. However, with the advent of hardware description languages, textual design descriptions have gained in popularity. From inspecting Figures 1.1, 1.3, 1.4, and Table 1.1, one can see that structural

6 01_1_16.fm Page 6 Thursday, January 13, :22 AM 6 Chapter 1 Structured Design Concepts Block Diagram State Diagram Timing Diagram X 0 1 S0 S1/0 S2/0 S1 S1/1 S2/0 S2 S1/0 S2/1 State Table code X y1y Y1 code y1y0 S0 00 S1 01 S2 11 State Assignment code X y1y Y2 Truth Tables (Kmaps) code X y1y Z Figure 1.4 Pictorial representations of logic circuits. descriptions are primarily pictorial, and that behavioral representations are primarily textual. Some exceptions to this classification scheme are state tables, state diagrams, and timing diagrams, which are pictorial but represent behavior. As to the general question of when pictures should be employed or when text should be used, one can make the following generalization: Text is better for representing complex behavior; pictures are better for illustrating interrelationships. Excessive use of either text or pictures results in a loss of perspective, i.e., one cannot see the forest for the trees. Thus, real design systems balance the use of text and pictures this is the approach we use in this text.

7 01_1_16.fm Page 7 Thursday, January 13, :22 AM Types of Behavioral Descriptions 7 Architecture ALGORITHMIC of TWO_CONSECUTIVE is type STATE is (S0,S1,S2); signal Q: STATE := S0; begin process(r,x,clk,q) begin if (R'EVENT and R = '0') then --reset event Q <= S0; elsif (CLK'EVENT and CLK = '1') then --clock event if X = '0' then Q <= S1; else Q <= S2; end if; end if; If Q'EVENT or X'EVENT then --output function if (Q=S1 and X='0') or (Q=S2 and X='1') then A <= '1'; else z <= '0'; end if; end if; end process; and ALGORITHMIC; Figure 1.5 Algorithmic description of the example circuit in Figure TYPES OF BEHAVIORAL DESCRIPTIONS Behavioral descriptions in hardware description languages are frequently divided into two types: algorithmic and data flow. Algorithmic. A behavioral description in which the procedure defining the I/O response is not meant to imply any particular physical implementation. Thus, an algorithmic description is merely a procedure or program written to model the behavior of a device, to check that it is performing the correct function, without worrying about how it is to be built. Data flow. A behavioral description in which the data dependencies in the description match those in a real implementation. Data flow descriptions show how data moves between registers. Figure 1.1 gave a data flow description for the circuit which detects two or more consecutive 1 s or two or more consecutive 0 s. Figure 1.5 shows an algorithmic description for the same circuit.

8 01_1_16.fm Page 8 Thursday, January 13, :22 AM 8 Chapter 1 Structured Design Concepts Figure 1.6 A typical design track. 1.4 DESIGN PROCESS We will describe a structured design process in this text beginning with the following definitions. Design. A series of transformations from one representation of a system to another until a representation exists that can be fabricated. Our approach to design involves synthesis, which the dictionary defines as the combining of abstract entities into a single or unified entity. Thus, to synthesize is to put something together. For our context we make a more specialized definition. Synthesis. The process of transforming one representation in the design abstraction hierarchy into another representation. Each step in the design process is referred to as a synthesis step. Since the design process usually starts in the behavioral domain at a high level and ends in the structural domain at a low level, each synthesis step is a transformation from level i to level j with i j. Therefore, what we are putting together is a representation of a design at level j. The representation at level i is used as a guide in the synthesis process, in that the implementation at level j must implement the same function as that at level i. In most cases, j=i+1, or j=i, i.e., either the levels are adjacent, or the transformation is from the behavioral domain to the structural domain at the same level. However, there are situations where levels are skipped in the synthesis process.

9 01_1_16.fm Page 9 Thursday, January 13, :22 AM Structural Design Decomposition 9 The design cycle consists of a series of transformations (synthesis steps). Common synthesis steps include: 1. Transformation from English to an algorithmic representation (natural language synthesis). 2. Translation from an algorithmic representation to a data flow representation (algorithmic synthesis) or to a gate level representation (referred to in the industry as behavioral synthesis). Note: In this second case one moves from the behavioral to the structural domain. 3. Translation from data flow representation to a structural logic gate representation (logic synthesis). Note: In this process one also moves from the behavioral to the structural domain and skips the register level. 4. Translation from logic gate representation to layout representation (layout synthesis). In this synthesis step the circuit level is skipped. This completes the synthesis process since the layout information can be fabricated. The complete design cycle is sometimes referred to as design synthesis. Figure 1.6 shows a typical design track through the design hierarchy. The track begins in the behavioral domain and descends through the system and chip levels to the register level. At the register level the transformation is made from a behavioral data flow representation at this level to a structural gate level description. Or, the transformation can be made directly from an algorithmic representation to a structural gate level description. This gate-level description is then transformed to the circuit level or perhaps directly to the layout or silicon level. The design cycle steps can be carried out automatically in all stages in descending order, except the first, which is currently an active area of research. It is the purpose of this book to show students and design engineers how to carry out the steps themselves, and therefore, understand which functions are actually performed by automatic synthesis programs. Also, in some engineering organizations, manual transformations are still the only means employed. 1.5 STRUCTURAL DESIGN DECOMPOSITION The structural form of the design hierarchy implies a design decomposition process. This is because at any level we choose, the system model is composed by interconnection of the primitives defined for that level. In the structural domain, primitives are defined in terms of interconnections of primitives at the next lower level. Thus, as shown in Figure 1.7 a design can be represented as a tree, with the different levels of the tree corresponding to levels in the abstraction hierarchy. Eventually, even in structural models, primitives at the leaves of the tree must be represented by behavioral models. As defined above, a behavioral model is a primitive model in which the operation of the model is specified by a procedure as opposed to redefining it in terms of other components. Since a behavioral model can exist at any level in the design hierarchy, different parts of the design can have behavior specified at different levels. In Figure 1.7(a) the design tree is full, and all behavior is, therefore, specified at the same level. In Figure 1.7(b) a design that has the form of a partial tree is shown, where behavior is specified at different levels. This situation is

10 01_1_16.fm Page 10 Thursday, January 13, :22 AM 10 Chapter 1 Structured Design Concepts Figure 1.7 Structural decomposition. encountered because one frequently wants to evaluate the relationships between system components before they have all been completely designed. For example, multilevel simulation can be used to evaluate the interaction of one component whose design has reached the gate level with other components whose design is currently still at the system level. Thus, it is not required that all system components be specified at the gate-level in order to evaluate the gate level design of a specific component. The checking is done by employing a simulation in which the behavioral content of the component models occurs at different levels in the hierarchy. In fact, it may be impossible to fully simulate a large system with all components modeled at the gate level. Such a simulation might take months to execute using current gate-level simulators. Instead, one would do multiple simulations, with different sets of components modeled at the gate level in each simulation. The other components would be modeled at the systems level. These simulations would take much less time to execute because system level simulations are more efficient. A few hundred simulations with each simulation taking several hours is preferable to one giant simulation that takes several months. Two concepts related to the design tree are those of top-down and bottom-up design. Here the word top refers to the root of the tree; whereas, bottom refers to the leaves. In top-down design, the designer begins with knowledge of only the function of the root. He or she then partitions the root into a set of lower-level primitives. Each of these lower-level primitives is then partitioned into an interconnection of primitives at still lower levels. This process continues until the leaf nodes of the design are reached. At the leaf nodes, the models are always behavioral. An important point to make about top-down design is that the partitioning is optimized at each level according to some objective criterion, e.g., cost, speed, and chip area. The partitioning is not constrained by what's available.

11 01_1_16.fm Page 11 Thursday, January 13, :22 AM The Digital Design Space 11 Figure 1.8 A typical design space. The term bottom-up design is somewhat of a misnomer in that the process of design still begins with the definition of the root, but in this case the partitioning is conditioned by what is available. Lower parts of the tree will have been designed previously, perhaps on another project, and the designer is constrained (perhaps ordered!) to use them. Top-down design usage appears to be the most ideal situation, but its disadvantage is that it produces components that are not standard, thus, increasing the cost of the design. Bottom-up designs are more economical, but they may not meet the objective performance criterion as well as top-down designs. Most real designs are a combination of top-down and bottom-up techniques. A final concept related to the hierarchy is that of a design window. By this we mean a range of levels over which the designer works in developing a design-tree structure. The VLSI chip designer s window extends over the range of silicon, circuit, gate, register, and chip levels. The computer system designer, on the other hand, is currently concerned with a window consisting of the gate, register, chip, and system levels. Thus, the designer selects the window which is appropriate to his or her design activity and works at those levels of abstraction, which provide the necessary information for that activity, without involving unnecessary detail. CAD systems used to support design should allow easy movement between levels in the design window. 1.6 THE DIGITAL DESIGN SPACE In the preceding discussion on top-down design, we said that partitioning was carried out in order to meet some objective criteria. These criteria are the major factors one has to consider in arriving at a design. These factors can be considered to be dimensions in a space. Some useful dimensions for the Digital Design Space are: speed, chip area, and cost. Figure 1.8 illustrates such a design space. Various designs have different tracks through the space as they evolve. The designer trades off one factor for another. For example, in his quest for speed he may increase the chip area and cost of a design. Figure 1.9 gives a concrete example of this. Circuits A and B implement the same logic function. Circuit A uses fewer gates (area) than Circuit B but is slower. Circuit B is faster than Circuit A but requires more gates (area). Thus we are trading off area for speed.

12 01_1_16.fm Page 12 Thursday, January 13, :22 AM 12 Chapter 1 Structured Design Concepts Figure 1.9 An example of a design space trade-off. PROBLEMS 1.1 Draw a structural model of a 16-bit ripple carry adder as an interconnection of full adders. Develop a behavioral description of the 16-bit adder in C, C ++, or JAVA. 1.2 Draw a gate-level diagram of a full adder in terms of AND, OR, and INVERT primitives. Consult books on electronics and VLSI design and develop a CMOS circuit for the adder in terms of transistors, resistors, and capacitors. Compare the two circuits as follows: a. Count the number of primitives and wires required for each representation. b. Simulate both circuits on the same computer using a logic simulator and SPICE. Drive both circuits with all possible 8-input patterns. Compare simulation times. 1.3 Track the representation of a digital system through the abstraction hierarchy. Use the small computer example in Morris Mano s book, Computer System Architecture, 2nd Edition (Englewood Cliffs: Prentice Hall, 1982). Track the description of this system through the hierarchy as follows: a. Develop a one page, single-spaced, English, system-level description of the machine. b. Using your favorite graphics package, draw a chip-level diagram of a system that uses the Mano machine, RAM memory, and an I/O logic section. c. Draw a complete register-level diagram of the Mano machine. d. Using gates and J-K flip-flop primitives, draw a complete gate-level diagram of the Program Counter. e. Select a gate from the Program Counter, and draw its CMOS circuit equivalent. f. Draw the layout for the gate you described in the previous step. Which of the representations you developed are structural and which are behavioral? 1.4 Figure 1.10 shows a structural model of a simple RC series circuit. Write a behavioral description which involves current, i(t). Ploti(t). 1.5 Shown is a behavioral description for a gate-level circuit. F = AB or CD or EF (1.1) Develop two different, structural gate-level models that implement this function. 1.6 A textual description of the fabled family relationship from N. Wirth s Algorithms + Data Structures = Programs, (Englewood Cliffs: Prentice Hall, 1976) follows: I married a widow (let s call her W) who had a grown-up daughter (call her D). My father (F), who visited us quite often, fell in love with my stepdaughter and married her. Hence, my father became my son-in-law and my stepdaughter became my

13 01_1_16.fm Page 13 Thursday, January 13, :22 AM The Digital Design Space 13 R = 1k +5 v i(t) C = 1 uf Figure 1.10 RC circuit. mother. Some months later, my wife gave birth to a son (S1), who became the brother-in-law of my father, as well as my uncle. The wife of my father, that is, my stepdaughter, also had a son (S2). Question: Am I my own grandfather? Draw a pictorial representation of the relationship by means of a directed graph in which the nodes are the persons names and the arcs are the relationships between persons, e.g., father of. Which representation is easier to understand? Can you answer the question? 1.7 Figure 1.11 is a logic diagram of a counter circuit from Morris Mano s Computer System Architecture, 2nd Edition (Englewood Cliffs: Prentice Hall, 1982). Outline a behavioral description in either C or C ++ which describes the behavior. Which description gives a more readily understandable description of the circuit function? 1.8 Figure 1.12 shows a system interface between two devices: a sending device (Device 1) and a receiving device (Device 2). The interface between the two devices consists of a DATA line and three control signals READY, VALID, and ACCEPT. A communications protocol between two asynchronous devices functions as follows: a. Device 2 asserts READY. b. Device 1 detects the positive going change on READY, and places data on the DATA line and asserts VALID. c. Device 2 detects the positive going change on VALID, copies the data and resets READY, and asserts ACCEPT. Draw a timing diagram for DATA, READY, VALID, and ACCEPT. Use arrows between signals to show how one signal transition triggers another. 1.9 Given the following algorithmic description: for I=1 to 3 loop A(I) = B(I) + C(I) D(I) = E(I) * A(I) end for; Draw a data-flow graph in which the nodes are operations (+,*) and the arcs are inputs or computed values From your own experience, describe a design synthesis process that you are familiar with. Identify distinct synthesis steps, abstraction levels, and whether a representation is behavioral or structural. Draw a design track similar to Figure Design decomposition implies what kind of VHDL model? 1.12 Compare top-down and bottom-up design in two areas (a) cost and (b) whether the design is optimum or not Explain the difference between top-down and bottom-up design. What is the main advantage and disadvantage of each approach?

14 01_1_16.fm Page 14 Thursday, January 13, :22 AM 14 Chapter 1 Structured Design Concepts Figure 1.11 Counter circuit. READY DATA ACCEPT Device 1 Device 2 DVALID Figure 1.12 Interface protocol.

15 01_1_16.fm Page 15 Thursday, January 13, :22 AM The Digital Design Space Characterize microprocessor system design and design with application-specific integrated circuits (ASICs) as being top-down or bottom-up. Explain your answer Explain how top-down and bottom-up design concepts can be used for software design Use the design of a 16-bit adder to illustrate trade-offs in the design space. a. Design a 16-bit carry ripple adder. b. Design a 16-bit carry look-ahead adder. c. Compare gate counts and delay for the two adder implementations. d. Develop a general expression for the gate count and delay for the two adder implementations that is a function of n, the input word size to the adder.

16 01_1_16.fm Page 16 Thursday, January 13, :22 AM

Fundamental Design Concepts. Fundamental Concepts. Modeling Domains. Basic Definitions. New terminology and overloaded use of common words

Fundamental Design Concepts. Fundamental Concepts. Modeling Domains. Basic Definitions. New terminology and overloaded use of common words Fundamental Design Concepts Fundamental Concepts Basic Definitions study now revisit later New terminology and overloaded use of common words Modeling Domains Structural Domain a domain in which a component

More information

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis

More information

Electronic Design Automation Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Electronic Design Automation Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Electronic Design Automation Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #1 Introduction So electronic design automation,

More information

COE 561 Digital System Design & Synthesis Introduction

COE 561 Digital System Design & Synthesis Introduction 1 COE 561 Digital System Design & Synthesis Introduction Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Outline Course Topics Microelectronics Design

More information

Spiral 2-8. Cell Layout

Spiral 2-8. Cell Layout 2-8.1 Spiral 2-8 Cell Layout 2-8.2 Learning Outcomes I understand how a digital circuit is composed of layers of materials forming transistors and wires I understand how each layer is expressed as geometric

More information

Combinational hazards

Combinational hazards Combinational hazards We break down combinational hazards into two major categories, logic hazards and function hazards. A logic hazard is characterized by the fact that it can be eliminated by proper

More information

Lab. Course Goals. Topics. What is VLSI design? What is an integrated circuit? VLSI Design Cycle. VLSI Design Automation

Lab. Course Goals. Topics. What is VLSI design? What is an integrated circuit? VLSI Design Cycle. VLSI Design Automation Course Goals Lab Understand key components in VLSI designs Become familiar with design tools (Cadence) Understand design flows Understand behavioral, structural, and physical specifications Be able to

More information

Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture 01 Introduction Welcome to the course on Hardware

More information

Chapter 1 Overview of Digital Systems Design

Chapter 1 Overview of Digital Systems Design Chapter 1 Overview of Digital Systems Design SKEE2263 Digital Systems Mun im/ismahani/izam {munim@utm.my,e-izam@utm.my,ismahani@fke.utm.my} February 8, 2017 Why Digital Design? Many times, microcontrollers

More information

Don t expect to be able to write and debug your code during the lab session.

Don t expect to be able to write and debug your code during the lab session. EECS150 Spring 2002 Lab 4 Verilog Simulation Mapping UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Lab 4 Verilog Simulation Mapping

More information

Outline. EECS Components and Design Techniques for Digital Systems. Lec 11 Putting it all together Where are we now?

Outline. EECS Components and Design Techniques for Digital Systems. Lec 11 Putting it all together Where are we now? Outline EECS 5 - Components and Design Techniques for Digital Systems Lec Putting it all together -5-4 David Culler Electrical Engineering and Computer Sciences University of California Berkeley Top-to-bottom

More information

CS429: Computer Organization and Architecture

CS429: Computer Organization and Architecture CS429: Computer Organization and Architecture Dr. Bill Young Department of Computer Sciences University of Texas at Austin Last updated: January 2, 2018 at 11:23 CS429 Slideset 5: 1 Topics of this Slideset

More information

(ii) Simplify and implement the following SOP function using NOR gates:

(ii) Simplify and implement the following SOP function using NOR gates: DHANALAKSHMI COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EE6301 DIGITAL LOGIC CIRCUITS UNIT I NUMBER SYSTEMS AND DIGITAL LOGIC FAMILIES PART A 1. How can an OR gate be

More information

Digital Design Methodology (Revisited) Design Methodology: Big Picture

Digital Design Methodology (Revisited) Design Methodology: Big Picture Digital Design Methodology (Revisited) Design Methodology Design Specification Verification Synthesis Technology Options Full Custom VLSI Standard Cell ASIC FPGA CS 150 Fall 2005 - Lec #25 Design Methodology

More information

Evolution of CAD Tools & Verilog HDL Definition

Evolution of CAD Tools & Verilog HDL Definition Evolution of CAD Tools & Verilog HDL Definition K.Sivasankaran Assistant Professor (Senior) VLSI Division School of Electronics Engineering VIT University Outline Evolution of CAD Different CAD Tools for

More information

Combinational Logic II

Combinational Logic II Combinational Logic II Ranga Rodrigo July 26, 2009 1 Binary Adder-Subtractor Digital computers perform variety of information processing tasks. Among the functions encountered are the various arithmetic

More information

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic ECE 42/52 Rapid Prototyping with FPGAs Dr. Charlie Wang Department of Electrical and Computer Engineering University of Colorado at Colorado Springs Evolution of Implementation Technologies Discrete devices:

More information

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function.

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function. FPGA Logic block of an FPGA can be configured in such a way that it can provide functionality as simple as that of transistor or as complex as that of a microprocessor. It can used to implement different

More information

structure syntax different levels of abstraction

structure syntax different levels of abstraction This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital

More information

Here is a list of lecture objectives. They are provided for you to reflect on what you are supposed to learn, rather than an introduction to this

Here is a list of lecture objectives. They are provided for you to reflect on what you are supposed to learn, rather than an introduction to this This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital

More information

AMS Behavioral Modeling

AMS Behavioral Modeling CHAPTER 3 AMS Behavioral Modeling Ronald S. Vogelsong, Ph.D. Overview Analog designers have for many decades developed their design using a Bottom-Up design flow. First, they would gain the necessary understanding

More information

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog ECE 2300 Digital Logic & Computer Organization Spring 2018 More Sequential Logic Verilog Lecture 7: 1 Announcements HW3 will be posted tonight Prelim 1 Thursday March 1, in class Coverage: Lectures 1~7

More information

Computer Systems. Binary Representation. Binary Representation. Logical Computation: Boolean Algebra

Computer Systems. Binary Representation. Binary Representation. Logical Computation: Boolean Algebra Binary Representation Computer Systems Information is represented as a sequence of binary digits: Bits What the actual bits represent depends on the context: Seminar 3 Numerical value (integer, floating

More information

IT T35 Digital system desigm y - ii /s - iii

IT T35 Digital system desigm y - ii /s - iii UNIT - V Introduction to Verilog Hardware Description Language Introduction HDL for combinational circuits Sequential circuits Registers and counters HDL description for binary multiplier. 5.1 INTRODUCTION

More information

Digital Design Methodology

Digital Design Methodology Digital Design Methodology Prof. Soo-Ik Chae Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008, John Wiley 1-1 Digital Design Methodology (Added) Design Methodology Design Specification

More information

Verilog HDL Ebooks Free

Verilog HDL Ebooks Free Verilog HDL Ebooks Free Stresses the practical design perspective of Verilog rather than emphasizing only the language aspects. The information presented is fully compliant with the upcoming IEEE 1364

More information

1 Design Process HOME CONTENTS INDEX. For further assistance, or call your local support center

1 Design Process HOME CONTENTS INDEX. For further assistance,  or call your local support center 1 Design Process VHDL Compiler, a member of the Synopsys HDL Compiler family, translates and optimizes a VHDL description to an internal gate-level equivalent. This representation is then compiled with

More information

Lecture 3 Introduction to VHDL

Lecture 3 Introduction to VHDL CPE 487: Digital System Design Spring 2018 Lecture 3 Introduction to VHDL Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030 1 Managing Design

More information

Lecture 32: SystemVerilog

Lecture 32: SystemVerilog Lecture 32: SystemVerilog Outline SystemVerilog module adder(input logic [31:0] a, input logic [31:0] b, output logic [31:0] y); assign y = a + b; Note that the inputs and outputs are 32-bit busses. 17:

More information

Hours / 100 Marks Seat No.

Hours / 100 Marks Seat No. 17333 13141 3 Hours / 100 Seat No. Instructions (1) All Questions are Compulsory. (2) Answer each next main Question on a new page. (3) Illustrate your answers with neat sketches wherever necessary. (4)

More information

Lecture #1: Introduction

Lecture #1: Introduction Lecture #1: Introduction Kunle Olukotun Stanford EE183 January 8, 20023 What is EE183? EE183 is continuation of EE121 Digital Logic Design is a a minute to learn, a lifetime to master Programmable logic

More information

Control and Datapath 8

Control and Datapath 8 Control and Datapath 8 Engineering attempts to develop design methods that break a problem up into separate steps to simplify the design and increase the likelihood of a correct solution. Digital system

More information

DIGITAL DESIGN TECHNOLOGY & TECHNIQUES

DIGITAL DESIGN TECHNOLOGY & TECHNIQUES DIGITAL DESIGN TECHNOLOGY & TECHNIQUES CAD for ASIC Design 1 INTEGRATED CIRCUITS (IC) An integrated circuit (IC) consists complex electronic circuitries and their interconnections. William Shockley et

More information

CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION CHAPTER 1 INTRODUCTION Rapid advances in integrated circuit technology have made it possible to fabricate digital circuits with large number of devices on a single chip. The advantages of integrated circuits

More information

END-TERM EXAMINATION

END-TERM EXAMINATION (Please Write your Exam Roll No. immediately) END-TERM EXAMINATION DECEMBER 2006 Exam. Roll No... Exam Series code: 100919DEC06200963 Paper Code: MCA-103 Subject: Digital Electronics Time: 3 Hours Maximum

More information

Design Methodologies and Tools. Full-Custom Design

Design Methodologies and Tools. Full-Custom Design Design Methodologies and Tools Design styles Full-custom design Standard-cell design Programmable logic Gate arrays and field-programmable gate arrays (FPGAs) Sea of gates System-on-a-chip (embedded cores)

More information

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011 FPGA for Complex System Implementation National Chiao Tung University Chun-Jen Tsai 04/14/2011 About FPGA FPGA was invented by Ross Freeman in 1989 SRAM-based FPGA properties Standard parts Allowing multi-level

More information

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 Anurag Dwivedi Digital Design : Bottom Up Approach Basic Block - Gates Digital Design : Bottom Up Approach Gates -> Flip Flops Digital

More information

UNIT - V MEMORY P.VIDYA SAGAR ( ASSOCIATE PROFESSOR) Department of Electronics and Communication Engineering, VBIT

UNIT - V MEMORY P.VIDYA SAGAR ( ASSOCIATE PROFESSOR) Department of Electronics and Communication Engineering, VBIT UNIT - V MEMORY P.VIDYA SAGAR ( ASSOCIATE PROFESSOR) contents Memory: Introduction, Random-Access memory, Memory decoding, ROM, Programmable Logic Array, Programmable Array Logic, Sequential programmable

More information

Topics of this Slideset. CS429: Computer Organization and Architecture. Digital Signals. Truth Tables. Logic Design

Topics of this Slideset. CS429: Computer Organization and Architecture. Digital Signals. Truth Tables. Logic Design Topics of this Slideset CS429: Computer Organization and rchitecture Dr. Bill Young Department of Computer Science University of Texas at ustin Last updated: July 5, 2018 at 11:55 To execute a program

More information

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips Overview CSE372 Digital Systems Organization and Design Lab Prof. Milo Martin Unit 5: Hardware Synthesis CAD (Computer Aided Design) Use computers to design computers Virtuous cycle Architectural-level,

More information

Writing Circuit Descriptions 8

Writing Circuit Descriptions 8 8 Writing Circuit Descriptions 8 You can write many logically equivalent descriptions in Verilog to describe a circuit design. However, some descriptions are more efficient than others in terms of the

More information

Chapter 5: ASICs Vs. PLDs

Chapter 5: ASICs Vs. PLDs Chapter 5: ASICs Vs. PLDs 5.1 Introduction A general definition of the term Application Specific Integrated Circuit (ASIC) is virtually every type of chip that is designed to perform a dedicated task.

More information

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs)

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) September 12, 2002 John Wawrzynek Fall 2002 EECS150 - Lec06-FPGA Page 1 Outline What are FPGAs? Why use FPGAs (a short history

More information

UNIT 4 INTEGRATED CIRCUIT DESIGN METHODOLOGY E5163

UNIT 4 INTEGRATED CIRCUIT DESIGN METHODOLOGY E5163 UNIT 4 INTEGRATED CIRCUIT DESIGN METHODOLOGY E5163 LEARNING OUTCOMES 4.1 DESIGN METHODOLOGY By the end of this unit, student should be able to: 1. Explain the design methodology for integrated circuit.

More information

4DM4 Lab. #1 A: Introduction to VHDL and FPGAs B: An Unbuffered Crossbar Switch (posted Thursday, Sept 19, 2013)

4DM4 Lab. #1 A: Introduction to VHDL and FPGAs B: An Unbuffered Crossbar Switch (posted Thursday, Sept 19, 2013) 1 4DM4 Lab. #1 A: Introduction to VHDL and FPGAs B: An Unbuffered Crossbar Switch (posted Thursday, Sept 19, 2013) Lab #1: ITB Room 157, Thurs. and Fridays, 2:30-5:20, EOW Demos to TA: Thurs, Fri, Sept.

More information

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs?

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs? EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) September 12, 2002 John Wawrzynek Outline What are FPGAs? Why use FPGAs (a short history lesson). FPGA variations Internal logic

More information

Hardware Description Language VHDL (1) Introduction

Hardware Description Language VHDL (1) Introduction Hardware Description Language VHDL (1) Introduction Digital Radiation Measurement and Spectroscopy NE/RHP 537 Introduction Hardware description language (HDL) Intended to describe circuits textually, for

More information

One and a half hours. Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE

One and a half hours. Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE One and a half hours Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE Fundamentals of Computer Engineering Date: Thursday 21st January 2016 Time: 14:00-15:30 Answer BOTH Questions

More information

Design Progression With VHDL Helps Accelerate The Digital System Designs

Design Progression With VHDL Helps Accelerate The Digital System Designs Fourth LACCEI International Latin American and Caribbean Conference for Engineering and Technology (LACCET 2006) Breaking Frontiers and Barriers in Engineering: Education, Research and Practice 21-23 June

More information

A Brief Introduction to Verilog Hardware Definition Language (HDL)

A Brief Introduction to Verilog Hardware Definition Language (HDL) www.realdigital.org A Brief Introduction to Verilog Hardware Definition Language (HDL) Forward Verilog is a Hardware Description language (HDL) that is used to define the structure and/or behavior of digital

More information

This presentation will..

This presentation will.. Component Identification: Digital Introduction to Logic Gates and Integrated Circuits Digital Electronics 2014 This presentation will.. Introduce transistors, logic gates, integrated circuits (ICs), and

More information

Register Transfer Level in Verilog: Part I

Register Transfer Level in Verilog: Part I Source: M. Morris Mano and Michael D. Ciletti, Digital Design, 4rd Edition, 2007, Prentice Hall. Register Transfer Level in Verilog: Part I Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National

More information

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING QUESTION BANK NAME OF THE SUBJECT: EE 2255 DIGITAL LOGIC CIRCUITS

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING QUESTION BANK NAME OF THE SUBJECT: EE 2255 DIGITAL LOGIC CIRCUITS KINGS COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING QUESTION BANK NAME OF THE SUBJECT: EE 2255 DIGITAL LOGIC CIRCUITS YEAR / SEM: II / IV UNIT I BOOLEAN ALGEBRA AND COMBINATIONAL

More information

Contents. Chapter 3 Combinational Circuits Page 1 of 34

Contents. Chapter 3 Combinational Circuits Page 1 of 34 Chapter 3 Combinational Circuits Page of 34 Contents Contents... 3 Combinational Circuits... 2 3. Analysis of Combinational Circuits... 2 3.. Using a Truth Table... 2 3..2 Using a Boolean unction... 4

More information

CHAPTER 3 METHODOLOGY. 3.1 Analysis of the Conventional High Speed 8-bits x 8-bits Wallace Tree Multiplier

CHAPTER 3 METHODOLOGY. 3.1 Analysis of the Conventional High Speed 8-bits x 8-bits Wallace Tree Multiplier CHAPTER 3 METHODOLOGY 3.1 Analysis of the Conventional High Speed 8-bits x 8-bits Wallace Tree Multiplier The design analysis starts with the analysis of the elementary algorithm for multiplication by

More information

Synthesis at different abstraction levels

Synthesis at different abstraction levels Synthesis at different abstraction levels System Level Synthesis Clustering. Communication synthesis. High-Level Synthesis Resource or time constrained scheduling Resource allocation. Binding Register-Transfer

More information

ADVANCED FPGA BASED SYSTEM DESIGN. Dr. Tayab Din Memon Lecture 3 & 4

ADVANCED FPGA BASED SYSTEM DESIGN. Dr. Tayab Din Memon Lecture 3 & 4 ADVANCED FPGA BASED SYSTEM DESIGN Dr. Tayab Din Memon tayabuddin.memon@faculty.muet.edu.pk Lecture 3 & 4 Books Recommended Books: Text Book: FPGA Based System Design by Wayne Wolf Overview Why VLSI? Moore

More information

Boolean Algebra and Logic Gates

Boolean Algebra and Logic Gates Boolean Algebra and Logic Gates Binary logic is used in all of today's digital computers and devices Cost of the circuits is an important factor Finding simpler and cheaper but equivalent circuits can

More information

Lecture (05) Boolean Algebra and Logic Gates

Lecture (05) Boolean Algebra and Logic Gates Lecture (05) Boolean Algebra and Logic Gates By: Dr. Ahmed ElShafee ١ Minterms and Maxterms consider two binary variables x and y combined with an AND operation. Since eachv ariable may appear in either

More information

Page 1. Chapter 1: The General Purpose Machine. Looking Ahead Chapter 5 Important advanced topics in CPU design

Page 1. Chapter 1: The General Purpose Machine. Looking Ahead Chapter 5 Important advanced topics in CPU design 1-1 Chapter 1 The General Purpose Machine Chapter 1: The General Purpose Machine Topics 1.1 The General Purpose Machine 1.2 The User s View 1.3 The Machine/Assembly Language Programmer s View 1.4 The Computer

More information

Computer Architecture

Computer Architecture Computer Architecture Lecture 1: Digital logic circuits The digital computer is a digital system that performs various computational tasks. Digital computers use the binary number system, which has two

More information

F.Y.B.Sc Eletronics COURSE OUTCOMES ELE 111: Analog Electronics I

F.Y.B.Sc Eletronics COURSE OUTCOMES ELE 111: Analog Electronics I F.Y.B.Sc Eletronics COURSE OUTCOMES ELE 111: Analog Electronics I 1. Understand electronic systems with a continuously variable signal 2. Understand proportional relationship between a signal and a voltage

More information

Scheme G. Sample Test Paper-I

Scheme G. Sample Test Paper-I Sample Test Paper-I Marks : 25 Times:1 Hour 1. All questions are compulsory. 2. Illustrate your answers with neat sketches wherever necessary. 3. Figures to the right indicate full marks. 4. Assume suitable

More information

1. What is y-chart? ans: The y- chart consists of three domains:- behavioral, structural and geometrical.

1. What is y-chart? ans: The y- chart consists of three domains:- behavioral, structural and geometrical. SECTION- A Short questions: (each 2 marks) 1. What is y-chart? ans: The y- chart consists of three domains:- behavioral, structural and geometrical. 2. What is fabrication? ans: It is the process used

More information

UNIT II - COMBINATIONAL LOGIC Part A 2 Marks. 1. Define Combinational circuit A combinational circuit consist of logic gates whose outputs at anytime are determined directly from the present combination

More information

Overview of Digital Design with Verilog HDL 1

Overview of Digital Design with Verilog HDL 1 Overview of Digital Design with Verilog HDL 1 1.1 Evolution of Computer-Aided Digital Design Digital circuit design has evolved rapidly over the last 25 years. The earliest digital circuits were designed

More information

DLD VIDYA SAGAR P. potharajuvidyasagar.wordpress.com. Vignana Bharathi Institute of Technology UNIT 3 DLD P VIDYA SAGAR

DLD VIDYA SAGAR P. potharajuvidyasagar.wordpress.com. Vignana Bharathi Institute of Technology UNIT 3 DLD P VIDYA SAGAR DLD UNIT III Combinational Circuits (CC), Analysis procedure, Design Procedure, Combinational circuit for different code converters and other problems, Binary Adder- Subtractor, Decimal Adder, Binary Multiplier,

More information

More Course Information

More Course Information More Course Information Labs and lectures are both important Labs: cover more on hands-on design/tool/flow issues Lectures: important in terms of basic concepts and fundamentals Do well in labs Do well

More information

CS2204 DIGITAL LOGIC & STATE MACHINE DESIGN FALL 2005

CS2204 DIGITAL LOGIC & STATE MACHINE DESIGN FALL 2005 CS2204 DIGITAL LOGIC & STATE MACHINE DESIGN FALL 2005 AN INTRODUCTION TO DIGITAL SYSTEMS AND THE PPM PROJECT 1. Introduction A digital system consists of digital circuits. It performs sequences of simple

More information

Topics. Midterm Finish Chapter 7

Topics. Midterm Finish Chapter 7 Lecture 9 Topics Midterm Finish Chapter 7 ROM (review) Memory device in which permanent binary information is stored. Example: 32 x 8 ROM Five input lines (2 5 = 32) 32 outputs, each representing a memory

More information

Hardware Description Languages (HDLs) Verilog

Hardware Description Languages (HDLs) Verilog Hardware Description Languages (HDLs) Verilog Material from Mano & Ciletti book By Kurtulus KULLU Ankara University What are HDLs? A Hardware Description Language resembles a programming language specifically

More information

ELEC 2200 Digital Logic Circuits

ELEC 2200 Digital Logic Circuits ELEC 22 Digital Logic Circuits Charles E. Stroud, Professor Dept. of Electrical & Computer Engineering Office: 325 Broun Hall Email: cestroud@eng.auburn.edu Text: Digital Logic Circuit Analysis & Design

More information

Chapter 6. CMOS Functional Cells

Chapter 6. CMOS Functional Cells Chapter 6 CMOS Functional Cells In the previous chapter we discussed methods of designing layout of logic gates and building blocks like transmission gates, multiplexers and tri-state inverters. In this

More information

Abi Farsoni, Department of Nuclear Engineering and Radiation Health Physics, Oregon State University

Abi Farsoni, Department of Nuclear Engineering and Radiation Health Physics, Oregon State University Hardware description language (HDL) Intended to describe circuits textually, for a computer to read Evolved starting in the 1970s and 1980s Popular languages today include: VHDL Defined in 1980s by U.S.

More information

Memory and Programmable Logic

Memory and Programmable Logic Memory and Programmable Logic Memory units allow us to store and/or retrieve information Essentially look-up tables Good for storing data, not for function implementation Programmable logic device (PLD),

More information

Lab 3 Verilog Simulation Mapping

Lab 3 Verilog Simulation Mapping University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences 1. Motivation Lab 3 Verilog Simulation Mapping In this lab you will learn how to use

More information

HIGH-LEVEL SYNTHESIS

HIGH-LEVEL SYNTHESIS HIGH-LEVEL SYNTHESIS Page 1 HIGH-LEVEL SYNTHESIS High-level synthesis: the automatic addition of structural information to a design described by an algorithm. BEHAVIORAL D. STRUCTURAL D. Systems Algorithms

More information

R10. II B. Tech I Semester, Supplementary Examinations, May

R10. II B. Tech I Semester, Supplementary Examinations, May SET - 1 1. a) Convert the following decimal numbers into an equivalent binary numbers. i) 53.625 ii) 4097.188 iii) 167 iv) 0.4475 b) Add the following numbers using 2 s complement method. i) -48 and +31

More information

VALLIAMMAI ENGINEERING COLLEGE. SRM Nagar, Kattankulathur DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EC6302 DIGITAL ELECTRONICS

VALLIAMMAI ENGINEERING COLLEGE. SRM Nagar, Kattankulathur DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EC6302 DIGITAL ELECTRONICS VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur-603 203 DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EC6302 DIGITAL ELECTRONICS YEAR / SEMESTER: II / III ACADEMIC YEAR: 2015-2016 (ODD

More information

ESE 570 Cadence Lab Assignment 2: Introduction to Spectre, Manual Layout Drawing and Post Layout Simulation (PLS)

ESE 570 Cadence Lab Assignment 2: Introduction to Spectre, Manual Layout Drawing and Post Layout Simulation (PLS) ESE 570 Cadence Lab Assignment 2: Introduction to Spectre, Manual Layout Drawing and Post Layout Simulation (PLS) Objective Part A: To become acquainted with Spectre (or HSpice) by simulating an inverter,

More information

Hardware Design with VHDL PLDs IV ECE 443

Hardware Design with VHDL PLDs IV ECE 443 Embedded Processor Cores (Hard and Soft) Electronic design can be realized in hardware (logic gates/registers) or software (instructions executed on a microprocessor). The trade-off is determined by how

More information

Sketch A Transistor-level Schematic Of A Cmos 3-input Xor Gate

Sketch A Transistor-level Schematic Of A Cmos 3-input Xor Gate Sketch A Transistor-level Schematic Of A Cmos 3-input Xor Gate DE09 DIGITALS ELECTRONICS 3 (For Mod-m Counter, we need N flip-flops (High speeds are possible in ECL because the transistors are used in

More information

EECS150 - Digital Design Lecture 8 - Hardware Description Languages

EECS150 - Digital Design Lecture 8 - Hardware Description Languages EECS150 - Digital Design Lecture 8 - Hardware Description Languages September 19, 2002 John Wawrzynek Fall 2002 EECS150 - Lec08-HDL Page 1 Netlists Design flow What is a HDL? Verilog history examples Outline

More information

Lecture 15: System Modeling and Verilog

Lecture 15: System Modeling and Verilog Lecture 15: System Modeling and Verilog Slides courtesy of Deming Chen Intro. VLSI System Design Outline Outline Modeling Digital Systems Introduction to Verilog HDL Use of Verilog HDL in Synthesis Reading

More information

Verilog Module 1 Introduction and Combinational Logic

Verilog Module 1 Introduction and Combinational Logic Verilog Module 1 Introduction and Combinational Logic Jim Duckworth ECE Department, WPI 1 Module 1 Verilog background 1983: Gateway Design Automation released Verilog HDL Verilog and simulator 1985: Verilog

More information

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis Jan 31, 2012 John Wawrzynek Spring 2012 EECS150 - Lec05-verilog_synth Page 1 Outline Quick review of essentials of state elements Finite State

More information

Boolean Algebra. BME208 Logic Circuits Yalçın İŞLER

Boolean Algebra. BME208 Logic Circuits Yalçın İŞLER Boolean Algebra BME28 Logic Circuits Yalçın İŞLER islerya@yahoo.com http://me.islerya.com 5 Boolean Algebra /2 A set of elements B There exist at least two elements x, y B s. t. x y Binary operators: +

More information

The QR code here provides a shortcut to go to the course webpage.

The QR code here provides a shortcut to go to the course webpage. Welcome to this MSc Lab Experiment. All my teaching materials for this Lab-based module are also available on the webpage: www.ee.ic.ac.uk/pcheung/teaching/msc_experiment/ The QR code here provides a shortcut

More information

CAD4 The ALU Fall 2009 Assignment. Description

CAD4 The ALU Fall 2009 Assignment. Description CAD4 The ALU Fall 2009 Assignment To design a 16-bit ALU which will be used in the datapath of the microprocessor. This ALU must support two s complement arithmetic and the instructions in the baseline

More information

Nonblocking Assignments in Verilog Synthesis; Coding Styles That Kill!

Nonblocking Assignments in Verilog Synthesis; Coding Styles That Kill! Nonblocking Assignments in Verilog Synthesis; Coding Styles That Kill! by Cliff Cummings Sunburst Design, Inc. Abstract -------- One of the most misunderstood constructs in the Verilog language is the

More information

Computer Architecture (TT 2012)

Computer Architecture (TT 2012) Computer Architecture (TT 2012) The Register Transfer Level Daniel Kroening Oxford University, Computer Science Department Version 1.0, 2011 Outline Reminders Gates Implementations of Gates Latches, Flip-flops

More information

BUILDING BLOCKS OF A BASIC MICROPROCESSOR. Part 1 PowerPoint Format of Lecture 3 of Book

BUILDING BLOCKS OF A BASIC MICROPROCESSOR. Part 1 PowerPoint Format of Lecture 3 of Book BUILDING BLOCKS OF A BASIC MICROPROCESSOR Part PowerPoint Format of Lecture 3 of Book Decoder Tri-state device Full adder, full subtractor Arithmetic Logic Unit (ALU) Memories Example showing how to write

More information

Lecture 8: Synthesis, Implementation Constraints and High-Level Planning

Lecture 8: Synthesis, Implementation Constraints and High-Level Planning Lecture 8: Synthesis, Implementation Constraints and High-Level Planning MAH, AEN EE271 Lecture 8 1 Overview Reading Synopsys Verilog Guide WE 6.3.5-6.3.6 (gate array, standard cells) Introduction We have

More information

CS310 Embedded Computer Systems. Maeng

CS310 Embedded Computer Systems. Maeng 1 INTRODUCTION (PART II) Maeng Three key embedded system technologies 2 Technology A manner of accomplishing a task, especially using technical processes, methods, or knowledge Three key technologies for

More information

ECE 595Z Digital Systems Design Automation

ECE 595Z Digital Systems Design Automation ECE 595Z Digital Systems Design Automation Anand Raghunathan, raghunathan@purdue.edu How do you design chips with over 1 Billion transistors? Human designer capability grows far slower than Moore s law!

More information

Computer Architecture: Part V. First Semester 2013 Department of Computer Science Faculty of Science Chiang Mai University

Computer Architecture: Part V. First Semester 2013 Department of Computer Science Faculty of Science Chiang Mai University Computer Architecture: Part V First Semester 2013 Department of Computer Science Faculty of Science Chiang Mai University Outline Addition and Subtraction Multiplication Algorithm Array Multiplier Peripheral

More information

Technology Dependent Logic Optimization Prof. Kurt Keutzer EECS University of California Berkeley, CA Thanks to S. Devadas

Technology Dependent Logic Optimization Prof. Kurt Keutzer EECS University of California Berkeley, CA Thanks to S. Devadas Technology Dependent Logic Optimization Prof. Kurt Keutzer EECS University of California Berkeley, CA Thanks to S. Devadas 1 RTL Design Flow HDL RTL Synthesis Manual Design Module Generators Library netlist

More information

Chap.3 3. Chap reduces the complexity required to represent the schematic diagram of a circuit Library

Chap.3 3. Chap reduces the complexity required to represent the schematic diagram of a circuit Library 3.1 Combinational Circuits 2 Chap 3. logic circuits for digital systems: combinational vs sequential Combinational Logic Design Combinational Circuit (Chap 3) outputs are determined by the present applied

More information

Henry Lin, Department of Electrical and Computer Engineering, California State University, Bakersfield Lecture 7 (Digital Logic) July 24 th, 2012

Henry Lin, Department of Electrical and Computer Engineering, California State University, Bakersfield Lecture 7 (Digital Logic) July 24 th, 2012 Henry Lin, Department of Electrical and Computer Engineering, California State University, Bakersfield Lecture 7 (Digital Logic) July 24 th, 2012 1 Digital vs Analog Digital signals are binary; analog

More information