Implementing Combinational

Slides:



Advertisements
Similar presentations
Tutorial 2 Sequential Logic. Registers A register is basically a D Flip-Flop A D Flip Flop has 3 basic ports. D, Q, and Clock.
Advertisements

VHDL Lecture 1 Megan Peck EECS 443 Spring 08.
Chapter 9 Computer Design Basics. 9-2 Datapaths Reminding A digital system (or a simple computer) contains datapath unit and control unit. Datapath: A.
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.
CS 105 Digital Logic Design
Chap 7. Register Transfers and Datapaths. 7.1 Datapaths and Operations Two types of modules of digital systems –Datapath perform data-processing operations.
EE3A1 Computer Hardware and Digital Design Lecture 6 supplement Common misunderstandings about VHDL processes.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
Digital Logic Design.
ECE 448 – FPGA and ASIC Design with VHDL George Mason University Lab 1 Introduction to Aldec Active HDL Implementing Combinational Logic in VHDL.
EKT 221 : Chapter 4 Computer Design Basics
Digital System Design using VHDL
Lecture 5B Block Diagrams HASH Example.
George Mason University ECE 448 – FPGA and ASIC Design with VHDL VHDL Coding for Synthesis ECE 448 Lecture 12.
Digital Electronics Tutorial: Number System & Arithmetic Circuits Solutions.
What is a program? A sequence of steps
Cpu control.1 2/14 Datapath Components for Lab The Processor! ( th ed)
Elements of Datapath for the fetch and increment The first element we need: a memory unit to store the instructions of a program and supply instructions.
MICROPROCESSOR DETAILS 1 Updated April 2011 ©Paul R. Godin prgodin gmail.com.
ECE 448 – FPGA and ASIC Design with VHDL George Mason University ECE 448 Lab 2 Implementing Combinational Logic in VHDL.
ECE 448 – FPGA and ASIC Design with VHDL George Mason University ECE 448 Lab 1 Implementing Combinational Logic in VHDL.
George Mason University Class Exercise 1B. 2ECE 448 – FPGA and ASIC Design with VHDL Rules If you believe that you know a correct answer, please raise.
Microprocessor & Assembly Language
ECE 448 – FPGA and ASIC Design with VHDL George Mason University ECE 448 Lab 2 Implementing Combinational Logic in VHDL.
CDA 4253 FPGA System Design VHDL Testbench Development Hao Zheng Comp. Sci & Eng USF.
1 Computer Architecture & Assembly Language Spring 2009 Dr. Richard Spillman Lecture 11 – ALU Design.
8085 Microprocessor Architecture
Combinational Circuits
Class Exercise 1B.
RTL Design Methodology Transition from Pseudocode & Interface
ECE 3430 – Intro to Microcomputer Systems
Computer Design Basics
Chap 7. Register Transfers and Datapaths
Homework Reading Machine Projects Labs
Basics of digital systems
INTRODUCTION Overview of Shift Registers
Lecture 16 Arithmetic Circuits
RTL Design Methodology
ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic ECE 448 – FPGA and ASIC Design with VHDL.
Implementing Combinational and Sequential Logic in VHDL
Introduction to ModelSim Implementing Sequential
ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic ECE 448 – FPGA and ASIC Design with VHDL.
RTL Design Methodology
Review of Aldec Active HDL Implementing Combinational
Integer Square Root Lecture L8.0.
Developing More Advanced Testbenches
ECE 448: Spring 2015 Lab 3 FPGA Design Flow Based on Aldec Active-HDL.
ECE 448 Lab 1 Developing Effective Testbenches
ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic ECE 448 – FPGA and ASIC Design with VHDL.
MicroBaby Datapath.
MicroBaby Datapath.
Implementing Combinational
Homework Reading Machine Projects Labs
ECE 448 Lab 1 Developing Effective Testbenches
ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic ECE 448 – FPGA and ASIC Design with VHDL.
Data Flow Description of Combinational-Circuit Building Blocks
Implementing Combinational and Sequential Logic in VHDL
Computer Design Basics
Data Flow Description of Combinational-Circuit Building Blocks
Combinational Circuits
RTL Design Methodology
RTL Design Methodology Transition from Pseudocode & Interface
RTL Design Methodology Transition from Pseudocode & Interface
Pipelined Array Multiplier Aldec Active-HDL Design Flow
RTL Design Methodology Transition from Pseudocode & Interface
Implementing Combinational
Instruction execution and ALU
Computer Operation 6/22/2019.
Chapter 1 Introduction.
Presentation transcript:

Implementing Combinational ECE 448 Lab 2 Implementing Combinational and Sequential Logic in VHDL ECE 448 – FPGA and ASIC Design with VHDL George Mason University

Agenda for today Part 1: Introduction to Lab 2 Implementing Combinational and Sequential Logic in VHDL Part 2: Hands-on Session: Simulation Using Aldec Active-HDL Part 3: Lab Exercise 1

Part 1 Introduction to Lab 2 ECE 448 – FPGA and ASIC Design with VHDL

Discussion of the Diagram, Requirements, and Hints

Interface : Combinational Logic Interface of an 8-bit ALU

Ports Name Mode Width Meaning A IN 8 Input A B Input B Cin 1 Carry In OPCODE 4 Operation Code X OUT Output or Least Significant Byte of Output Y Most Significant Byte of Output or Zero Z Zero Flag Cout Carry out Flag V Overflow Flag F_active Logical OR of Z, Cout and V X_bin_pal Flag set to high when the output X is a binary palindromic number (numbers that remain the same when binary digits are reversed) X_prime Flag set to high when the output X is a prime number   N Flag set to high when the output X is a negative number

Instruction Set OPCODE OPERATION FORMULA Z Cout V X_bin_pal X_prime N 0000 AND X = A AND B ↕  0001 OR X = A OR B 0010 XOR X = A XOR B 0011 XNOR X = A XNOR B 0100 Unsigned Addition (Cout:X) = A + B 0101 Signed Addition X = A + B 0110 Unsigned Addition with Carry (Cout:X) = A + B + Cin 0111 Signed Multiplication (Y:X) = A * B 1000 Unsigned Multiplication 1001 Unsigned Subtraction X = A - B 1010 Rotation Left X = A <<< 1 1011 Rotation Left with Carry (Cout:X) = (Cin:A) <<< 1 1100 Logic Shift Right X = A >> 1 1101 Arithmetic Shift Right 1110 Logic Shift Left X = A << 1 1111 BCD to Binary Conversion (Y:X) = BCD2BIN(B:A)

Interface : Sequential Logic Interface of an ALU_SEQ

Ports Name Mode Width Meaning CLK IN 1 System clock RESET Reset active high I 8 Value of an operand A or B LOAD Loading value at input I to one of the internal registers holding A or B (control signal active for one clock period; the action takes place at the rising edge of the clock) SEL_IN 0: loading register A 1: loading register B   OP 4 Operation mode RUN Writing the result to registers holding X0, X1, Y0, and Y1 (control signal active for one clock period; the action takes place at the rising edge of the clock)

Logical OR of Z, Cout and V. X_bin_pal Name Mode Width Meaning SEL_OUT IN 1 0: R = X 1: R = Y R OUT 8 Digit of a result Z Zero flag. Cout Carry out flag. V Overflow flag. F_active Logical OR of Z, Cout and V. X_bin_pal Flag set to high when the output X is a binary palindromic number (numbers that remain the same when binary digits are reversed) X_prime Flag set to high when the output X is a prime number N Flag set to high when the output X is a negative number

Sequential Logic: Block Diagram of the Datapath

Bonus Task OPCODE OPERATION FORMULA Z Cout V X_bin_pal X_prime N 1010 Variable Rotation Left X = A <<< B ↕  1011 Variable Rotation Left with Carry (Cout:X) = (Cin:A) <<< B 1100 Variable Logic Shift Right X = A >> B 1101 Variable Arithmetic Shift Right with Rounding X = (A >> B) + A(B-1) 1110 Variable Logic Shift Left X = A << B A <<< B = rotation of A left by the number of positions given by a value of B. A << B = shift of A left by the number of positions given by a value of B. A >> B = shift of A right by the number of positions given by a value of B. X = (A >> B) + A(B-1) = An arithmetic shift by the number of positions given by B followed by a rounding operation, which consists of adding the value of the B-1st bit of A to the result of the shift.

Simulation Using Aldec Active-HDL Part 2 Hands-on Session: Simulation Using Aldec Active-HDL ECE 448 – FPGA and ASIC Design with VHDL

based on the MLU example Hands-on Session based on the MLU example with simple testbench

Part 3 Lab Exercise 1 ECE 448 – FPGA and ASIC Design with VHDL

Interface : ALU

ALU: Block Diagram