ece 3450 m. a. jupina, vu, 2012 overview of digital logic technologies fpld technologies altera...

Post on 14-Jan-2016

214 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

ECE 3450 M. A. Jupina, VU, 2012

Overview of Digital Logic Technologies FPLD Technologies Altera DE2 Development Board Hardware Description Languages Quartus II Software and Tutorial

Field Programmable Logic Devices (FPLDs)

Some Key Lecture Objectives

A discussion of how digital logic circuits can be implemented through various technologies (Discrete vs PLD vs ASIC vs Full Custom).

Understand how FPLD technology is implemented by briefly looking at CPLD and FPGA architectures.

Understand the advantages of FPLD technology. An overview of the Altera DE2 board and the Quartus II software. Course

projects will use the Altera FPLD boards as a platform to implement complicated digital systems. With the Quartus II software, you will use a system design approach to create your designs.

A brief (very brief) discussion of VHDL and the future of VHDL-AMS and mixed signal ICs.

References:1. Fundamentals of Digital Logic, Sections 2.9, 2.10, 3.5 – 3.7, and Appendices A-E.2. Document files at the course web site

ECE 3450 M. A. Jupina, VU, 2012

Digital Logic Technologies

Full Custom

Standard Logic

Progammable Logic (FPLDs) ASICs

Digital Logic

TTL 74xx

CMOS 4xxx

PLDs FPGAs

Gate Arrays

Microprocessor & RAM

Standard Cell

CPLDs

ECE 3450 M. A. Jupina, VU, 2012

A 7400-Series Chip

Dual-inline package Structure of 7404 chip

V DD

Gnd

ECE 3450 M. A. Jupina, VU, 2012

VDD

x 1 x 2 x 3

f

7404

7408 7432

Discrete Implementation Example

1 2 2 3 f = x x + x x

ECE 3450 M. A. Jupina, VU, 2012

General Structure of a PLA

f 1

AND plane OR plane

Input buffers

inverters and

P 1

P k

f m

x 1 x 2 x n

x 1 x 1 x n x n

ECE 3450 M. A. Jupina, VU, 2012

An Exampleof a PLA

f 1

P 1

P 2

f 2

x 1 x 2 x 3

OR plane

AND plane

P 3

P 4

1 1 2 1 3 1 2 3

2 1 2 1 2 3 1 3

f x x x x x x x

f x x x x x x x

ECE 3450 M. A. Jupina, VU, 2012

ECE 3450 M. A. Jupina, VU, 2012

An Exampleof a PAL

f 1

P 1

P 2

f 2

x 1 x 2 x 3

AND plane

P 3

P 4

1 1 2 3 1 2 3

2 1 2 1 2 3

f x x x x x x

f x x x x x

Structure of a CPLD

PAL-likeblock

I/O

blo

ck

PAL-likeblock

I/O b

lock

PAL-likeblock

I/O

blo

ck

PAL-likeblock

I/O b

lock

Interconnection wires

ECE 3450 M. A. Jupina, VU, 2012

A Section of a CPLD

D Q

D Q

D Q

PAL-like block (details not shown)

PAL-like block

ECE 3450 M. A. Jupina, VU, 2012

Structure of a FPGA

ECE 3450 M. A. Jupina, VU, 2012

Logic Block Example

A two-input lookup table

(a) Circuit for a two-input LUT

x 1

x 2

f

0/1

0/1

0/1

0/1

0

0

1

1

0

1

0

1

1

0

0

1

x 1 x 2

(b) f 1 x 1 x 2 x 1 x 2 + =

(c) Storage cell contents in the LUT

x 1

x 2

1

0

0

1

f 1

f 1

Out

D Q

Clock

Select

Flip-flop In1

In2

In3

LUT

Complete Logic Block

ECE 3450 M. A. Jupina, VU, 2012

A Sea-of-Gates Gate Array

ECE 3450 M. A. Jupina, VU, 2012

An Example of a Logic Function in a Gate Arrayf 1

x 1

x 3

x 2

1 2 3 1 3 f = x x + x x

ECE 3450 M. A. Jupina, VU, 2012

A Simplified Floor Plan of a Standard Cells Based Design

ECE 3450 M. A. Jupina, VU, 2012

Standard Cell Structure

VDD

VSS

n tub

p tub orsubstrate

Intra-cell wiring

pullups

pulldowns

All cells have same pitch (height), may have different widths.

VDD, VSS (ground) connections are designed to run through cells.

A feedthrough area may allow wires to be routed over the cell.

ECE 3450 M. A. Jupina, VU, 2012

Example: Full Adder Schematic

Two Outputs: Sum and Carry

sum

carry

x1

x2

n1

n2

n3

n4

ECE 3450 M. A. Jupina, VU, 2012

A Candidate Layout of a Full Adder

x1 x2 n1 n2 n3 n4

a

b

c s

co

Density = 5

ECE 3450 M. A. Jupina, VU, 2012

Layout of Full Adder Cell

XOR XOR NAND NAND NAND NAND (2) (2) (2) (2) (2) (3)

ECE 3450 M. A. Jupina, VU, 2012

Intel Pentium (IV) Microprocessor

200142 million transistors2 GHz clock

ECE 3450 M. A. Jupina, VU, 2012

Emerging Chip Architecture

IPCORE

FPLD Circuits

Silicon Chip

ECE 3450 M. A. Jupina, VU, 2012

Example of a System-on-a-Chip (SOC) Architecture

System-on-a-Programmable Chip (SOPC) NOW EMERGING!

ECE 3450 M. A. Jupina, VU, 2012

Digital Logic Technology Tradeoff

PLDs

ASICs

Full CustomVLSI Design

Speed,Density,Complexity,MarketVolumeneeded forProduct

Engineering Cost, Time to Develop Product

CPLDsFPGAs

ECE 3450 M. A. Jupina, VU, 2012

Comparison of Digital Technologies

ECE 3450 M. A. Jupina, VU, 2012

FPLD Advantages1. Re-configurable: The IC can be configured or “wired” to perform a particular

task at a given instance in time and then reconfigured or “rewired” to perform another task a moment later. For example, the IC could be used as a low pass FIR digital filter one moment then reconfigured as a band pass FIR filter the next moment.

2. Rapid Prototyping

3. FPGA to ASIC Design (Example: Altera Stratix II to HardCopy II)

http://www.altera.com/products/devices/hardcopyii/hr2-index.jsp?f=hc2hp&k=m1

FPLD

ROM

ROM

ROM

ROM

ECE 3450 M. A. Jupina, VU, 2012

• Complexity of Logic Element

– How many inputs/outputs for the logic element?

– Does the basic logic element contain a FF? What type?

• Interconnect

– How fast is it? Does it offer ‘high speed’ paths that cross the chip? How many of these?

– Can I have on-chip tri-state busses?

– How routable is the design? If 95% of the logic elements are used, can I route the design?

More routing means more “route-ability,” but less room for logic elements

Issues in FPLD Technologies

ECE 3450 M. A. Jupina, VU, 2012

• Macro elements

– Are there SRAM blocks? Is the SRAM dual ported?

– Is there fast adder support (i.e. fast carry chains?)

– Is there fast logic support (i.e. cascade chains)

– What other types of macro blocks are available (fast decoders? register files? )

• Clock support

– How many global clocks can I have?

– Are there any on-chip Phase Locked Loops (PLLs) or Delay Locked Loops (DLLs) for clock synchronization, clock multiplication?

Issues in FPLD Technologies Continued

ECE 3450 M. A. Jupina, VU, 2012

• What type of I/O support exists?

– TTL, CMOS are a given

– Support for mixed 5V, 3.3V I/Os?

• 3.3 v internal, but 5V tolerant inputs?

– Support for new low voltage signaling standards?

• GTL (Gunning Transceiver Logic) - used on Pentium II

• HSTL - High Speed Transceiver Logic

• SSTL - Stub Series-Terminate Logic

• USB - Universal Serial Bus (differential signaling)

• AGP - Advanced Graphics Port

– Maximum number of I/O? Package types?

Ball Grid Array (BGA) for high density I/O

Issues in FPLD Technologies Continued

(bottom view)

ECE 3450 M. A. Jupina, VU, 2012

Examples of FPLDs and Advanced High Pin Count Package Types

PLCC PQFP Ceramic PGA

ECE 3450 M. A. Jupina, VU, 2012

• Altera Max7000/Max7000A

– EEPROM based, very fast (tp = 7.5 ns)

– Basically a PLD architecture with programmable interconnect.

– Max 7000A family is 3.3 V

• Altera Flex10K/10KE

– LEs (Logic elements) have 4-input LUTS (look-up tables) and 1 FF

– Fast Carry Chain between LE’s and Cascade chain for logic operations

– Large blocks of SRAM available as well

Altera FPLD Family Summaries

ECE 3450 M. A. Jupina, VU, 2012

MAX 7000 Macrocell

(36 signals from PIA)

(16 inputs)

Output can befed back to input for state machine implementation

ECE 3450 M. A. Jupina, VU, 2012

MAX 7000 LAB and PIA

ECE 3450 M. A. Jupina, VU, 2012

MAX 7000 CPLD Architecture

ECE 3450 M. A. Jupina, VU, 2012

FLEX 10K LE

ECE 3450 M. A. Jupina, VU, 2012

FLEX 10K LAB and Interconnects

ECE 3450 M. A. Jupina, VU, 2012

8-Bit Parallel Adder Example

ECE 3450 M. A. Jupina, VU, 2012

Product Term of Eight Variables Example

ECE 3450 M. A. Jupina, VU, 2012

FLEX 10K FPGA Architecture

ECE 3450 M. A. Jupina, VU, 2012

The Altera DE2 Development Board

ECE 3450 M. A. Jupina, VU, 2012

In-System Programming of the Altera Development Board

ECE 3450 M. A. Jupina, VU, 2012

 

Connections Between the Pushbuttons, the LEDs, and the Altera FPGA

Figure 1.6 FPGA I/O connections to Pushbuttons (PBx) and LED: Right of center, active LOW LED

output (i.e., UP1 and UP2 boards) or on far right active HIGH LED output (i.e., DE1, DE2, and UP3

boards). Note that a depressed pushbutton input will be LOW.

ECE 3450 M. A. Jupina, VU, 2012

9V DC PowerSupply

Connector

27Mhz Oscillator24-bit Audio CODEC

TV Decoder(NTSC/PAL)

PowerON/OFFSwitch USB

Host/SlaveController

Altera USB BlasterController Chipset

Altera EPCS 16Configuration Device

RUN/PROGSwitch forJTAG/AS

Modes

LCD 16x2 Module

7-SEG Display Module

18 Red LEDs

18 Toggle Switches

1MB FlashMemory

(upgradable to4MB)

PS/2 Port

XSGA10-bit DAC

Ethernet 10/100MController

SD Card Connector

IrDATransceiver8 Green LEDs

SMAExtClk

4 Push-button Switches

90nmCyclone IIFPGA with35K LEs

RS-232Port

Ethernet10/100M Port

XSGAVideo Port

VideoIn

USBHost

LineIn

MicOut

MicInUSB

Device

USBBlaster

Port

50Mhz Oscillator

8MB SDRAM

512KB SRAM

88888888

Figure 1.16 Altera DE2 board showing the Pushbutton and LED locations used in design (enclosed

in dashed ellipses seen in bottom right).

ECE 3450 M. A. Jupina, VU, 2012

Examples of Dedicated Pin-Outs on the DE2 Cyclone II Chip

Table 1.2 Hardwired I/O connections on the various FPGA boards in the design example.

I/O Device DE1 Pin DE2 Pin UP3 Pin UP2 & 1 Pin

PB1 R21 (Key1) N23 (Key1) 62 (SW7) 28 (FLEX PB1)

PB2 T22 (Key2) P23 (Key2) 48 (SW4) 29 (FLEX PB2)

LED R20(LEDR0) AE23(LEDR0) 56 (D3) 14 (7Seg Dec. pt.)

ECE 3450 M. A. Jupina, VU, 2012

Logic Synthesis: convert a description of a digital system in a Hardware Description Language (HDL) to an implementation technology.

library ieee;use ieee.std_logic_1164.all;

entity majority is port ( A, B, C : in std_logic; Y: out std_logic );end majority;

ARCHITECTURE a of majority is

begin

Y <= (A and B) or (A and C) or (B and C);end a;

HDL description Gates

Synthesis

Logic Synthesis

ECE 3450 M. A. Jupina, VU, 2012

• VHDL is a language used for simulation and synthesis of digital logic.

• A VHDL description of a digital system can be transformed into a gate level implementation. This process is know as synthesis.

VHDL for Combinational Logic

ECE 3450 M. A. Jupina, VU, 2012

• VHDL has a reputation as a complex language (it is!)• We will use a small subset of the language for our

purposes• Some VHDL constructs:

– Signal Assignment:      A <=   B;– Comparisons    = (equal), > (greater than), < (less

than), etc.– Boolean operations     AND, OR, NOT, XOR– Sequential statements (CASE, IF, FOR)– Concurrent statements (when-else)

VHDL Statements

ECE 3450 M. A. Jupina, VU, 2012

• Every VHDL model is composed of an entity and at least one architecture .

• Entity describes the interface to the model (inputs, outputs)

• Architecture describes the behavior of the model

• Can have multiple architectures for one entity (we will only use one in this class).

VHDL Combinational Template

ECE 3450 M. A. Jupina, VU, 2012

entity  model_name is      port  (               list of inputs and outputs );    end model_name;  architecture  arch_name  of model_name is     begin        concurrent statement 1        concurrent statement 2          ... concurrent statement N;

    end  arch_name;

All of the text not in italics are VHDL keywords.    VHDL is NOT case sensitive. (ENTITY is same as entity is same as EnTiTy).

A VHDL Template for Combinational Logic

ECE 3450 M. A. Jupina, VU, 2012

library ieee;use ieee.std_logic_1164.all;

entity example is    port ( A, B, C : in std_logic;             Y: out std_logic );end example;

-- this is the architecture declaration, uses only -- one concurrent statement.

ARCHITECTURE a of example is

begin

Y <= (A and B) or (A and C) or (B and C);end a;

Description Implementation

A VHDL Example of an XOR Gate

ECE 3450 M. A. Jupina, VU, 2012

Analog and Mixed Signal VHDL (VHDL-AMS)

• The IEEE 1076.1 language (VHDL-AMS) is a superset of the IEEE Std 1076-1993 (VHDL) that provides capabilities for describing and simulating analog and mixed-signal systems.

• VHDL-AMS was developed to provide the industry with a high-level design language to master future challenges in both mixed digital and analog system design as well as multi-physics applications.

• Currently, VHDL-AMS provides simulation only. Future software could provide synthesis. For example, field-programmable analog arrays (FPAA) are being developed. A FPAA containing many (~20) analog function blocks could be configured as DC level shifters, rectifiers, amplifiers, filters, oscillators, comparators, equalizers, etc.

ECE 3450 M. A. Jupina, VU, 2012

FPAA Reconfiguration Example

While FPAA technology is very young, and still expensive, it could someday be useful for creating communications products that would work on any standard.

For instance, a cell phone with a re-programmable analog-to-digital converter would search the entire communications band for a signal, then grab the necessary program from memory to make itself into a code-division multiple access (CDMA), time-division multiple access (TDMA), or global system for mobile communications (GSM) phone. Such a phone could be used in Japan, Europe, or the US without modification.

ECE 3450 M. A. Jupina, VU, 2012

VHDL-AMS Code Example-- VHDL-AMS model of an Analog Schmitt Trigger -- Description -- This Schmitt trigger uses a signal to model a simple hysteresis -- loop. When the input voltage exceeds the high threshold, the internal -- state switches to 5 Volts and when the input drops below the low threshold, -- the state switches to 0 Volts. -- The output is an ideal voltage source which contributes to the output -- terminal OutTerminal. -- LIBRARY DISCIPLINES;LIBRARY IEEE;

USE DISCIPLINES.ELECTROMAGNETIC_SYSTEM.ALL;USE IEEE.MATH_REAL.ALL;

entity AnalogSchmitt is end entity AnalogSchmitt;

architecture Hysteresis of AnalogSchmitt is TERMINAL n1,n2 : ELECTRICAL;

ECE 3450 M. A. Jupina, VU, 2012

VHDL-AMS Example Continued-- declare a signal to memorize the hysteresis state: SIGNAL State : REAL := 0.0; -- initial state is low QUANTITY vin ACROSS iin THROUGH n1;

-- declare a through branch for the output voltage source quantity vout across iout through n2;

begin -- the architecture consists of two architecture statements: -- a conditional concurrent signal assignment to implement the hysteresis -- a simultaneous statement to implement the equation for the output source vin == 5.0 * sin(2.0 * math_pi*0.5E3*NOW);

-- hysteresis: break State => 0.0 when Vin'above(1.0); -- trigger event when Vin > 1.0 break State => 5.0 when not Vin'above(2.4); -- trigger event when Vin < 2.4

-- output voltage source equation: vout == State'Ramp(1.0e-9,1.0e-9); -- the use of ramp assures that when a discontinuity -- in State arises, it is announced to the simulator end architecture Hysteresis;

ECE 3450 M. A. Jupina, VU, 2012

Altera Quartus II Software

ECE 3450 M. A. Jupina, VU, 2012

Required Installation of Quartus II on Laptops Go to the Altera folder on the K:\ Drive. Download

the executable file 91_quartus_free to your laptop’s hard drive. Install the Quartus II software.

After Installation, run the Quartus II software. Go to the menu Tools, License Setup, and in the box for License File put the following 5282@153.104.45.65 so that your laptop can find the license on the ECE server.

ECE 3450 M. A. Jupina, VU, 2012

Design Process for Schematic or VHDL Entry

ECE 3450 M. A. Jupina, VU, 2012

Create/Edit Schematic/VHDL

Compilerrepeat until no errors

Create Simulation Waveforms

SimulatorRun simulation until functionally correct

Timing Analysis?Modify design until timing specs are met

Program Device

Design Implementation Methodology

ECE 3450 M. A. Jupina, VU, 2012

Creating a New Quartus II Project

ECE 3450 M. A. Jupina, VU, 2012

Setting the FPGA Device Type

The Cyclone II Chip resides on the DE2 Board.

Figure 1.9 Setting the FPGA Device Type. Settings shown are for the DE1 board.

DE2

Cyclone II

EP2C35F672C6

ECE 3450 M. A. Jupina, VU, 2012

Creating the Top-Level Project Schematic Design File

ECE 3450 M. A. Jupina, VU, 2012

Selecting a New Symbol with the Symbol Tool

ECE 3450 M. A. Jupina, VU, 2012

Active Low OR-Gate Schematic Example with I/O Pins Connected

ECE 3450 M. A. Jupina, VU, 2012

Assigning Pins with the Assignment Editor

ECE 3450 M. A. Jupina, VU, 2012

Active Low OR-Gate Timing Simulation with Time Delays

ECE 3450 M. A. Jupina, VU, 2012

VHDL Entity Declaration Text

ECE 3450 M. A. Jupina, VU, 2012

VHDL OR-Gate Model (with Syntax Error)

ECE 3450 M. A. Jupina, VU, 2012

VHDL Compilation with a Syntax Error

ECE 3450 M. A. Jupina, VU, 2012

Timing Analyzer Showing Input to Output Timing Delays

ECE 3450 M. A. Jupina, VU, 2012

Floorplan View Showing Internal FPGA Placement of OR-

Gate in LE and I/O Pins

ECE 3450 M. A. Jupina, VU, 2012

ORgate Design Symbol

orgate

inst

PB1PB1

PB2PB2

LEDLED

ECE 3450 M. A. Jupina, VU, 2012

Implementation of a Simple Processor

Data

IEA IEB IECClock

RA RB RC IEX RX

Multiplexer

SY

SDATA

SA

SC SB

ALU

IEY RY

StateMachine

IEA IEB IEC

SC

SDATA

SA

SB

Done

IEX IEY

AddSub SY

Bus

AddSub

Start

ECE 3450 M. A. Jupina, VU, 2012

Altera Implementation of Simple Processor

ECE 3450 M. A. Jupina, VU, 2012

An Example Design Illustrating the Mapping of Multi-Bit Connections

ECE 3450 M. A. Jupina, VU, 2012

An Example with a LPM Device

ECE 3450 M. A. Jupina, VU, 2012

Lpm_counter0 MegaWizard Edit Window

ECE 3450 M. A. Jupina, VU, 2012

top related