23
Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭鄭鄭 ) Associate Professor Computer Science & Engineering Tatung University

Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University

Embed Size (px)

Citation preview

Page 1: Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University

Hardware Design Environment

Instructors: Fu-Chiung Cheng

(鄭福炯 )Associate Professor

Computer Science & EngineeringTatung University

Page 2: Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University

Outline

• Hardware Design Environment• System Design Process• Hardware Simulation• Synthesis Process

Page 3: Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University

Hardware Design Environment

• As the size and complexity of digital systems more computer-aided design (CAD) tool are introduced into the hardware design processed.• The widespread use of Hardware description languages (HDL) is no more than a decade old.• More and more tools and technologies for digital system design are coming…

Page 4: Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University

Digital System Design Process

Figure 1.1 (page 2)

Design Idea ==> Behavioral Design ==> Pseudo Code .. ==> Data Path Design ==> Bus & Register Structure ==> Logic Design ==> Gate Wirelist, Netlist ==> Physical Design ==> Transistor List, Layout, ... ==> Manufacturing ==> Chip or Board

Page 5: Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University

Digital System Design Process

• Top-down design process• Starting with a design idea• Generating a chip or board

Page 6: Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University

Data path Design Phase

Page 7: Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University

Full Adder (Gate network)

Page 8: Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University

`timescale 1 ns / 1 ns// A 6-gate full adder; this is a commentmodule fulladder (s, co, a, c, c);// Port declarationsoutput s, co;input a, b, c;// Intermediate wireswire w1, w2, w3, w4;// Netlist descriptionxor #(16, 12) g1 (w1, a, b);xor #(16, 12) g5 (s, w1, c);and #(12, 10) g2 (w2, c, b);and #(12, 10) g3 (w3, c, a);and #(12, 10) g4 (w4, b, a);or #(12, 10) g6 (co, w2, w3, w4);endmodule

Full Adder (Verilog)

Page 9: Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University

Hardware simulation

Page 10: Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University

Verify Each Stage

Page 11: Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University

Hardware Simulation

Page 12: Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University

VerifyeachDesignStage

Page 13: Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University

Simulating an XOR

Page 14: Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University

Oblivious simulation.

Page 15: Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University

Event driven simulation.

Page 16: Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University

Categories of synthesis tools

Page 17: Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University

Synthesis process.

Page 18: Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University

Resource sharing.

Page 19: Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University

Testing

Digital System Design Issues:– Simulation– Synthesis– Test and Testability

Test and Testability:– Test generation– Fault simulation– Test bench programs

Page 20: Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University

Levels of abstractionThree common models

Behavior Dataflow Structural

Page 21: Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University

Behavioral Description

Most abstract Describe functions in procedural form Good for

– fast simulation of complex hardware units,– verification and functional simulation of design idea– modeling standard components and documentation

Detail of hardware is unknown

Page 22: Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University

Dataflow Description

Concurrent representation of the flow and movement of data

Not good for end-user or non-technical document

Good for designer for describe components to be synthesized

Examples: Self-timed library

Page 23: Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University

Structural Description

Lowest and most detailed level of hardware description

Good for hardware synthesis Contain a list of concurrently active

components and their interconnection Gate-level description Timing simulation (OK)