Combinational Verilog Intro. EECS 270 Labs
|
|
- Sharleen Hardy
- 5 years ago
- Views:
Transcription
1 Combinational Verilog Intro EECS 270 Labs
2 From Schematics to Verilog e-gate-arrays-fpga _US/pdfs/literature/wp/wp pdf
3 Schematics to Verilog cont. a1 module add_half (a, b, s, cout); input a, b; output s, cout; wire s, cout; assign s = a ^ b;assign cout = a & b; endmodule // end of half adder module module add_full (a, b, cin, s, cout); input a, b, cin; output s, cout; wire s, cout; assign s = a ^ b ^ cin; assign cout = (a & b) (a & cin) (b & cin); endmodule // end of full adder module module add_2bit (a, b, s, cout); input [1:0] a, b; output [1:0] s; output cout; wire [1:0] s; wire cout; // Both a and b are 2 bit inputs // s[1] = MSB of s, s[0] = LSB of s wire c0; add_half a1(a[0], b[0], s[0], c0); // intermediate carry between adders add_full a2(a[1], b[1], c0, s[1], cout); endmodule a2
4 Verilog Modular Structure Module Definition: module <module name> (<input list>, <output list>); input <name>, output endmodule Input list and output list (in that order) are comma-separated list of variable names (identifiers) Can define multi-bit signals with type[n:0] name representing a n+1 bit input/output Module Instantiations: <module name> <instance name> (<parameter list>);
5 Verilog Literals <size><base format><number> Size: In decimal, the number of bits of <number> Base Format Options: b binary d decimal o octal h hexadecimal Examples: 549 'h8ff 'o765 4'b11 // 4-bit binary number 'd3 // 5-bit decimal number
6 Macros `define <MACRO_NAME> <literal> a = b & `<MACRO_NAME>; Don t forget the `, same key as tilda on the keyboard. Example: `define FORWARD 7 b ; hex[6:0] = `FORWARD;
7 Behavioral Verilog Operators & Bitwise AND Bitwise OR ~ Bitwise Negation (eg. ~A, ~(A & B), (~A B) ^ Bitwise XOR << n Left shift by n >> n Right shift by n {} Concatenation {a,b,c} puts a, b, and c after one another into a single value {n{m}} makes a single value that is n copies of m, one after the other cond? iftrue : iffalse Ternary (Conditional Operator) assign mux_out = (sel == 1)? in1 : in0; If sel equals 1, mux_out = in1, else mux_out = in0;
8 Structural Verilog Specifically indicates which gates to instantiate AND, OR, XOR, NOT, NAND, NOR <gate type> <instance name> (<output name> <input list>); If output name is a multi-bit signal, multiple instances of the gate will be made Input bit widths must match output bit widths module add_half (a, b, s, cout); input a, b;output s, cout;wire s, cout; xor x1 (s, a, b); and a1 (cout, a, b); endmodule // end of half adder module module add_full (a, b, cin, s, cout); input a, b, cin; output s, cout; wire s, cout; wire ab, ac, bc; // Intermediate AND gate outputs xor x2 (s, a, b, cin); and a2 (ab, a, b); and a3 (ac, a, cin); and a4 (bc, b, cin); or o1 (cout, ab, bc, ac); endmodule // end of full adder module
9 Behavioral vs Structural Verilog A LUT ( Look Up Table) as a truth table Behavioral Verilog takes advantage of LUTs that condense boolean logic to single logic blocks Structural Verilog instantiates individual gates in ea. Logic block University of Florida ECE Department Reconfigurable Architectures
10 Lab 3 Intro EECS 270 Labs
11 Robbie Goal: Drive to a beacon by controlling two wheels Robbie can go straight, right, or left Inputs to Robbie: Sensors on Front, Right and Left Sensor outputs 1 if detects beacon Outputs from Robbie: Right and Left Wheel Motion Each wheel can either go forward (F), or stop (S). Schematic & Verilog Versions, use separate Quartus Projects!
12 Robbie s Rules (Logic) Go straight if Forward beacon sensor or Right and Left sensors are 1 Go right if: Go left if: Stop if: Forward and Right sensors but not Left sensor Right sensor only Forward and Left sensors but not Right sensor Left sensor only Forward, Right, and Left None (All sensors drive low)
13 Controlling Robbie Action Left Wheel Right Wheel Straight Forward Forward Right Forward Stop Left Stop Forward Stop Stop Stop
14 Schematic and Verilog Implementations Sensors: Wheels SW[2] : Left SW[1] : Forward SW[0] : Right LEDR[1] (ON/OFF): Left Wheel Forward/Stopped LEDR[0] (ON/OFF): Right Wheel Forward/Stopped Sensors: Wheels SW[2] : Left SW[1] : Forward SW[0] : Right HEX1 -> F/S: Left Wheel Forward/Stopped HEX0 -> F/S: Right Wheel Forward/Stopped (HEX are active low!)
15 Robbie Verilog Top-level module name must be same as your project name Inputs: Left sensor, forward sensor, right sensor Outputs: [6:0] left wheel drive [6:0] right wheel drive HEX submodules will take a single control bit input (Forward or Stopped) and write to the hex displays Every time you instantiate a new submodule it must have a new instance name E.g. outputsf osf1(<input_parameter_list>,<output_params_list>); outputsf osf2(<input_parameter_list>,<output_params_list>);
16 Quick aside on bit sets/bit strings/busses [n-1:0] a_name = n hfa800f LSB: a_name[0] MSB: a_name[n-1] = 1 output [6:0] lwd, rwd assign lwd = 7 h11 lwd[0] = 1 lwd[4] = 1 lwd[6:5], lwd[3:1] are 0 [0] [1] [2] n n [n-1]
17 Robbie Verilog Top level module name = verilog file name = quartus project name Submodules can be in the same verilog file. FPGA pin assignments ( QSF file ) are made to the top-level-module s inputs and output names E.g. set_location_assignment PIN_H21 -to LEDG[4] Replace LEDG[4] with the output name you used in top level module
18 Renee (no schematic, only verilog) Goal: Drive to the beacon, responding to obstacles Inputs: Beacon Sensors [2:0] 2 sensors, front-left, front-right 3-bit unsigned number: signal strength, higher = closer Bumper Sensors (Active Low) 4 sensors, front, back, right, left Outputs: Wheels Forward (F), Backwards (r), Stop (S) Left Bumper Left Beacon Sensor Front Bumper Renee Back Bumper Right Beacon Sensor Right Bumper
19 Renee s Rules (Logic) First priority is dealing w/obstacles, then head to beacon (Robbie beacon logic) Go forward if Back bumper sensor only is active Right and Left beacon sensors are both not 0 and are both equal strength Go reverse if Go right if: Go left if: Front bumper sensor only is active Left and Back bumpers only are active Right and Back bumpers only are active Go left-back if Right and Front bumpers only are active Right bumper only is active Go right-back if Stop if: Left and Front bumpers only are active Left bumper only is active Right and Left beacon sensors are both 0 Right and Left bumpers are active Top and Bottom bumpers are active
20 Controlling Renee Action Left Wheel Right Wheel Forward Forward Forward Left Stop Forward Right Forward Stop Stop Stop Stop Left Back Stop Reverse Right Back Reverse Stop Reverse Stop Reverse
21 Verilog Implementation Beacon Sensors: SW[6:4] : Left SW[2:0] : Right Note: SW[3] unused Bumper Sensors: Key3 : Left Key0 : Right Key2: Front Key1 : Back Note: Buttons are Active low, collision occurs if key is pressed (like an actual bumper) Wheels HEX1 -> F/S/r: Left Wheel Forward/Stopped/reverse HEX0 -> F/S/r: Right Wheel Forward/Stopped/reverse Note: r is displayed as segments 4 & 6 on the hex.
22 Renee Verilog Notes Top level module name = verilog file name = quartus project name renee renee.v renee.qpf module renee(ls,rs,fb,rb,lb,bb,lwd,rwd); input [2:0] ls,rs; //Beacon sensors input fb, rb, lb, bb; //Bumper sensors output [6:0]lwd,rwd; //wheel outputs
23 Renee Verilog Hints Don t try to write a truth table for Renee, think about the logic description in english and how ifs may translate to ands, ors, etc. in verilog Make intermediate results, be ~modular~ Ideas: Modules to represent sensor/ bumper driven modes? Module to compare the sensor values? Module to determine where beacon is? Use a submodule to manage hex, like Robbie s but with edits for reverse No conditionals allowed in this lab (if, else) Declare hex outputs as sets in Verilog (i.e. output [6:0] lwd) so they can be displayed as a bus on the simulation waveform.
24 In-Lab and Post-Lab Deliverables In-Lab Demo Part 1: Robbie Verilog running on DE2 board In-Lab Demo Part 2: Renee running on DE2 board (Signed separate from part 1), due the week after demo part 1 Post Lab: Robbie functional sim waveform and testbench Post Lab: Renee functional sim waveform and testbench for given test cases For both sims display wheels as a bus ( see bottom for what this should look like ) Post Lab: Verilog code for Robbie and Renee Post Lab: Questions in Post Lab Post Lab is due the week after Demo Part 2. Example of what a simulation displaying the output as a bus looks like. You will achieve this by labeling the output as a bus in the testbench (using [6:0] instead of listing each segment of the display)
14:332:231 DIGITAL LOGIC DESIGN. Hardware Description Languages
14:332:231 DIGITAL LOGIC DESIGN Ivan Marsic, Rutgers University Electrical & Computer Engineering Fall 2013 Lecture #22: Introduction to Verilog Hardware Description Languages Basic idea: Language constructs
More informationSpiral 1 / Unit 4 Verilog HDL. Digital Circuit Design Steps. Digital Circuit Design OVERVIEW. Mark Redekopp. Description. Verification.
1-4.1 1-4.2 Spiral 1 / Unit 4 Verilog HDL Mark Redekopp OVERVIEW 1-4.3 1-4.4 Digital Circuit Design Steps Digital Circuit Design Description Design and computer-entry of circuit Verification Input Stimulus
More informationDesign Using Verilog
EGC220 Design Using Verilog Baback Izadi Division of Engineering Programs bai@engr.newpaltz.edu Basic Verilog Lexical Convention Lexical convention are close to C++. Comment // to the of the line. /* to
More informationComputer Aided Design Basic Syntax Gate Level Modeling Behavioral Modeling. Verilog
Verilog Radek Pelánek and Šimon Řeřucha Contents 1 Computer Aided Design 2 Basic Syntax 3 Gate Level Modeling 4 Behavioral Modeling Computer Aided Design Hardware Description Languages (HDL) Verilog C
More informationECEN 468 Advanced Digital System Design
ECEN 468 Advanced Digital System Design Lecture 19: Logic Design with Verilog Verilog Module v Description of internal structure/function o Implicit semantic of time associated with each data object/ signal
More informationA Verilog Primer. An Overview of Verilog for Digital Design and Simulation
A Verilog Primer An Overview of Verilog for Digital Design and Simulation John Wright Vighnesh Iyer Department of Electrical Engineering and Computer Sciences College of Engineering, University of California,
More informationEngineering 303 Digital Logic Design Fall 2018
Engineering 303 Digital Logic Design Fall 2018 LAB 4: Seven Seg, Full Adder, Ripple Adder, Heirarchical Design Build the following designs and verify correct operation. This lab uses hierarchical design.
More informationLAB 4: Seven Seg, Full Adder, Ripple Adder, Heirarchical Design
Engineering 303 Digital Logic Design LAB 4: Seven Seg, Full Adder, Ripple Adder, Heirarchical Design Build the following designs and verify correct operation. This lab uses hierarchical design. Review
More informationSpeaker: Shao-Wei Feng Adviser: Prof. An-Yeu Wu Date: 2010/09/28
99-1 Under-Graduate Project Verilog Simulation & Debugging Tools Speaker: Shao-Wei Feng Adviser: Prof. An-Yeu Wu Date: 2010/09/28 ACCESS IC LAB Outline Basic Concept of Verilog HDL Gate Level Modeling
More informationVerilog Module 1 Introduction and Combinational Logic
Verilog Module 1 Introduction and Combinational Logic Jim Duckworth ECE Department, WPI 1 Module 1 Verilog background 1983: Gateway Design Automation released Verilog HDL Verilog and simulator 1985: Verilog
More informationExperiment 7 Arithmetic Circuits Design and Implementation
Experiment 7 Arithmetic Circuits Design and Implementation Introduction: Addition is just what you would expect in computers. Digits are added bit by bit from right to left, with carries passed to the
More informationECE 353 Lab 3 (Verilog Design Approach)
ECE 353 Lab 3 (Verilog Design Approach) Prof Daniel Holcomb Recall What You Will Do Design and implement a serial MIDI receiver Hardware in an Altera Complex Programmable Logic Device (CPLD) MAX 7000S
More informationVerilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design
Verilog What is Verilog? Hardware description language: Are used to describe digital system in text form Used for modeling, simulation, design Two major languages Verilog (IEEE 1364), latest version is
More informationIntroduction to Verilog design. Design flow (from the book)
Introduction to Verilog design Lecture 2 ECE 156A 1 Design flow (from the book) ECE 156A 2 1 Hierarchical Design Chip Modules Cells Primitives A chip contain many modules A module may contain other modules
More informationDigital Design with FPGAs. By Neeraj Kulkarni
Digital Design with FPGAs By Neeraj Kulkarni Some Basic Electronics Basic Elements: Gates: And, Or, Nor, Nand, Xor.. Memory elements: Flip Flops, Registers.. Techniques to design a circuit using basic
More informationCombinational Logic Design with Verilog. ECE 152A Winter 2012
Combinational Logic Design with Verilog ECE 152A Winter 2012 Reading Assignment Brown and Vranesic 2 Introduction to Logic Circuits 2.10 Introduction to Verilog 2.10.1 Structural Specification of Logic
More informationLab 4: Arithmetic Logic Unit (ALU)
EE 231-1 - Fall 2016 Lab 4: Arithmetic Logic Unit (ALU) Introduction The heart of every computer is an Arithmetic Logic Unit (ALU). This is the part of the computer which performs arithmetic operations
More informationECE 353 Lab 4. Verilog Review. Professor Daniel Holcomb With material by Professor Moritz and Kundu UMass Amherst Fall 2016
ECE 353 Lab 4 Verilog Review Professor Daniel Holcomb With material by Professor Moritz and Kundu UMass Amherst Fall 2016 Recall What You Will Do Design and implement a serial MIDI receiver Hardware in
More informationLecture #2: Verilog HDL
Lecture #2: Verilog HDL Paul Hartke Phartke@stanford.edu Stanford EE183 April 8, 2002 EE183 Design Process Understand problem and generate block diagram of solution Code block diagram in verilog HDL Synthesize
More informationFPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language. Reference: [1]
FPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language Reference: [] FIELD PROGRAMMABLE GATE ARRAY FPGA is a hardware logic device that is programmable Logic functions may be programmed
More informationEN2911X: Reconfigurable Computing Topic 02: Hardware Definition Languages
EN2911X: Reconfigurable Computing Topic 02: Hardware Definition Languages Professor Sherief Reda http://scale.engin.brown.edu School of Engineering Brown University Spring 2014 1 Introduction to Verilog
More informationHardware description languages
Specifying digital circuits Schematics (what we ve done so far) Structural description Describe circuit as interconnected elements Build complex circuits using hierarchy Large circuits are unreadable Hardware
More informationECE 353 Lab 4. Verilog Review. Professor Daniel Holcomb UMass Amherst Fall 2017
ECE 353 Lab 4 Verilog Review Professor Daniel Holcomb UMass Amherst Fall 2017 What You Will Do In Lab 4 Design and implement a serial MIDI receiver Hardware in an Altera Complex Programmable Logic Device
More informationFPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1
FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 Anurag Dwivedi Digital Design : Bottom Up Approach Basic Block - Gates Digital Design : Bottom Up Approach Gates -> Flip Flops Digital
More informationIntroduction to Verilog design. Design flow (from the book) Hierarchical Design. Lecture 2
Introduction to Verilog design Lecture 2 ECE 156A 1 Design flow (from the book) ECE 156A 2 Hierarchical Design Chip Modules Cells Primitives A chip contain many modules A module may contain other modules
More informationPhysics 364, Fall 2012, reading due your answers to before the end of Wednesday s lab.
Physics 364, Fall 2012, reading due 2012-11-28. Email your answers to ashmansk@hep.upenn.edu before the end of Wednesday s lab. Course materials and schedule are at http://positron.hep.upenn.edu/p364 Assignment:
More informationUniversity of California, Davis Department of Electrical and Computer Engineering. Lab 1: Implementing Combinational Logic in the MAX10 FPGA
1 University of California, Davis Department of Electrical and Computer Engineering EEC180B DIGITAL SYSTEMS II Winter Quarter 2018 Lab 1: Implementing Combinational Logic in the MAX10 FPGA Objective: This
More informationENEE245 Digital Circuits and Systems Lab Manual
ENEE245 Digital Circuits and Systems Lab Manual Department of Engineering, Physical & Computer Sciences Montgomery College Modified Fall 2017 Copyright Prof. Lan Xiang (Do not distribute without permission)
More informationLab #1. Topics. 3. Introduction to Verilog 2/8/ Programmable logic. 2. Design Flow. 3. Verilog --- A Hardware Description Language
Lab #1 Lecture 8, 9, &10: FPGA Dataflow and Verilog Modeling February 9, 11, 13, 2015 Prof R Iris Bahar Lab #1 is posted on the webpage wwwbrownedu/departments/engineering/courses/engn1640 Note for problem
More informationEN2911X: Reconfigurable Computing Lecture 05: Verilog (2)
EN2911X: Lecture 05: Verilog (2) Prof. Sherief Reda Division of Engineering, Brown University Fall 09 http://scale.engin.brown.edu Dataflow modeling Module is designed by specifying the data flow, where
More informationIntroduction to Verilog
Introduction to Verilog Structure of a Verilog Program A Verilog program is structured as a set of modules, which may represent anything from a collection of logic gates to a complete system. A module
More informationEMT1250 LABORATORY EXPERIMENT. EXPERIMENT # 10: Implementing Binary Adders. Name: Date:
EXPERIMENT # 10: Implementing Binary Adders Name: Date: Equipment/Parts Needed: PC (Altera Quartus II V9.1 installed) DE-2 board Objective: Design a half adder by extracting the Boolean equation from a
More informationEET 1131 Lab #7 Arithmetic Circuits
Name Equipment and Components Safety glasses ETS-7000 Digital-Analog Training System Integrated Circuits: 7483, 74181 Quartus II software and Altera DE2-115 board Multisim simulation software EET 1131
More informationEE 8351 Digital Logic Circuits Ms.J.Jayaudhaya, ASP/EEE
EE 8351 Digital Logic Circuits Ms.J.Jayaudhaya, ASP/EEE 1 Logic circuits for digital systems may be combinational or sequential. A combinational circuit consists of input variables, logic gates, and output
More informationFederal Urdu University of Arts, Science and Technology, Islamabad VLSI SYSTEM DESIGN. Prepared By: Engr. Yousaf Hameed.
VLSI SYSTEM DESIGN Prepared By: Engr. Yousaf Hameed Lab Engineer BASIC ELECTRICAL & DIGITAL SYSTEMS LAB DEPARTMENT OF ELECTRICAL ENGINEERING VLSI System Design 1 LAB 01 Schematic Introduction to DSCH and
More informationENEE245 Digital Circuits and Systems Lab Manual
ENEE245 Digital Circuits and Systems Lab Manual Department of Engineering, Physical & Computer Sciences Montgomery College Version 1.1 Copyright Prof. Lan Xiang (Do not distribute without permission) 1
More informationPhysics 364, Fall 2014, reading due your answers to by 11pm on Sunday
Physics 364, Fall 2014, reading due 2014-11-23. Email your answers to ashmansk@hep.upenn.edu by 11pm on Sunday Course materials and schedule are at positron.hep.upenn.edu/p364 Assignment: (a) First read
More informationHardware Description Languages: Verilog. Quick History of HDLs. Verilog/VHDL. Design Methodology. Verilog Introduction. Verilog.
Hardware Description Languages: Verilog Quick History of HDLs Verilog Structural Models (Combinational) Behavioral Models Syntax Examples CS 150 - Fall 2005 - Lecture #4: Verilog - 1 ISP (circa 1977) -
More informationHardware Description Languages: Verilog
Hardware Description Languages: Verilog Verilog Structural Models (Combinational) Behavioral Models Syntax Examples CS 150 - Fall 2005 - Lecture #4: Verilog - 1 Quick History of HDLs ISP (circa 1977) -
More informationIntroduction to Verilog/System Verilog
NTUEE DCLAB Feb. 27, 2018 Introduction to Verilog/System Verilog Presenter: Yao-Pin Wang 王耀斌 Advisor: Prof. Chia-Hsiang Yang 楊家驤 Dept. of Electrical Engineering, NTU National Taiwan University What is
More informationDIGITAL SYSTEM DESIGN
DIGITAL SYSTEM DESIGN Prepared By: Engr. Yousaf Hameed Lab Engineer BASIC ELECTRICAL & DIGITAL SYSTEMS LAB DEPARTMENT OF ELECTRICAL ENGINEERING Digital System Design 1 Name: Registration No: Roll No: Semester:
More informationDepartment of Computer Science and Electrical Engineering. Intro to Verilog II
Department of Computer Science and Electrical Engineering Intro to Verilog II http://6004.csail.mit.edu/6.371/handouts/l0{2,3,4}.pdf http://www.asic-world.com/verilog/ http://www.verilogtutorial.info/
More informationstructure syntax different levels of abstraction
This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital
More informationHere 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
This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital
More informationVerilog. Reminder: Lab #1 due tonight! Fall 2008 Lecture 3
Verilog Hardware Description Languages Verilog -- structural: modules, instances -- dataflow: continuous assignment -- sequential behavior: always blocks -- pitfalls -- other useful features Reminder:
More informationIn this lecture, we will go beyond the basic Verilog syntax and examine how flipflops and other clocked circuits are specified.
1 In this lecture, we will go beyond the basic Verilog syntax and examine how flipflops and other clocked circuits are specified. I will also introduce the idea of a testbench as part of a design specification.
More informationLaboratory Exercise 1
Laboratory Exercise 1 Switches, Lights, and Multiplexers The purpose of this exercise is to learn how to connect simple input and output devices to an FPGA chip and implement a circuit that uses these
More information271/469 Verilog Tutorial
271/469 Verilog Tutorial Prof. Scott Hauck, last revised 8/14/17 Introduction The following tutorial is inted to get you going quickly in circuit design in Verilog. It isn t a comprehensive guide to System
More informationMicrocomputers. Outline. Number Systems and Digital Logic Review
Microcomputers Number Systems and Digital Logic Review Lecture 1-1 Outline Number systems and formats Common number systems Base Conversion Integer representation Signed integer representation Binary coded
More informationWhat is Verilog HDL? Lecture 1: Verilog HDL Introduction. Basic Design Methodology. What is VHDL? Requirements
What is Verilog HDL? Lecture 1: Verilog HDL Introduction Verilog Hardware Description Language(HDL)? A high-level computer language can model, represent and simulate digital design Hardware concurrency
More informationDesign of Digital Circuits Lecture 6: Combinational Logic, Hardware Description Lang. & Verilog. Prof. Onur Mutlu ETH Zurich Spring March 2018
Design of Digital Circuits Lecture 6: Combinational Logic, Hardware Description Lang. & Verilog Prof. Onur Mutlu ETH Zurich Spring 2018 9 March 2018 Required Lecture Video Why study computer architecture?
More informationL3: Introduction to Verilog (Combinational Logic)
L3: Introduction to Verilog (Combinational Logic) Courtesy of Rex in. Used with permission. Verilog References: Samir Palnitkar, Verilog HDL, Pearson Education (2nd edition). Donald Thomas, Philip oorby,
More informationLAB K Basic Verilog Programming
LAB K Basic Verilog Programming Perform the following groups of tasks: LabK1.v 1. Create a directory to hold the files of this lab. 2. Launch your favourite editor and a command-prompt console; you will
More informationLecture 2: Data Types, Modeling Combinational Logic in Verilog HDL. Variables and Logic Value Set. Data Types. Why use an HDL?
Why use an HDL? Lecture 2: Data Types, Modeling Combinational Logic in Verilog HDL Increase digital design engineer s productivity (from Dataquest) Behavioral HDL RTL HDL Gates Transistors 2K 10K gates/week
More informationECEN 468 Advanced Logic Design
ECEN 468 Advanced Logic Design Lecture 26: Verilog Operators ECEN 468 Lecture 26 Operators Operator Number of Operands Result Arithmetic 2 Binary word Bitwise 2 Binary word Reduction 1 Bit Logical 2 Boolean
More informationL3: Introduction to Verilog (Combinational Logic)
L3: Introduction to Verilog (Combinational Logic) Acknowledgements: aterials in this lecture are courtesy of the following sources and are used with permission. Rex in Verilog References: Samir Palnitkar,
More informationChap 3. Modeling structure & basic concept of Verilog HDL
Chap 3. Modeling structure & basic concept of Verilog HDL Fall semester, 2016 Prof. Jaeseok Kim School of Electrical & Electronics Eng. Yonsei university jaekim@yonsei.ac.kr Digital System Design 3-1 Chapter
More information! ISP (circa 1977) - research project at CMU " Simulation, but no synthesis
Hardware Description Languages: Verilog! Verilog " Structural Models " (Combinational) Behavioral Models " Syntax " Examples Quick History of HDLs! ISP (circa 1977) - research project at CMU " Simulation,
More informationLab 3: Standard Combinational Components
Lab 3: Standard Combinational Components Purpose In this lab you will implement several combinational circuits on the DE1 development board to test and verify their operations. Introduction Using a high-level
More informationLab 2 EECE473 Computer Organization & Architecture University of Maine
Lab 2: Verilog Programming Instructor: Yifeng Zhu 50 Points Objectives: 1. Quatus II Programming assignment: PIN assignments, LEDs, switches; 2. Download and test the design on Altera DE2 board 3. Create
More informationWorkshop on Digital Circuit Design in FPGA
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
More informationECE 152A LABORATORY 2
ECE 152A LABORATORY 2 Objectives : 1. Understand the trade-off between time- and space-efficiency in the design of adders. In this lab, adders operate on unsigned numbers. 2. Learn how to write Verilog
More informationa, b sum module add32 sum vector bus sum[31:0] sum[0] sum[31]. sum[7:0] sum sum overflow module add32_carry assign
I hope you have completed Part 1 of the Experiment. This lecture leads you to Part 2 of the experiment and hopefully helps you with your progress to Part 2. It covers a number of topics: 1. How do we specify
More informationENGN1640: Design of Computing Systems Topic 02: Lab Foundations
ENGN1640: Design of Computing Systems Topic 02: Lab Foundations Professor Sherief Reda http://scale.engin.brown.edu School of Engineering Brown University Spring 2014 1 Topics 1. Programmable logic 2.
More information1. Mark the correct statement(s)
1. Mark the correct statement(s) 1.1 A theorem in Boolean algebra: a) Can easily be proved by e.g. logic induction b) Is a logical statement that is assumed to be true, c) Can be contradicted by another
More informationECE 4514 Digital Design II. Spring Lecture 7: Dataflow Modeling
ECE 4514 Digital Design II Lecture 7: Dataflow Modeling A language Lecture Today's topic Dataflow Modeling input input input module output output Model with submodules and gates = Structural Model with
More informationHDLs and SystemVerilog. Digital Computer Design
HDLs and SystemVerilog Digital Computer Design Logic Arrays Gates can be organized into regular arrays. If the connections are made programmable, these logic arrays can be configured to perform any function
More informationAdvanced Digital Design with the Verilog HDL
Copyright 2001, 2003 MD Ciletti 1 Advanced Digital Design with the Verilog HDL M. D. Ciletti Department of Electrical and Computer Engineering University of Colorado Colorado Springs, Colorado ciletti@vlsic.uccs.edu
More informationSoftware Engineering 2DA4. Slides 2: Introduction to Logic Circuits
Software Engineering 2DA4 Slides 2: Introduction to Logic Circuits Dr. Ryan Leduc Department of Computing and Software McMaster University Material based on S. Brown and Z. Vranesic, Fundamentals of Digital
More informationSWITCHING THEORY AND LOGIC CIRCUITS
SWITCHING THEORY AND LOGIC CIRCUITS COURSE OBJECTIVES. To understand the concepts and techniques associated with the number systems and codes 2. To understand the simplification methods (Boolean algebra
More informationTutorial on Verilog HDL
Tutorial on Verilog HDL HDL Hardware Description Languages Widely used in logic design Verilog and VHDL Describe hardware using code Document logic functions Simulate logic before building Synthesize code
More informationECE2029: Introduction to Digital Circuit Design. Lab 2 Implementing Combinational Functional Blocks
ECE2029: Introduction to Digital Circuit Design Lab 2 Implementing Combinational Functional Blocks Objective: In this lab exercise you will simulate, test, and download various digital circuits which implement
More informationAdvanced Digital Design Using FPGA. Dr. Shahrokh Abadi
Advanced Digital Design Using FPGA Dr. Shahrokh Abadi 1 Venue Computer Lab: Tuesdays 10 12 am (Fixed) Computer Lab: Wednesday 10-12 am (Every other odd weeks) Note: Due to some unpredicted problems with
More informationCSE140L: Components and Design Techniques for Digital Systems Lab. Verilog HDL. Instructor: Mohsen Imani UC San Diego. Source: Eric Crabill, Xilinx
CSE140L: Components and Design Techniques for Digital Systems Lab Verilog HDL Instructor: Mohsen Imani UC San Diego Source: Eric Crabill, Xilinx 1 Hardware description languages Used to describe & model
More informationVerilog HDL Introduction
EEE3050 Theory on Computer Architectures (Spring 2017) Prof. Jinkyu Jeong Verilog HDL Introduction 2017.05.14 TA 이규선 (GYUSUN LEE) / 안민우 (MINWOO AHN) Modules The Module Concept Basic design unit Modules
More informationEE292: Fundamentals of ECE
EE292: Fundamentals of ECE Fall 2012 TTh 10:00-11:15 SEB 1242 Lecture 22 121115 http://www.ee.unlv.edu/~b1morris/ee292/ 2 Outline Review Binary Number Representation Binary Arithmetic Combinatorial Logic
More informationECE468 Computer Organization & Architecture. The Design Process & ALU Design
ECE6 Computer Organization & Architecture The Design Process & Design The Design Process "To Design Is To Represent" Design activity yields description/representation of an object -- Traditional craftsman
More informationMPLEMENTATION. Part 1: Implementation of the TOC on the DE2 Board using Verilog - Performed in Lab #1
ERILOG ESCRIPTION AND MPLEMENTATION OF THE ASIC Part 1: Implementation of the TOC on the DE2 Board using Verilog - Performed in Lab #1 Part 2: Extend the TOC to Achieve a 4-Bit Processor - Done in Other
More informationDigital Circuit Design and Language. Datapath Design. Chang, Ik Joon Kyunghee University
Digital Circuit Design and Language Datapath Design Chang, Ik Joon Kyunghee University Typical Synchronous Design + Control Section : Finite State Machine + Data Section: Adder, Multiplier, Shift Register
More informationHardware description language (HDL)
Hardware description language (HDL) A hardware description language (HDL) is a computer-based language that describes the hardware of digital systems in a textual form. It resembles an ordinary computer
More informationThis Lecture. Some components (useful for the homework) Verilog HDL (will continue next lecture)
Last Lecture The basic component of a digital circuit is the MOS transistor Transistor have instrinsic resistance and capacitance, so voltage values in the circuit take some time to change ( delay ) There
More informationOutline. EECS150 - Digital Design Lecture 5 - Verilog 2. Structural Model: 2-to1 mux. Structural Model - XOR. Verilog Basics Lots of Examples
Outline EECS150 - Digital Design Lecture 5 - Verilog 2 Verilog Basics Lots of Examples February 1, 2005 John Wawrzynek Spring 2005 EECS150 - Lec05-Verilog2 Page 1 Spring 2005 EECS150 - Lec05-Verilog2 Page
More informationVERILOG 2: LANGUAGE BASICS
VERILOG 2: LANGUAGE BASICS Verilog module Modules are basic building blocks. These are two example module definitions which you should use: // Safer traditional method module abc (in1, in2, out); input
More informationN-input EX-NOR gate. N-output inverter. N-input NOR gate
Hardware Description Language HDL Introduction HDL is a hardware description language used to design and document electronic systems. HDL allows designers to design at various levels of abstraction. It
More informationChapter 3: Dataflow Modeling
Chapter 3: Dataflow Modeling Prof. Soo-Ik Chae Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008, John Wiley 3-1 Objectives After completing this chapter, you will be able to: Describe
More informationECE Digital System Design & Synthesis Exercise 1 - Logic Values, Data Types & Operators - With Answers
ECE 601 - Digital System Design & Synthesis Exercise 1 - Logic Values, Data Types & Operators - With Answers Fall 2001 Final Version (Important changes from original posted Exercise 1 shown in color) Variables
More informationVeriolog Overview. CS/EE 3710 Fall 2010
Veriolog Overview CS/EE 3710 Fall 2010 Hardware Description Languages HDL Designed to be an alternative to schematics for describing hardware systems Two main survivors VHDL Commissioned by DOD Based on
More informationENGIN 241 Digital Systems with Lab
ENGIN 241 Digital Systems with Lab (4) Dr. Honggang Zhang Engineering Department University of Massachusetts Boston 1 Introduction Hardware description language (HDL): Specifies logic function only Computer-aided
More informationENGN1640: Design of Computing Systems Topic 02: Design/Lab Foundations
ENGN1640: Design of Computing Systems Topic 02: Design/Lab Foundations Professor Sherief Reda http://scale.engin.brown.edu School of Engineering Brown University Spring 2016 1 Topics 1. Programmable logic
More informationArithmetic Operators There are two types of operators: binary and unary Binary operators:
Verilog operators operate on several data types to produce an output Not all Verilog operators are synthesible (can produce gates) Some operators are similar to those in the C language Remember, you are
More informationEE 231 Fall Lab 1: Introduction to Verilog HDL and Altera IDE
Lab 1: Introduction to Verilog HDL and Altera IDE Introduction In this lab you will design simple circuits by programming the Field-Programmable Gate Array (FPGA). At the end of the lab you should be able
More informationContents. Appendix D Verilog Summary Page 1 of 16
Appix D Verilog Summary Page 1 of 16 Contents Appix D Verilog Summary... 2 D.1 Basic Language Elements... 2 D.1.1 Keywords... 2 D.1.2 Comments... 2 D.1.3 Identifiers... 2 D.1.4 Numbers and Strings... 3
More informationTopics. Midterm Finish Chapter 7
Lecture 9 Topics Midterm Finish Chapter 7 ROM (review) Memory device in which permanent binary information is stored. Example: 32 x 8 ROM Five input lines (2 5 = 32) 32 outputs, each representing a memory
More informationCombinational Logic II
Combinational Logic II Ranga Rodrigo July 26, 2009 1 Binary Adder-Subtractor Digital computers perform variety of information processing tasks. Among the functions encountered are the various arithmetic
More informationSystems Programming. Lecture 2 Review of Computer Architecture I
Systems Programming www.atomicrhubarb.com/systems Lecture 2 Review of Computer Architecture I In The Book Patt & Patel Chapter 1,2,3 (review) Outline Binary Bit Numbering Logical operations 2's complement
More informationThis podcast will demonstrate a logical approach as to how a computer adds through logical gates.
This podcast will demonstrate a logical approach as to how a computer adds through logical gates. A computer is a programmable machine that receives input, stores and manipulates data, and provides output
More informationCombinational Circuits
Combinational Circuits Combinational circuit consists of an interconnection of logic gates They react to their inputs and produce their outputs by transforming binary information n input binary variables
More informationUniversity of California, Davis Department of Electrical and Computer Engineering. EEC180B DIGITAL SYSTEMS Spring Quarter 2018
University of California, Davis Department of Electrical and Computer Engineering EEC180B DIGITAL SYSTEMS Spring Quarter 2018 LAB 2: FPGA Synthesis and Combinational Logic Design Objective: This lab covers
More informationRelease 0.8. Multi-Purpose Light Unit Technical Reference Manual
Release 0.8 Multi-Purpose Light Unit Technical Reference Manual INTRODUCTION Introduction The Multi-Purpose Light unit is a multi-function DCC decoder that supports the following: DCC Characteristics 14
More information1. Prove that if you have tri-state buffers and inverters, you can build any combinational logic circuit. [4]
HW 3 Answer Key 1. Prove that if you have tri-state buffers and inverters, you can build any combinational logic circuit. [4] You can build a NAND gate from tri-state buffers and inverters and thus you
More information