ece 448 fpga and asic design with vhdl spring 2007

56
ECE 448 FPGA and ASIC Design with VHDL Spring 2007

Upload: cathleen-octavia-hensley

Post on 28-Dec-2015

245 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

ECE 448 FPGA and ASIC Design

with VHDL

Spring 2007

Page 2: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

ECE 448 Team

Course Instructor: Kris Gaj [email protected]

Lab Instructors (TAs):

Tuesday & Wednesday sections:Nghi Nguyenformer MS CpE [email protected]

Thursday section: Hoang LeMS CpE student, specializing inDigital Systems [email protected]

Page 3: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

ECE 448 Team – Division of Tasks

Course Instructor – Primary Responsibilities

- Lectures- Preparing and grading exams and quizzes- Coordination of work on development of new experiments- Instructions for the lab experiments- Coordination of work done by the TAs- Enforcing consistent policies and grading standards- Mid-semester student satisfaction survey- Resolving conflicts and providing feedback to the TAs- Holding office hours

Page 4: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

ECE 448 Team – Division of Tasks

Lab Instructors (TAs) – Primary Responsibilities

- Teaching hands-on sessions on how to use software, hardware and testing equipment needed for experiments- Introductions to the lab experiments- Grading student demonstrations and reports- Holding office hours- Development and testing of new lab experiments

Page 5: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

Course hoursLecture: Tuesday, Thursday 5:55-7:10 PM, Robinson Hall A, room 111

Lab Sessions: Tuesday, Wednesday, Thursday 7:20-10:00 PM, S&T 2, room 203

Office hours:Monday, TBD, room 203, Nghi NguyenMonday, 6:00-7:00 PM, room 223, Kris GajTuesday, TBD, room 203, Nghi NguyenTuesday, 7:30-8:30 PM, room 223, Kris GajWednesday, TBD, room 203, Hoang LeThursday, 7:30-8:30 PM, room 223, Kris Gaj

Page 6: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

• You are welcome to attend any of the multiple office hour sessions

• Please attend the class meetings of the other section only in case of emergency and give preference in access to the lab computers to the students attending the right section

• All experiment demonstrations need to be done in the presence of your TA, and can be done exclusively during the class time of your section

ECE 448 Section Assignment Rules

Page 7: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

Lab Access Rules and Behavior Code

Please refer to the FPGA Design & Test Lab website:

http://ece.gmu.edu/labs/fpgalab.htm

Page 8: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

Grading criteria

First part of the semester (before the Spring break)

Second part of the semester (after the Spring break)

Lab experiments & homework - Part I(individual assignments)

20%

Final exam25%

Lab experiments & homework - Part II   (group assignments)

20%

Midterm exam for the lecture: 10%Midterm exam for the lab: 15%

Quizzes: 5%

Quizzes: 5%

Page 9: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

BS in CpE20

BS in EE11

Undeclared1

Spring 2007 Enrollment as of January 23, 2007

Page 10: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

ECE 331 ECE 332

ECE 280

C

ECE 445

C

ECE 442

ECE 447

C

C

ECE 448

Digital Systems & Computers

PHYS 261 PHYS 265

or

Old Curriculum

C

ECE 492

ECE 493

ECE 367

BS EE

BS CpE

Color code:

Page 11: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

ECE 331 ECE 332

ECE 280

C

ECE 445

C

ECE 447

C

C

ECE 448

Digital Systems & Computers

PHYS 261 PHYS 265

or

ECE 492

ECE 493

New Curriculum

CS 222 CS 367

BS EE

BS CpE

Color code:

Page 12: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

Transition from ECE 449 to ECE 448starting in Spring 2006

ECE 449

1 credit hour

VHDL intro+ FPGA intro

+ hands-on tools intro+ experiment intro

+ lab time

4 credit hours

Lecture

Lab

NEW COURSE, ECE 448

VHDL intro+ FPGA intro+ ASIC intro

+ more advancedlectures on

applications and platforms

hands-on tools intro+ experiment intro

+ lab time

Lab

Page 13: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

VHDL:

- writing synthesizable RTL level code in VHDL - writing test benches

FPGAs:

- architecture of FPGA devices - tools for the computer-aided design with FPGAs - current FPGA families & future trends

Topics

ECE 448, FPGA and ASIC Design with VHDL

Page 14: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

Applications: - basics of computer arithmetic - applications from communications, cryptography, digital signal processing, bioengineering, etc.

- FPGA boards- microprocessor board–FPGA board interfaces: PCI, PCI-X- reconfigurable computers

High-level ASIC Design: - standard cell implementation approach - logic synthesis tools - differences between FPGA & standard-cell ASIC design flow

New trends:- using high-level programming languages to design hardware- microprocessors embedded in FPGAs

Platforms:

Page 15: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

Tasks of the course

Advancedcourse on digital

system designwith VHDL

Comprehensive introduction to

FPGA & front-end ASIC

technology

Testing equipment

- writing VHDL code for synthesis- design using finite state machines and algorithmic state machines- test benches

- hardware:Xilinx FPGAs,TSMC libraryof standard ASICcells

- software:VHDL simulatorsSynthesis toolsXilinx ISE

- oscilloscopes- logic analyzer

Page 16: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

VHDL for Specification

VHDL for Simulation

VHDL for Synthesis

Page 17: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

Levels of design description

Algorithmic level

Register Transfer Level

Logic (gate) level

Circuit (transistor) level

Physical (layout) level

Level of description

most suitable for synthesis

Page 18: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

Register Transfer Level (RTL) Design Description

Combinational Logic

Combinational Logic

Registers

Page 19: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

VHDL Design Styles

Components andinterconnects

structural

VHDL Design Styles

dataflow

Concurrent statements

behavioral

• Registers• State machines

Sequential statements

Subset most suitable for synthesis

• Testbenches

Page 20: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

Testbenches

Testbench Environment

TB Processes

Generating

Stimuli

Design Under Test (DUT)

Stimuli All DUT Inputs

Simulated Outputs

Page 21: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

World of Integrated Circuits

Integrated Circuits

Full-CustomASICs

Semi-CustomASICs

UserProgrammable

PLD FPGA

PAL PLA PML LUT(Look-Up Table)

MUX Gates

Page 22: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

Block R

AM

s

Block R

AM

s

ConfigurableLogicBlocks

I/OBlocks

What is an FPGA?

BlockRAMs

Page 23: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

• designs must be sent for expensive and time consuming fabrication in semiconductor foundry

• bought off the shelf and reconfigured by designers themselves

Two competing implementation approaches

ASICApplication Specific

Integrated Circuit

FPGAField Programmable

Gate Array

• designed all the way from behavioral description to physical layout

• no physical layout design; design ends with a bitstream used to configure a device

Page 24: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

FPGAs vs. ASICs

ASICs FPGAs

High performanceOff-the-shelf

Short time to the market

Low development costs

Reconfigurability

Low power

Low cost (but only in high volumes)

Page 25: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

FPGA Design process (1)

Design and implement a simple unit permitting to speed up encryption with RC5-similar cipher with fixed key set on 8031 microcontroller. Unlike in the experiment 5, this time your unit has to be able to perform an encryption algorithm by itself, executing 32 rounds…..

Library IEEE;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;

entity RC5_core is port( clock, reset, encr_decr: in std_logic; data_input: in std_logic_vector(31 downto 0); data_output: out std_logic_vector(31 downto 0); out_full: in std_logic; key_input: in std_logic_vector(31 downto 0); key_read: out std_logic; );end AES_core;

Specification (Lab Experiments)

VHDL description (Your Source Files)

Functional simulation

Post-synthesis simulationSynthesis

Page 26: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

FPGA Design process (2)

Implementation

Configuration

Timing simulation

On chip testing

Page 27: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

Simulation Tools

Page 28: ECE 448 FPGA and ASIC Design with VHDL Spring 2007
Page 29: ECE 448 FPGA and ASIC Design with VHDL Spring 2007
Page 30: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

FPGA Synthesis Tools

Page 31: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

architecture MLU_DATAFLOW of MLU is

signal A1:STD_LOGIC;signal B1:STD_LOGIC;signal Y1:STD_LOGIC;signal MUX_0, MUX_1, MUX_2, MUX_3: STD_LOGIC;

beginA1<=A when (NEG_A='0') else

not A;B1<=B when (NEG_B='0') else

not B;Y<=Y1 when (NEG_Y='0') else

not Y1;

MUX_0<=A1 and B1;MUX_1<=A1 or B1;MUX_2<=A1 xor B1;MUX_3<=A1 xnor B1;

with (L1 & L0) selectY1<=MUX_0 when "00",

MUX_1 when "01",MUX_2 when "10",MUX_3 when others;

end MLU_DATAFLOW;

VHDL description Circuit netlist

Logic Synthesis

Page 32: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

FPGA Implementation

• After synthesis the entire implementation process is performed by FPGA vendor tools

Page 33: ECE 448 FPGA and ASIC Design with VHDL Spring 2007
Page 34: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

Design Process control from Active-HDL

Page 35: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

Top Level ASIC Digital Design Flow

RTL Design

Place + Route

Physical Verification

Synthesis

Design Inception

Design Complete

Macro Development

Page 36: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

ASIC Simulation Tools

Page 37: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

ASIC Synthesis Tools

Page 38: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

CAD software available at GMU (1)

• Aldec Active-HDL (under Windows)

• ModelSim Xilinx Edition III (under Windows)

• available in the FPGA Lab, S&T II, room 203

• limited version available for free for individual use at home as a part of Xilinx WebPACK

• available in the FPGA Lab, S&T II, room 203

VHDL simulators

• student edition can be purchased on an individual basis ($59.95 + S&H)

Page 39: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

CAD software available at GMU (2)

• Synplicity Synplify Pro (under Windows)

• available in the FPGA Lab, S&T II, room 203

• available in the FPGA Lab, S&T II, room 203

• available for free as a part of WebPACK

Tools used for logic synthesis

• Xilinx XST (under Windows)

Xilinx FPGA synthesis

Page 40: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

CAD software available at GMU (3)

• Xilinx ISE (under Windows)

• available in the FPGA Lab, S&T II, room 203

Tools used for implementation (mapping, placing & routing) in the Xilinx FPGA technology

• Xilinx WebPACK (under Windows)

• limited version available for free for individual use at home as a part of Xilinx WebPACK

Page 41: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

• Synopsys Design Compiler and PrimeTime (under Unix)

• available from all PCs in the ECE educational labs using an X-terminal emulator

• available remotely from home using a fast Internet connection

ASIC synthesis

CAD software available at GMU (4)

Page 42: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

Xilinx FPGA Tools

Aldec Active HDL ModelSim Xilinx Edition

Synplicity Synplify Pro

Xilinx ISE

Xilinx XST

Xilinx WebPACK

Lab Home for free

Aldec Active HDL Student Edition

Xilinx XST

Xilinx WebPACK

Home for money

Windows

Page 43: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

Altera FPGA Tools

Altera Quartus II Altera Quartus II

Lab Home for free

Windows

Page 44: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

ASIC Tools

Synopsys Design Analyzer remote access to cpe02.gmu.edu

Synopsys Design Analyzer

Lab Home for free

Unix

Page 45: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

XESS Inc. Educational Boards

Page 46: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

FPGA available on the XESS board

Xilinx Spartan 3, XC3S1000 FPGA

• 1,000,000 equivalent logic gates

• 7680 CLB slices

ProgrammableInterconnects

Configurable Logic Block slices (CLB slices)

Block RAMs

• 432 kbits of memory in block RAMs

Page 47: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

Celoxica RC10 Educational Board

Page 48: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

FPGA available on the board

Xilinx Spartan 3, XC3S1500 FPGA

• 1,500,000 equivalent logic gates

• 13,312 CLB slices

ProgrammableInterconnects

Configurable Logic Block slices (CLB slices)

Block RAMs

• 576 kbits of memory in block RAMs

Page 49: ECE 448 FPGA and ASIC Design with VHDL Spring 2007
Page 50: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

Digital system design technologiescoverage in the CpE & EE programs at GMU

Microprocessors ASICsFPGAs

ECE 445

ECE 447

ECE 586

ECE 681

ECE 448

ECE 511

ECE 611

ECE 431Computer Organization

Single ChipMicrocomputers

FPGA and ASIC Design with VHDL

Digital Circuit Design

Microprocessors

Advanced Microprocessors

Digital Integrated Circuits

VLSI Design Automation

ECE 545 Introduction to VHDL

ECE 645 Computer Arithmetic

Page 51: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

Why ECE 448 is a challenging course?

• need to “relearn” VHDL

• need to learn a lot of tools

• need to perform practical experiments

• time needed to complete experiments

Page 52: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

ECE 448: Spring 2006

Student Survey Summary

Page 53: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

Difficulties

• finding time to do the labs - 15

• learning VHDL – 2

• getting used to software – 1

Page 54: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

0

1

2

3

4

5

6

7

8

9

2 6 8 10 15 20 24 30 32 48

Average time spent per one experiment

Page 55: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

Self-evaluation

8 – worse than expected

16 – as well as expected

3 – better than expected

Page 56: ECE 448 FPGA and ASIC Design with VHDL Spring 2007

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

• knowledge of state-of-the-art testing equipment

• design portfolio that can be used during job interviews

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