Workshop on Digital Circuit Design in FPGA

Similar documents
Workshop on Digital Circuit Design in FPGA

Hardware Description Languages (HDLs) Verilog

Fig. 6-1 Conventional and Array Logic Symbols for OR Gate

CHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

Simplification of Boolean Functions

Code No: R Set No. 1

EE 8351 Digital Logic Circuits Ms.J.Jayaudhaya, ASP/EEE

Combinational Logic Circuits

Combinational Logic. Prof. Wangrok Oh. Dept. of Information Communications Eng. Chungnam National University. Prof. Wangrok Oh(CNU) 1 / 93

Boolean Logic CS.352.F12

Code No: R Set No. 1

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

EE 231 Fall Lab 1: Introduction to Verilog HDL and Altera IDE

Programmable Logic Devices HDL-Based Design Flows CMPE 415

DKT 122/3 DIGITAL SYSTEM 1

Chap.3 3. Chap reduces the complexity required to represent the schematic diagram of a circuit Library

I 4 I 3 I 2 I 1 I 0 A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0 T-125. ROM Truth Table (Partial) 1997 by Prentice-Hall, Inc.

EE 231 Fall EE 231 Lab 3

Gate-Level Minimization

Combinational Logic with MSI and LSI

NH 67, Karur Trichy Highways, Puliyur C.F, Karur District DEPARTMENT OF INFORMATION TECHNOLOGY CS 2202 DIGITAL PRINCIPLES AND SYSTEM DESIGN

VALLIAMMAI ENGINEERING COLLEGE. SRM Nagar, Kattankulathur DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EC6302 DIGITAL ELECTRONICS


Verilog Fundamentals. Shubham Singh. Junior Undergrad. Electrical Engineering

CSCI 220: Computer Architecture I Instructor: Pranava K. Jha. Simplification of Boolean Functions using a Karnaugh Map

EECS 150 Homework 7 Solutions Fall (a) 4.3 The functions for the 7 segment display decoder given in Section 4.3 are:

Verilog for Combinational Circuits

Lab 3: Standard Combinational Components

Introduction to Programmable Logic Devices (Class 7.2 2/28/2013)

(ii) Simplify and implement the following SOP function using NOR gates:

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

SIR C.R.REDDY COLLEGE OF ENGINEERING, ELURU DEPARTMENT OF INFORMATION TECHNOLOGY LESSON PLAN

R10. II B. Tech I Semester, Supplementary Examinations, May

Code No: R Set No. 1

EECS150, Fall 2004, Midterm 1, Prof. Culler. Problem 1 (15 points) 1.a. Circle the gate-level circuits that DO NOT implement a Boolean AND function.

Chapter 4. Combinational Logic. Dr. Abu-Arqoub

Topics. Midterm Finish Chapter 7

R a) Simplify the logic functions from binary to seven segment display code converter (8M) b) Simplify the following using Tabular method

TUTORIALS FOR MAX3000A CPLD DEVICES

PINE TRAINING ACADEMY

LOGIC CIRCUITS. Kirti P_Didital Design 1

EE 231 Fall EE 231 Lab 2

Summary. Boolean Addition

HANSABA COLLEGE OF ENGINEERING & TECHNOLOGY (098) SUBJECT: DIGITAL ELECTRONICS ( ) Assignment

ENGINEERS ACADEMY. 7. Given Boolean theorem. (a) A B A C B C A B A C. (b) AB AC BC AB BC. (c) AB AC BC A B A C B C.

structure syntax different levels of abstraction

Here is a list of lecture objectives. They are provided for you to reflect on what you are supposed to learn, rather than an introduction to this

Experiment 4 Boolean Functions Implementation

Chapter 6 Combinational-Circuit Building Blocks

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic

Chapter 3. Gate-Level Minimization. Outlines

Programmable Logic Devices

Chap-2 Boolean Algebra

UNIT I BOOLEAN ALGEBRA AND COMBINATIONAL CIRCUITS PART-A (2 MARKS)

PROGRAMMABLE LOGIC DEVICES

B.Tech II Year I Semester (R13) Regular Examinations December 2014 DIGITAL LOGIC DESIGN

Introduction to Verilog HDL. Verilog 1

CSE370 TUTORIAL 3 - INTRODUCTION TO USING VERILOG IN ACTIVE-HDL

ECE 3610 Microprocessing Systems Lab #1 Verilog Design of the TOC Using Quartus II

Hybrid Electronics Laboratory

Boolean Algebra. BME208 Logic Circuits Yalçın İŞLER

Combinational Logic II

CONTENTS CHAPTER 1: NUMBER SYSTEM. Foreword...(vii) Preface... (ix) Acknowledgement... (xi) About the Author...(xxiii)

Hours / 100 Marks Seat No.

UNIT - V MEMORY P.VIDYA SAGAR ( ASSOCIATE PROFESSOR) Department of Electronics and Communication Engineering, VBIT

Combinational Logic Use the Boolean Algebra and the minimization techniques to design useful circuits No feedback, no memory Just n inputs, m outputs

END-TERM EXAMINATION

Laboratory Exercise 1

Field Programmable Gate Array

Keywords: Soft Core Processor, Arithmetic and Logical Unit, Back End Implementation and Front End Implementation.

Speaker: Shao-Wei Feng Adviser: Prof. An-Yeu Wu Date: 2010/09/28

Chapter 1 Overview of Digital Systems Design

Introduction to Verilog HDL

R07

Principles of Digital Techniques PDT (17320) Assignment No State advantages of digital system over analog system.

COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING QUESTION BANK SUBJECT CODE & NAME: EC 1312 DIGITAL LOGIC CIRCUITS UNIT I

Field Programmable Gate Array (FPGA)

Introduction to Verilog. Mitch Trope EECS 240 Spring 2004

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING QUESTION BANK NAME OF THE SUBJECT: EE 2255 DIGITAL LOGIC CIRCUITS

Programmable Logic Devices

problem maximum score 1 10pts 2 8pts 3 10pts 4 12pts 5 7pts 6 7pts 7 7pts 8 17pts 9 22pts total 100pts

CPE 200L LABORATORY 4: INTRODUCTION TO DE2 BOARD UNIVERSITY OF NEVADA, LAS VEGAS GOALS: BACKGROUND:

DHANALAKSHMI SRINIVASAN COLLEGE OF ENGINEERING AND TECHNOLOGY

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs)

Programmable Logic Devices UNIT II DIGITAL SYSTEM DESIGN

IMPLEMENTATION DESIGN FLOW

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs?

PROGRAMMABLE MODULES SPECIFICATION OF PROGRAMMABLE COMBINATIONAL AND SEQUENTIAL MODULES

Nikhil Gupta. FPGA Challenge Takneek 2012

Digital Logic Design. Outline

Chapter 5 Design and Implementation of a Unified BCD/Binary Adder/Subtractor

QUESTION BANK FOR TEST


CENG 241 Digital Design 1

Digital Logic Design (CEN-120) (3+1)

Synthesis of VHDL Code for FPGA Design Flow Using Xilinx PlanAhead Tool

ECE 545 Lecture 12. FPGA Resources. George Mason University

CS8803: Advanced Digital Design for Embedded Hardware

CHAPTER-2 STRUCTURE OF BOOLEAN FUNCTION USING GATES, K-Map and Quine-McCluskey

Transcription:

Workshop on Digital Circuit Design in FPGA Session-1 Presented By Mohammed Abdul Kader Assistant Professor, Dept. of EEE, IIUC Email:kader05cuet@gmail.com Website: kader05cuet.wordpress.com

The field-programmable gate array (FPGA) is a semiconductor device that can be programmed after manufacturing. Instead of being restricted to any predetermined hardware function, an FPGA allows you to program product features and functions, adapt to new standards, and reconfigure hardware for specific applications even after the product has been installed in the field hence the name "field-programmable". You can use an FPGA to implement any logical function that an application-specific integrated circuit (ASIC) or, application-specific standard product (ASSP) could perform, but the ability to update the functionality after shipping offers advantages for many applications. What is an FPGA? 110101 101010 2

FPGA Architecture 110101 101010 IOB Input/Output Block. CLB Configurable Logic Block. PSM Programmable Switch Matrix. Connection Lines Clock Circuitry 3

FPGA Vs Microcontroller 110101 101010 Microcontroller: Micro-computer in a single chip. Configuring a predefined hardware by programming. FPGA: Developing Hardware by programming 4

FPGA Programming 110101 101010 FPGA Programming Schematic Entry Hardware Description language Verilog HDL VHDL RTL Verilog Code Structural Verilog Code Behavioral Verilog Code 5

Schematic Design in FPGA 110101 101010 Implementation of Full adder circuit X Y S = X Y Z Z C = Z(X Y) + XY Steps: a) Open a new project Wizard. b) Open a new schematic file. c) Draw the circuit. d) Compilation. e) Pin Planer. f) Compilation g) Upload 6

Open a new project Wizard. Schematic Design in FPGA(Cont.) 110101 101010 7

110101 101010 Family and Device Settings Schematic Design in FPGA(Cont.) 8

Drawing circuit in New Schematic File Schematic Design in FPGA(Cont.) 110101 101010 9

Pin Planner Schematic Design in FPGA(Cont.) 110101 101010 10

110101 101010 Loading Program Schematic Design in FPGA(Cont.) 11

Verilog HDL Structural Verilog Code 110101 101010 12

Verilog HDL Structural Verilog Code 110101 101010 13

Verilog HDL RTL Verilog Code 110101 101010 RTL Verilog Coding of Digital Circuit Structural Verilog code is not practicable for designing complex circuit. In that case, RTL Verilog code is used to design digital circuit. RTL Verilog code of a digital design can be written in two ways: 1) Using continuous assignment structures. 2) Using Procedural assignment structures. Continuous assignment Vs Procedural assignment It is named as continuous assignment because the assignments written in this procedure are evaluated continuously whereas in procedural assignment structure execution of a statement waits for the clock or other parameter. The expression (in continuous assignment structure) is evaluated whenever any of the operands changes. RTL coding using continuous assignment is usually used to model combinational circuit which is more complex than can be handled by structural modeling. The declaration module, input, output and endmodule are same as they are used in structural Verilog code. The difference is the keyword assign is used to write the continuous assignment. 14

RTL Verilog Code using Continuous Assignment 110101 101010 RTL Verilog code using Continuous Assignment to follow the logic equations given below. Verilog Code: 15

RTL Verilog Code using Continuous Assignment 110101 101010 BCD to Seven Segment Decoder by RTL Verilog Coding using Continuous assignment A BCD to seven-segment decoder is a combinational circuit that accepts a decimal digit in BCD and generates the appropriate outputs for the selection of segments in a display indicator used for displaying the decimal digit. The seven output of the decoder (a,b,c,d,e,f,g) select the corresponding segments in the display as shown in figure a. The numeric designation chosen to represent the decimal digit is shown in figure b. Design the BCD to seven segment decoder circuit. a: Segment designation b: Numerical designation for display 16

RTL Verilog Code using Continuous Assignment (Cont.) 110101 101010 From truth table we obtaineda= (0,2,3,5,6,7,8,9) b= (0,1,2,3,4,7,8,9) c= (0,1,3,4,5,6,7,8,9) d= (0,2,3,5,6,8,9) e= (0,2,6,8) f= (0,4,5,6,8,9) g= (2,3,4,5,6,8,9) Don t care conditions, d= (10,11,12,13,14,15) 17

110101 101010 From truth table we obtaineda= (0,2,3,5,6,7,8,9) b= (0,1,2,3,4,7,8,9) c= (0,1,3,4,5,6,7,8,9) d= (0,2,3,5,6,8,9) e= (0,2,6,8) f= (0,4,5,6,8,9) g= (2,3,4,5,6,8,9) Don t care, d= (10,11,12,13,14,15) CD AB CD AB CD CD AB AB RTL Verilog Code using Continuous Assignment (Cont.) X X X X X X X X X X X X X X X X X X X X X X X X AB a= A+C+B D +BD CD AB b= B +C D +CD c= B +C +D d= A +B D +B C+BC D+CD CD CD AB 18 X X X X X X X X X X X X X X X X X X e= B D +CD f= A+C D +BD +BC g= A+B C+BC +BD

RTL Verilog Code using Continuous Assignment (Cont.) 110101 101010 Logic Equations a= A+C+B D +BD b= B +C D +CD c= B +C +D d= A +B D +B C+BC D+CD e= B D +CD f= A+C D +BD +BC g= A+B C+BC +BD Verilog Code module seven_segment (a,b,c,d,e,f,g,a,b,c,d); input A,B,C,D; output a,b,c,d,e,f,g; assign a=a C (~B&~D) (B&D); assign b=(~b (~C&~D) (C&D)); assign c=b ~C D; assign d=a (~B&~D) (~B&C) (B&~C&D) (C&~D); assign e=(~b&~d) (C&~D); assign f=a (~C&~D) (B&~D) (B&~C); assign g=a (~B&C) (B&~C) (B&~D); endmodule 19

RTL Verilog Code using Continuous Assignment (Cont.) 110101 101010 Verilog code to design 4-bit adder-subtractor circuit using continuous assignment structure. Verilog Code: 20