ECE 448 FPGA and ASIC Design with VHDL

Slides:



Advertisements
Similar presentations
George Mason University FPGA Design Flow ECE 448 Lecture 9.
Advertisements

ECE 447: Course Organization Instructor:Kris Gaj, S&T II, Room 223 Office hours: T, R 4:30-5:30 PM Lab assistants: Thuy-Tien Nguyen (M)
FPGA Devices & FPGA Design Flow
CSE 378 Computer Hardware Design Prof. Richard E. Haskell – –Tel: –Web site: Follow.
Spring 07, Jan 16 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Introduction Vishwani D. Agrawal James J. Danaher.
CSE 378 Computer Hardware Design Prof. Richard E. Haskell – –Tel: –Web site: Follow.
George Mason University ECE 448 – FPGA and ASIC Design with VHDL Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts,
ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic ECE 448 – FPGA and ASIC Design with VHDL.
George Mason University ECE 448 – FPGA and ASIC Design with VHDL Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic ECE 448.
CSE 378 Computer Hardware Design Prof. Richard E. Haskell – –Tel: –Web site: Follow.
ECE 448 FPGA and ASIC Design with VHDL
Digital System Design EEE344 Lecture 1 INTRODUCTION TO THE COURSE
ECE 448: Spring 12 Lab 4 – Part 2 Finite State Machines Basys2 FPGA Board.
ECE 447: Course Organization Instructor:Michael Garcia, Engineering Bldg. 3707, 3708 Office hours: Wednesday, 7:20-8:20pm; Sunday, TBD.
EENG 2910 – Digital Systems Design Fall Course Introduction Class Time: M9:30am-12:20pm Location: B239, B236 and B227 Instructor: Yomi Adamo
ECE 448 FPGA and ASIC Design with VHDL Spring 2008.
ECE 448 FPGA and ASIC Design with VHDL
IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology.
EEL4712 Digital Design. Instructor Dr. Greg Stitt Office Hours: TBD (Benton 323) Also, by appointment.
ECE 353 Introduction to Microprocessor Systems Michael J. Schulte Week 1.
EL 3101 EL310 Hardware Description Languages Spring 2015 Instructor: Ilker Hamzaoglu Teaching Assistant: Ercan Kalalı Web Site:
VHDL Project Specification Naser Mohammadzadeh. Schedule  due date: Tir 18 th 2.
ECE 449: Computer Design Lab Coordinator: Kris Gaj TAs: Tuesday session: Pawel Chodowiec Thursday session: Nghi Nguyen.
ECE 545 Digital System Design with VHDL
ECE 448 FPGA and ASIC Design with VHDL Spring 2010.
Kris Gaj Office hours: Monday, 3:00-4:00 PM, Wednesday, 3:00-4:00 PM, Thursday, 6:00-7:00 PM, and by appointment Research and teaching interests: cryptography.
CS/EE 3700: Fundamentals of Digital System Design Chris J. Myers Spring
Welcome to the ECE 449 Computer Design Lab Spring 2005.
ECE 448: Spring 11 Lab 3 Part 1 Sequential Logic for Synthesis.
EEL4712 Digital Design. Instructor Dr. Greg Stitt Office Hours: M Period 3, W Period 4 Subject to change.
George Mason University ECE 448 – FPGA and ASIC Design with VHDL ASICs vs. FPGAs ECE 448 Lecture 15.
ECE 545 Project 2 Specification. Schedule of Projects (1) Project 1 RTL design for FPGAs (20 points) Due date: Tuesday, November 22, midnight (firm) Checkpoints:
George Mason University ECE 449 – Computer Design Lab Introduction to FPGA Devices & Tools.
George Mason University ECE 449 – Computer Design Lab Welcome to the ECE 449 Computer Design Lab Spring 2005.
ECE 448 FPGA and ASIC Design with VHDL Spring 2011.
ECE 545 Lecture 7 FPGA Design Flow.
George Mason University ECE 449 – Computer Design Lab Welcome to the ECE 449 Computer Design Lab Spring 2004.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
George Mason University ECE 448 FPGA and ASIC Design with VHDL FPGA Design Flow ECE 448 Lecture 7.
ECE 448: Lab 4 VGA Display Mini-Pacman. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics.
Computer Engineering 1502 Advanced Digital Design Professor Donald Chiarulli Computer Science Dept Sennott Square
Introduction to FPGA Tools
George Mason University FPGA Design Flow ECE 545 Lecture 10.
CEC 220 Digital Circuit Design Wednesday, January 7 CEC 220 Digital Circuit Design Slide 1 of 12.
ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics.
CSE 378 Computer Hardware Design (Formerly, Design of Digital Systems) Prof. Richard E. Haskell – –Tel: –Web site:
CDA 4253 FPGA System Design Hao Zheng Dept of Comp Sci & Eng USF.
CEC 220 Digital Circuit Design Monday, August 24 CEC 220 Digital Circuit Design Slide 1 of 13.
ECE 448 FPGA and ASIC Design with VHDL
Kris Gaj Office hours: Monday, 3:00-4:00 PM, Wednesday, 3:00-4:00 PM, Thursday, 6:00-7:00 PM, and by appointment Research and teaching interests: FPGA.
ECE 448 FPGA and ASIC Design with VHDL Spring 2009.
George Mason University ECE 448 – FPGA and ASIC Design with VHDL FPGA Design Flow based on Aldec Active-HDL FPGA Board.
ECE 448 – FPGA and ASIC Design with VHDL George Mason University ECE 448 Lab 1 Implementing Combinational Logic in VHDL.
ECE 545 Project 1 Introduction & Specification Part I.
Course web page: ECE 545 Introduction to VHDL ECE web page  Courses  Course web pages  ECE 545.
ECE 448: Lab 4 VGA Display Snake Game. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics.
1 Digital Logic Design (41-135) Introduction Younglok Kim Dept. of Electrical Engineering Sogang University Spring 2006.
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
ECE web page  Courses  Course web pages
Computer Architecture Syllabus
ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic ECE 448 – FPGA and ASIC Design with VHDL.
ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic ECE 448 – FPGA and ASIC Design with VHDL.
ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic ECE 448 – FPGA and ASIC Design with VHDL.
ECE 448 Lecture 5 FPGA Devices
ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic ECE 448 – FPGA and ASIC Design with VHDL.
Sequential Logic for Synthesis Based on Aldec Active-HDL
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code.
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL code ECE 448 – FPGA and ASIC Design.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Presentation transcript:

ECE 448 FPGA and ASIC Design with VHDL Spring 2014

ECE 448 Team Course Instructor: Kris Gaj kgaj@gmu.edu Lab Instructors (TAs): Monday section: Umar Sharif malik.umar.sharif@gmail.com Wednesday & Thursday sections: Rabia Shahid rabia.shahid4@gmail.com

A few words about You 4 BS EE students 22 BS CpE students

Undergraduate Computer Engineering Courses ECE 331 ECE 332 ECE 445 ECE 448 ECE 447 ECE 492 Color code: BS EE ECE 493 BS CpE

Digital system design technologies coverage in the CpE & EE programs at GMU Microprocessors FPGAs ASICs Computer Organization ECE 448 ECE 445 ECE 447 FPGA and ASIC Design with VHDL Single Chip Microcomputers ECE 431 Digital Circuit Design Digital System Design with VHDL ECE 545 ECE 511 Microprocessors Computer Arithmetic ECE 645 Digital Integrated Circuits ECE 611 Advanced Microprocessors ECE 586 ECE 612 Real-Time Embedded Systems ECE 681 VLSI Design for ASICs

Course Hours Lecture: Lab Sessions: Lab sessions start this week!!! Monday, Wednesday 1:30-2:45 PM, Robinson Hall A, room 412 Lab Sessions: Monday Wednesday, Thursday 4:30-7:20 PM 7:20-10:00 PM The Nguyen Engineering Bldg., room 3208 Lab sessions start this week!!! It is very important that you attend the first lab session!

Lab Sessions This Week Devoted to the discussion of Detailed lab rules Tools to be installed on Your Laptops to be used outside of ECE Labs (in particular, at home) Please make sure to bring your laptop that you are planning to use in this class! Students from the Monday section should do their best to attend either Wednesday or Thursday session this week. In case you cannot do that please complete all necessary installations by yourself based on the written instructions you can get help from the TAs during their office hours this week and early next week

General Section Assignment Rules You should do your best to attend all lab meetings of the section you are registered for If you have missed a meeting of your section please attend a meetings of another section, but give preference in access to the lab computers to the students attending their own lab section All lab assignment demos should be normally done exclusively during the class time of your section Any requests for exceptions to these rules (due to illness, accident, etc.) should be well documented and presented to the TA & primary instructor for approval

Office Hours You are welcome to attend all office hour sessions! You can direct your questions regarding lab assignments to the TAs and myself Do your best to avoid “chasing” the TAs outside of their office hours! They have other jobs to do! Umar Sharif, Engineering 3208 Friday, 5:00-7:00pm (priority given to ECE 448 students) Monday, 1:30-3:30pm (priority given to ECE 447 students) Rabia Shahid, Engineering 3208 Monday, 10:00am-12:00pm Wednesday, 3:00-5:00pm Kris Gaj, Engineering 3225 Monday, 3:00-4:00pm Wednesday, 3:00-4:00pm, 7:30-8:30pm

Getting Help Outside of Office Hours System for asking questions 24/7 Answers can be given by students and instructors Student answers endorsed (or corrected) by instructors Average response time in Spring 2013 = 1.1 hour You can submit your questions anonymously You can ask private questions visible only to the instructors

Lab Access Rules and Behavior Code Please refer to ECE Labs website and in particular to Access rules & behavior code

Course Web Page http://ece.gmu.edu/coursewebpages/ECE/ECE448/S14 Organization Instructor Teaching Assistants Lecture and Lab Time Office Hours Grading Lecture Syllabus Textbooks Lecture Slides Homework Past Quizzes Past Midterm Exams Past Final Exams Lab Lab Syllabus Rules Lab Assignments Lab Slides & Examples Software Hardware Useful References Past Lab Exams

Grading criteria First part of the semester (before the Spring break) Lab experiments - Part I 16% Quizzes & homework: 5% Midterm exam for the lecture: 10% Midterm exam for the lab: 15% Second part of the semester (after the Spring break) Lab experiments - Part II    24% Quizzes & homework: 5% Final exam 25%

Tentative Grading Scheme for the Labs Lab 1: Developing VHDL Testbenches – 4 points Lab 2: Combinational & Sequential Logic – 4 points Lab 3: State Machines. Basic I/O Devices. – 8 points Lab 4: VGA Display – 8 points Lab 5: Computer Graphics – 8 points Lab 6: PicoBlaze System – 8 points Lab 7: Logic Analyzer (in class) – 2 bonus points Total: 16 points Total: 24+2 points

Penalties and Bonus Points one-week delay: 1/3 of points i.e., you can earn max. 4 out of 6 points No submissions or demos will be accepted more than one week after the assignment is due! Bonus points: Majority of labs will have opportunities for earning bonus points by doing additional tasks

Flexibility in the Second Part of the Semester Schedule A: Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics (2 weeks) – 8 points Lab 6: PicoBlaze System (2 weeks) – 8 points Lab 7: Logic Analyzer (in class) – 2 bonus points Total: 24+2 points Schedule B: Lab 4: VGA display (3 weeks) – 8 points Lab 5: Computer Graphics or Lab 6: PicoBlaze System (3 weeks) – 8 points Lab 7: Logic Analyzer (in class) – 2 bonus points Total: 16+2 points

Flexibility in the Second Part of the Semester Schedule A+: Intended for students who do exceptionally well in the first part of the semester ( ≥ 90% of points for Labs 1-3) An open-ended project proposed by students, the TAs, or the instructor Can be done individually or in groups of two students Schedule: Detailed Specification (1 week) Milestone 1 (2 weeks) Milestone 2 (2 weeks) Final Report & Deliverable (1 week) Total: 25 points

Bonus Points for Class Activity Based on class exercises during lecture and lab sessions, as well as your activity on Piazza “Small” points earned each week posted on BlackBoard Up to 8 “big” bonus points Scaled based on the performance of the best student For example: Small points Big points 1. Alice 40 8 Bob 35 7 … … … 26. Charlie 10 2

Exams Midterm Exam for the Lecture – 10 points Wednesday, March 5 Midterm Exam for the Lab (hands-on) – 15 points Monday or Thursday, March 3 and 6 Wednesday section students can write the exam on Monday or Thursday in order to avoid taking Midterm Exam for the Lecture on the same day Final Exam – 25 points Wednesday, May 7, 1:30-4:15pm

Required Textbook Recommended Textbook Pong P. Chu, FPGA Prototyping by VHDL Examples: Xilinx Spartan-3 Version, Wiley-Interscience, 2008. Recommended Textbook Stephen Brown and Zvonko Vranesic, Fundamentals of Digital Logic with VHDL Design, McGraw-Hill, 3rd or 2nd Edition

Basic Textbook Part I Basic Digital Circuits combinational sequential state machines and ASM charts Part II I/O Modules video serial communication keyboard mouse Part III PicoBlaze Microcontroller block diagram instruction set I/O interface interrupts

ECE 448, FPGA and ASIC Design with VHDL Topics VHDL: - writing testbenches - writing synthesizable RTL level code in VHDL FPGAs: - architecture of FPGA devices - embedded resources (memories, DSP units) - tools for the computer-aided design with FPGAs - current FPGA families & future trends

High-level ASIC Design: - standard cell implementation approach - logic synthesis tools - differences between FPGA & standard-cell ASIC design flow Applications: - basics of computer arithmetic - applications from communications, computer graphics, cryptography, etc. Platforms & Interfaces: FPGA boards I/O modules (VGA controller, serial communication modules) microprocessor board–FPGA board interfaces (USB, PCIe) New trends: microprocessors embedded in FPGAs (PicoBlaze, ARM) using high-level programming languages to design hardware

Tasks of the course Comprehensive Advanced introduction to FPGA & front-end ASIC technology Advanced course on digital system design with VHDL Testing equipment writing VHDL code for synthesis design using division into the datapath & controller - testbenches hardware: Xilinx FPGAs, Library of standard ASIC cells software: VHDL simulators, Synthesis tools, Implementation Tools - oscilloscopes - logic analyzer

VHDL for Specification VHDL for Simulation VHDL for Synthesis

Levels of design description Algorithmic level Level of description most suitable for synthesis Register Transfer Level Logic (gate) level Circuit (transistor) level Physical (layout) level

Register Transfer Level (RTL) Design Description Combinational Logic … Registers

What is an FPGA? Configurable Logic Blocks I/O Blocks Block RAMs

Two competing implementation approaches FPGA Field Programmable Gate Array ASIC Application Specific Integrated Circuit designed all the way from behavioral description to physical layout no physical layout design; design ends with a bitstream used to configure a device designs must be sent for expensive and time consuming fabrication in semiconductor foundry bought off the shelf and reconfigured by designers themselves

FPGAs vs. ASICs FPGAs ASICs Off-the-shelf High performance Low development costs Low power Short time to the market Low cost (but only in high volumes) Reconfigurability

FPGA Design process (1) Specification (Lab Assignments) 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….. Specification (Lab Assignments) On-paper hardware design (Block diagram & ASM chart) VHDL description (Your Source Files) 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; Functional simulation Synthesis Post-synthesis simulation

FPGA Design process (2) Implementation Timing simulation Configuration On chip testing

Simulation Tools ISim

FPGA Synthesis Tools XST

Logic Synthesis VHDL description Circuit netlist 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; begin A1<=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) select Y1<=MUX_0 when "00", MUX_1 when "01", MUX_2 when "10", MUX_3 when others; end MLU_DATAFLOW;

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

Xilinx FPGA Tools ECE Labs Xilinx ISE Design Flow Aldec Active-HDL Xilinx ISim or Mentor Graphics ModelSim SE Aldec Active-HDL (IDE) Xilinx XST or Synopsys Synplify Premier DP Xilinx ISE Design Suite (IDE) Xilinx XST or Synopsys Synplify Premier DP Xilinx ISE Design Suite simulation synthesis implementation

Design Process control from Active-HDL

Xilinx FPGA Tools Home Xilinx ISE Aldec Active-HDL Design Flow Xilinx ISim Aldec Active-HDL Student Edition (IDE) Xilinx XST (restricted) Xilinx XST (restricted) Xilinx ISE/WebPACK (IDE) (restricted) Xilinx ISE/WebPACK (restricted) simulation synthesis implementation

Digilent Nexys3 FPGA Board Used for the first time in Spring 2013 40 boards purchased by the department Distributed to students at the beginning of the semester, collected at the end of the semester Treat with care! You may be held financially responsible for any damage caused to your board

Block slices (CLB slices) FPGA available on the board Xilinx Spartan 6, XC6SLX16-CSG324C FPGA 2,278 CLB slices 32 BRAMs (18 kbit each) 32 DSP units 232 User pins Block RAMs Configurable Logic Block slices (CLB slices) Programmable Interconnects

Why ECE 448 is a challenging course? need to refresh and strengthen your VHDL skills need to learn new tools need to perform practical experiments time needed to complete experiments

(based on a student survey) Difficulties (based on a student survey) finding time to do the labs – 15 learning VHDL – 2 getting used to software – 1

Self-evaluation 3 – better than expected 8 – worse than expected (based on a student survey) 3 – better than expected 8 – worse than expected 16 – as well as expected

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 on the job market