Hardware Description Language - Computer Architecture - Lecture Slides, Slides of Computer Science

These are the Lecture Slides of Computer Architecture which includes Machines Address Memory, Notes About Memory, Assembly Language Programmer, Instruction Support for Functions, Jump Register, Nested Procedures, Register Values, Memory Organization etc. Key important points are: Hardware Description Language, Textual Form, Programming Language, Structural Description, Primitive Components, Simulation Input, Logic Diagrams, Boolean Expressions, Complex Digital Circuits

Typology: Slides

2012/2013

Uploaded on 03/22/2013

dhimant
dhimant 🇮🇳

4.3

(8)

128 documents

1 / 40

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Hardware Description Language - Introduction
HDL is a language that describes the hardware of digital
systems in a textual form.
It resembles a programming language, but is specifically
oriented to describing hardware structures and behaviors.
The main difference with the traditional programming
languages is HDLs representation of extensive parallel
operations whereas traditional ones represents mostly serial
operations.
The most common use of a HDL is to provide an alternative to
schematics.
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28

Partial preview of the text

Download Hardware Description Language - Computer Architecture - Lecture Slides and more Slides Computer Science in PDF only on Docsity!

Hardware Description Language - Introduction

  • HDL is a language that describes the hardware of digital systems in a textual form.
  • It resembles a programming language, but is specifically oriented to describing hardware structures and behaviors.
  • The main difference with the traditional programming languages is HDL’s representation of extensive parallel operations whereas traditional ones represents mostly serial operations.
  • The most common use of a HDL is to provide an alternative to schematics.

HDL – Introduction (2)

  • When a language is used for the above purpose (i.e. to provide an alternative to schematics), it is referred to as a structural description in which the language describes an interconnection of components.
  • Such a structural description can be used as input to logic simulation just as a schematic is used.
  • Models for each of the primitive components are required.
  • If an HDL is used, then these models can also be written in the HDL providing a more uniform, portable representation for simulation input.

HDL – Introduction (4)

  • As a documentation language, HDL is used to represent and document digital systems in a form that can be read by both humans and computers and is suitable as an exchange language between designers.
  • The language content can be stored and retrieved easily and processed by computer software in an efficient manner.
  • There are two applications of HDL processing: Simulation and Synthesis

Logic Simulation

  • A simulator interprets the HDL description and produces a readable output, such as a timing diagram, that predicts how the hardware will behave before its is actually fabricated.
  • Simulation allows the detection of functional errors in a design without having to physically create the circuit.

Logic Simulation

  • Logic simulation is a fast, accurate method of analyzing a circuit to see its waveforms

Types of HDL

  • There are two standard HDL’s that are supported by IEEE.
    • VHDL ( Very-High-Speed Integrated Circuits Hardware Description Language ) - Sometimes referred to as VHSIC HDL, this was developed from an initiative by US. Dept. of Defense.
    • Verilog HDL – developed by Cadence Data systems and later transferred to a consortium called Open Verilog International (OVI).

Verilog - Module

  • A module is the building block in Verilog.
  • It is declared by the keyword module and is always terminated by the keyword endmodule.
  • Each statement is terminated with a semicolon, but there is no semi-colon after endmodule.

Verilog – Module (2)

HDL Example

module smpl_circuit(A,B,C,x,y); input A,B,C; output x,y; wire e; and g1(e,A,B); not g2(y,C); or g3(x,e,y); endmodule

Verilog – Module (4)

//Description of circuit with delay module circuit_with_delay (A,B,C,x,y); input A,B,C; output x,y; wire e; and # (30) g1(e,A,B); or # (20) g3(x,e,y); not # (10) g2(y,C); endmodule

Verilog – Module (5)

  • In order to simulate a circuit with HDL, it is necessary to apply inputs to the circuit for the simulator to generate an output response.
  • An HDL description that provides the stimulus to a design is called a test bench.
  • The initial statement specifies inputs between the keyword begin and end.
  • Initially ABC=000 (A,B and C are each set to 1’b0 (one binary digit with a value 0).
  • $finish is a system task.

Verilog – Module (6)

In the above example, cwd is declared as one instance circuit_with_delay. (similar in concept to object<->class relationship)

Verilog – Module (7)

Bitwise operators

  • Bitwise NOT : ~
  • Bitwise AND: &
  • Bitwise OR: |
  • Bitwise XOR: ^
  • Bitwise XNOR: ~^ or ^~

Verilog – Module (9)

//Circuit specified with Boolean equations

module circuit_bln (x,y,A,B,C,D);

input A,B,C,D; output x,y; assign x = A | (B & C) | (~B & C); assign y = (~B & C) | (B & ~C & ~D);

endmodule

Verilog – Module (10)

User Defined Primitives (UDP):

  • The logic gates used in HDL descriptions with keywords and, or ,etc., are defined by the system and are referred to as system primitives.
  • The user can create additional primitives by defining them in tabular form.
  • These type of circuits are referred to as user-defined primitives.