iay 0600 digital systems design digitaalsüsteemide disain course overview alexander sudnitson...

34
IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

Upload: clarence-ray

Post on 17-Jan-2018

220 views

Category:

Documents


0 download

DESCRIPTION

3 Course resources IAY0600 Digital Systems Design (LECTURESIAY0600 Digital Systems Design (LECTURES) Digitaalsüsteemide disain IAY0600l Digital Systems Design (WORKSHOPS) IAY0600l Digital Systems Design (WORKSHOPS) Digitaalsüsteemide disain (LABS)

TRANSCRIPT

Page 1: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

IAY 0600

Digital Systems Design

Digitaalsüsteemide disain Course Overview

Alexander SudnitsonTallinn University of Technology

Page 2: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

2

Administrative

Aleksander Sudnitsõn (Alexander Sudnitson)

Department of Computer Engineering (Arvutitehnika instituut) Associate Professor (dotsent)

[email protected]. +372 5092356www.pld.ttu.ee/~alsu

Page 3: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

3

Course resources

www.pld.ttu.ee/~alsu

IAY0600 Digital Systems Design (LECTURES) Digitaalsüsteemide disain

IAY0600l Digital Systems Design (WORKSHOPS) Digitaalsüsteemide disain (LABS)

Page 4: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

4

Lectures

Lecture:Wednesday 14.00 - 15.30

http://ati.ttu.ee/~alsu/IAY0600.html

The first regular Lab time: 16.09.2015, 16.009.09.2015 are lectures only 14.00 – 17.30

Page 5: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

5

Labs

A. Wednesday 16.00 - 17.30 (19.15)B. Thursday 17.45 – 19.15 (21.00)

Assistant: research scientist, Dimitri Mihhajlov, PhDTechnical Assistant: early stage researcher Artjem Rjabov

The first regular Lab time: 16.09.2015, 16.00

Page 6: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

6

Labs

http://ati.ttu.ee/~alsu/IAY0600l.html

IAY0600l

Page 7: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

7

Grading

To stimulate the student’s activity a project-based evaluation approach is adopted. Grading consists of control of knowledge in examinations (20 points in final grade) and of the demonstration of the projects and the quality of a written reports (40 points in final grade for doing compulsary labs, up to additional 40 points in final grade for doing optional labs).

“LEARN BY DOING”Learning By Example Using VHDL (with FPGA Evaluation Boards)

Page 8: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

8

Passing a Lab

Every completed experiment (project) must be presented to Assistant (D. Mihhailov), who will evaluate student’s results and effort

Each lab is passed in three steps:Step 1: Visual demonstrationStep 2: Submission of the reportStep 3: Defence/discussion of the report

Labs can be done either individually, or in teams of two.Note, that in case of teamwork Step 2 and Step 3 MUST be done by each team member separately.

Page 9: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

9

Compulsory Labs

Labs labelled “compulsory” form the basic core of the course. In order to pass the course theselabs MUST be completed within the deadline. Passing all compulsory labs yields the minimumpositive final grade and allows possibility to attend the exam.

• Comparator• Adder• Parameterizable Adder• LFSR• Finite-State Machine

Page 10: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

10

Optional Labs

Labs labelled “optional” are more advanced labs that are not required to be completed in order to pass the course. However, each successfully passed optional lab increases the final grade (up to the maximum for doing all optional labs).

• Greatest Common Divisor • Creeping Line • RISC Processor

Page 11: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

11

LabsXilinx FPGA ToolsThe laboratory assignments are done using the Xilinx ISE Software.

simulationsynthesisimplementation

Digilent Nexys3 FPGA Board

Page 12: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology
Page 13: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

13

Course goals

to elaborate knowledge of the design process from design description in VHDL through functional simulation, synthesis, timing simulation, and PLD (FPGA) programming;

to gain experience in designing and verifying digital systems using synthesis and simulation tools;

to provide students the theory and practice of rapid prototyping of digital systems in a laboratory environment;

Page 14: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

14

Outcomes

to proceed from a digital system description in VHDL to its implementation in a PLD (FPGA) using of a number of computer-aided design software tools;to understand how to interpret design tool outputs in evaluating alternative system designs for a specific set of requirements, and how to use the knowledge gained to improve the design;to understand and comprehend asynchronous design methods, computational models, design terminology.

Page 15: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

Why is this course worth taking?

• VHDL for synthesis: one of the most sought-after skills

• knowledge of state-of-the-art tools used in the industry

• knowledge of the modern FPGA & ASIC technologies

• unique knowledge and practical skills that make you competitive on the job market

Page 16: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

16

Main topics

The course is based on the development of a real-world projects and case studies

Synthesizable VHDL Digital systems design methodology using

VHDL and PLD (FPGA) FPGAs as means for building reconfigurable

systems Rapid prototyping of digital systems.

Page 17: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

17

Slides

http://ati.ttu.ee/~alsu/IAY0600.html

Lecture slides (to be published before each lecture).

Auxiliary material:

Digital Systems Modeling and Synthesishttp://www.ati.ttu.ee/IAY0340/

Page 18: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

18

Textbooks

Short K. L. VHDL for Engineers, Pearson Education, Inc., 2009, 2013.Chu P.P. FPGA Prototyping Using VHDL Examples: Xilinx Spartan-3 Version, Jonh, Willey & Sons, 2008.Pedroni V. A. Circuit Design and Simulation with VHDL, Massachusetts Institute of Technology, 2010.Skljarov V., Skliarova I., Sudnitson A. Design of FPGA-based Circuits using Hierarchical Finite State Machines. TUT Press, Tallinn, 2012, 240 p.Richard E. Haskell & Darrin M. Hanna, "Digital Design“, 2nd Edition, 2012

Page 19: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

19

Digital System

A discrete system is a system in which signals have a finite number of discrete values.(This contrasts with analog systems, in which signals have values from an infinite set).

Any finite number of discrete values can be represented by a vector of signals with just two values. Such a signal, which takes only two values, is called a digital signal (or binary, or logic), and any device that processes digital signals is called a digital device.

DiscreteSystem

Inputs Outputs

Page 20: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

20

Design process

The design process consists of obtaining an implementation that satisfies the specification of a system.

Specification (behaviour)

Analysis (verification) Synthesis

Implementation(structure)

The analysis of a system has an objective the determination of its specification from an implementation. The synthesis consists of obtaining an implementation that satisfies the specification of a system

Page 21: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

21

Design representation

A structural representation is one that the black box as a set of components and their connections. It specifies the product’s implementation without explicit reference to its functionality. The functionality could be derived from that of its interconnected components.

A behavioral or functional representation is one that looks at the design as a black box. A behavioral representation describes the functionality but not the implementation of a given design, defining the black box’s response to any combination of input values.

Three different domains of description:

A physical representation is one that specifies the physical characteristics of the black box, providing the dimensions and locations of each component and connection contained in the structural description..

Page 22: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

22

Modified Y Chart: levels of abstruction

Programmable cores, IPs, ASICs

Registers, Adders, Multipliers, etc.

Logic netlist, Schematic

Boolean equations

Dataflow

Abstract Processes

Algorithm Processor, Memory, Peripheral interface

View

Behavior Description

Structural Description

Logic

Register Transfer (RTL)

System

Architectural

Page 23: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

23

Timing units at different levels

Registers, Adders, Multipliers, etc.

Logic netlist, Schematic

Programmable cores, IPs, ASICs

Boolean equations

Dataflow

Abstract Processes

Algorithm Processor, Memory, Peripheral interface

View

Behavior Description

Structural Description

Delay

Clock Cycle

Computation Step

Comuncation Transaction

Time Units

Page 24: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

24

Modified Y Chart : this course area

Algorithm Processor, Memory, Peripheral interface

View

Behavior Description

Structural Description

Registers, Adders, Multipliers, etc.

Logic netlist, Schematic

Dataflow / RTL

Boolean equations

Synthesis

Analysis

Page 25: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

25

Modified Y Chart: transformations

Algorithm Processor, Memory, Peripheral interface

View

Behavior Description

Structural Description

Registers, Adders, Multipliers, etc.

Logic netlist, Schematic

Dataflow

Boolean equotions

Algorithmic

Register-Transfer

Logic

Transformations

Page 26: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

26

Chart supporting synthesis activity

View

Behavior Description

Structural Description

Algorithmic level of abstraction

Register-transfer level of abstraction

Logic level of abstraction

Behavioral synthesis

RTL synthesis

Logic synthesis

Page 27: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

27

Example: HalfAdder

SumCarryHalfAdder

ab

Structure

Sum = ¬a&b a&¬b = a b

Carry = a & b

a b Sum Carry0 0 0 00 1 1 01 0 1 01 1 0 1

Behavior

b Carry

&

a Sum

Page 28: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

28

Example: HalfAdder Behavioral Description

entity HALFADDER isport(a, b: in bit; Sum, Carry: out BIT); end HALFADDER;

Sum = ¬a&b a&¬b = a b

Carry = a & bHalfAdder

a

b

Sum

Carry

This is data flow behavioral description

architecture RTL of HALFADDER isbegin

Sum <= a xor b;Carry <= a and b;

end RTL;

Page 29: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

Register Transfer Level (RTL) Design Description

Combinational Logic

Combinational Logic

Registers

Page 30: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

30

Brief History of VHDL

VHDL is an industry standard hardware description language that is widely used for specifying, modeling, designing, an simulating digital systems.VHDL is an acronym for VHSIC (Very High Speed Integrated Circuit) Hardware Description Language.

The first version of VHDL:IEEE-1076 1987

The most commonly supported by CAD tools version of VHDL:IEEE-1076 1993

Page 31: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

VHDL for Synthesis (vs. for Simulation)

31

VHDL was originally developed as a language for describing digital systems for the purpose of documentation and simulation, but not for synthesis.In 1999, the IEEE issued IEEE Std 1076.6-1999, IEEE Standard for VHDL Register Transfer Level (RTL) Synthesis. This standard described a subset of IEEE Std 1076 suitable for RTL synthesis. It also described the syntax and semantics of this subset with regard to synthesis.IEEE 1076.6 defines a subset of the language that is considered the official synthesis subset.A revision of this standard was issued in 2004 and 2008.

Page 32: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

32

VHDL vs. Verilog

Government Developed Commercially Developed

Ada based C based

Strongly Type Cast Mildly Type Cast

Difficult to learn Easier to Learn

More Powerful Less Powerful

Features of VHDL and Verilog:technology/vendor independentportablereusable

Page 33: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

33

VHDL for Specification

VHDL for Simulation

VHDL for Synthesis

VHDL for specification, simulation, and synthesis

Page 34: IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology

34

Design flow for VHDL/PLD methodology

In our coursePLD = FPGA