Week 5, Verilog & Full Adder

Slides:



Advertisements
Similar presentations
Xilinx 6.3 Tutorial Integrated Software Environment (ISE) Set up basic environment Select Gates or Modules to Be simulated (Insert Program Code) Run Waveform.
Advertisements

Verilog Intro: Part 1.
ECE 551 Digital System Design & Synthesis Lecture 08 The Synthesis Process Constraints and Design Rules High-Level Synthesis Options.
EELE 367 – Logic Design Module 2 – Modern Digital Design Flow Agenda 1.History of Digital Design Approach 2.HDLs 3.Design Abstraction 4.Modern Design Steps.
Integrated Circuits Laboratory Faculty of Engineering Digital Design Flow Using Mentor Graphics Tools Presented by: Sameh Assem Ibrahim 16-October-2003.
Graduate Computer Architecture I Lecture 15: Intro to Reconfigurable Devices.
ECE 272 Xilinx Tutorial. Workshop Goals Learn how to use Xilinx to: Draw a schematic Create a symbol Generate a testbench Simulate your circuit.
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
1 Chapter 7 Design Implementation. 2 Overview 3 Main Steps of an FPGA Design ’ s Implementation Design architecture Defining the structure, interface.
Guest Lecture by Ben Magstadt CprE 281: Digital Logic.
Guest Lecture by Ben Magstadt CprE 281: Digital Logic.
Lecture Note on Verilog, Course # , EE, NTU, C.H Tsai Basic Logic Design with Verilog TA: Chen-han Tsai.
Introduction to FPGA AVI SINGH. Prerequisites Digital Circuit Design - Logic Gates, FlipFlops, Counters, Mux-Demux Familiarity with a procedural programming.
Lecture #3 Page 1 ECE 4110– Sequential Logic Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.No Class Monday, Labor Day Holiday 2.HW#2 assigned.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Lecture #3 Page 1 ECE 4110– Sequential Logic Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.No Class Monday, Labor Day Holiday 2.HW#2 assigned.
Spring Introduction  Today’s tutorial focuses on introducing you to Xilinx ISE and Modelsim.  These tools are used for Verilog Coding Simulation.
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Xilinx Design Flow FPGA Design Flow Workshop.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
FPGA-Based System Design Copyright  2004 Prentice Hall PTR Logic Design Process n Functional/ Non-functional requirements n Mapping into an FPGA n Hardware.
This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
Lecture #3 Page 1 ECE 4110–5110 Digital System Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.HW#2 assigned Due.
Introductory project. Development systems Design Entry –Foundation ISE –Third party tools Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Design.
Introduction to ASIC flow and Verilog HDL
11 EENG 1920 Introduction to VHDL. 22 Hardware Description Language A computer language used to design circuits with text-based descriptions of the circuits.
CprE 281: Verilog Tutorial Ben Magstadt – Master’s Student Electrical Engineering.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
VHDL From Ch. 5 Hardware Description Languages. History 1980’s Schematics 1990’s Hardware Description Languages –Increased due to the use of Programming.
How to use ISE Dept. of Info & Comm. Eng. Prof. Jongbok Lee.
EECE 320 L8: Combinational Logic design Principles 1Chehab, AUB, 2003 EECE 320 Digital Systems Design Lecture 8: Combinational Logic Design Principles.
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
Introduction to Verilog COE 202 Digital Logic Design Dr. Muhamed Mudawar King Fahd University of Petroleum and Minerals.
Introduction to the FPGA and Labs
Hardware Description Languages: Verilog
EECE6017C - Lab 0 Introduction to Altera tools and Basic Digital Logic
ASIC Design Methodology
Complex Programmable Logic Device (CPLD) Architecture and Its Applications
EEE2135 Digital Logic Design Chapter 1. Introduction
Dept. of Electrical and Computer Engineering
Discussion 2: More to discuss
M1.5 Foundation Tools Xilinx XC9500/XL CPLD
Introduction to Programmable Logic
Topics Modeling with hardware description languages (HDLs).
VLSI Testing Lecture 5: Logic Simulation
KARTHIK.S Lecturer/ECE S.N.G.C.E
Dept. of Electronics & Info. Eng. Prof. Jongbok Lee
ECE 4110–5110 Digital System Design
Hardware Description Languages: Verilog
Hardware Description Languages
Topics The logic design process..
Topics Modeling with hardware description languages (HDLs).
Field Programmable Gate Array
Field Programmable Gate Array
Field Programmable Gate Array
Introduction to Verilog
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
3-bit calculator using 7-segment LEDs
Introduction to Digital System and Microprocessor Design
Digital Fundamentals Tenth Edition Floyd Chapter 11.
VHDL Introduction.
HIGH LEVEL SYNTHESIS.
Introduction to Digital System and Microprocessor Design
Founded in Silicon Valley in 1984
CS 153 Logic Design Lab Professor Ian G. Harris
THE ECE 554 XILINX DESIGN PROCESS
Week 6, Multiplexer & Demultiplexer
Digital Designs – What does it take
Chapter 10 Introduction to VHDL
THE ECE 554 XILINX DESIGN PROCESS
COE 202 Introduction to Verilog
Presentation transcript:

Week 5, Verilog & Full Adder Introduction to Digital System and Microprocessor Design Inhwan Lee, Youngtaek Oh, Daehyun Ahn (inhwan301, koyt1126, daehyun.ahn)@postech.ac.kr Mar 20, 2018 1/24

Contents Hardware Design Flow FPGA Verilog: Half Adder Design Exercise: Two Bit Full Adder Design 2/24

Basic Logic Design with Verilog, Kwon Suknam Hardware Design Flow RTL Editor Simulation Logic Synthesis Gate Level Place & Route Post Gate Level Tape Out Designer RTL Code Gate Level Code Physical Layout Chip Verilog Level High Low Cost Basic Logic Design with Verilog, Kwon Suknam 3/24

Area Efficient FPGA Architecture For Datapath Circuits, Omesh Mutukuda A field-programmable gate array (FPGA) an integrated circuit designed to be configured by a customer or a designer after manufacturing Field-Programmable Gate Array, Wikipedia Ref) Field-Programmable Gate Array, Wikipedia Area Efficient FPGA Architecture For Datapath Circuits, Omesh Mutukuda 4/24

FPGA: Pros and Cons (+) Development Efficiency Less time, cost, error correcting for development For testing your Verilog code or need to change design very frequently. (-) Low performance, resource usage, power consumption slow, not for complex system, high power consumption, Large Space … Cost is low for manufacturing (no redundancies) If you want to sell, use ASIC, Application Specific Integrated Circuit, instead) 5/24

Verilog Syntax Hardware Description Language (HDL) Allows for modeling and simulation (with timing) of digital design Can be synthesized into hardware (netlist) by synthesis tools. Two major languages: Verilog, VHDL (Very-high-speed integrated circuits HDL) Verilog: adv. Development Efficiency One of the most popular HDL Less time, cost, error correcting for development For testing your Verilog code or need to change design very frequently. Verilog: dis. Low performance, resource usage, power consumption slow, not for complex system, high power consumption, Large Space … Cost is low for manufacturing (no redundancies) If you want to sell, use ASIC, Application Specific Integrated Circuit, instead) 6/24

Verilog Syntax: Data Types The method for dealing with the digital data in Verilog. There are two basic types: Register/Nets Register => For sequential logic most common type is “reg” the place where data is stored and hold their value before change. Give value in always/initial block. Can be used for latch/flip flops. It does not mean physical register; think it as variable that store value in C. Nets => For combinational logic most common type is “wire” virtual wire that will be physical wire between registers. Not hold value; it just use register’s value. Assign means connect nets with register, gate’s output, or real value. 7/24

Verilog Syntax: Wire Case Register Value of A == value that register hold Wire A Value of D == the gate’s output Wire B Gate Wire D Wire C VDD Value of E == always 1 Wire E GND Value of F == always 0 Wire F 8/24

Verilog: Example (Half Adder) Let’s make Half Adder together step by step.  Please interrupt me when you need any assistance !! Create New Project File – New Project Insert ‘Name’ and ‘Location’ Select Top-level source type ‘HDL’ and then clock ‘Next >’ 9/24

Verilog: Example (Half Adder) Edit the Project Settings following specification (from sheet of the kit) And then click ‘Next’ – ‘Finish’ 10/24

Verilog: Example (Half Adder) Click ‘New Source’ icon to create empty Verilog file. 11/24

Verilog: Example (Half Adder) Select ‘Verilog Module’ to make empty Verilog file. Insert ‘File name’ and choose a proper ‘Location’ Click ‘Next >’ – ‘Next’ – ‘Finish’ 12/24

Verilog: Example (Half Adder) Unit Precision xor Wire c and Wire a Wire b and Assign connects RHS to LHS wire 13/24

Verilog: Example (Half Adder) Run ‘Synthesize’ (Left) You can ‘View RTL Schematic’ (Right) and ‘Check Syntax’ 14/24

Verilog: Example (Half Adder) Let’s simulate the half adder block with ‘testbench’ Click ‘New source’ and select ‘Verilog Test Fixture’ Insert ‘File name’ and click ‘Next >’ 15/24

Verilog: Example (Half Adder) Select Associate Source (where to apply testbench) and then click ‘Next >’ – ‘Finish’ 16/24

Verilog: Example (Half Adder) unit / precision Use ‘reg’ to hold input data ‘initial’ runs when this testbench starts up. #(delay time) 17/24

Verilog: Example (Half Adder) Click ‘Simulate Behavioral Model’ You can confirm simulation result. 18/24

Verilog: Example (Half Adder) Let’s program FPGA. Cheer up, this is the last stage  Run ‘PlanAhead’ to do ‘I/O Pin Planning’ Double-click ‘I/O Pin Planning (PlanAhead) – Pre-Synthesis Click ‘Yes’ – ‘Close’ 19/24

Verilog: Example (Half Adder) Let’s do pin planning referring to FPGA document. (I already uploaded the document on CiTE221 class webpage) 20/24

Verilog: Example (Half Adder) Insert ‘Site’ referring to pin map. File – Save constraints then exit the window Change LED_D(2) site to AF7 21/24

Verilog: Example (Half Adder) Click ‘Implement Design’ and ‘Generate Programming File’ sequently. Double-click ‘Configure Target Device’ and then ‘OK’ 22/24

Verilog: Example (Half Adder) After connect the Kit, double-click the ‘Boundary Scan’. Right click and click ‘Initialize Chain’ Bypass the ‘xcf08p’ and open bit file for ‘xc3s1000’, then program. Test your program using buttons and LEDs on FPGA. 23/24

Two Bit Full Adder Design Let’s make Two Bit Full Adder referring to next One Bit Full Adder Verilog code. Ask us!! We will explain it kindly. 24/24