Lab 1 Calculator Overview CSE 45493-2 Functional Verification SUNY New Paltz.

Slides:



Advertisements
Similar presentations
Calculator 3: Transformation to an ALU! Design specs.
Advertisements

EECS150 Lab Lecture #61 AC97 PCM Audio EECS150 Fall 2007– Lab Lecture #6 Udam Saini 10/05/2007.
L18 – VHDL for other counters and controllers. Other counters  More examples Gray Code counter Controlled counters  Up down counter  Ref: text Unit.
Calculator Lab Exercises Bruce Wile, IBM Design Automation Conference Sunday, June 9, 2002.
1 ALUs. 2 Topics: ALU Overview - core of the integer datapath - 2 operands, 32-bits wide, plus control signals Exercise: A simple multiplier.
Calculator Design n Calculator has 4 functions: è Add è Subtract è Shift left è Shift right n Calculator can handle 4 requests in parallel è All 4 requestors.
Instruction Set Architecture & Design
Select “Check Design Rules” and double click.. Screen after double clicking on “Check Design Rules”
ECE – 329 Fall 2007 Lab Manual for Xilinx Example: Design and simulation of a Half Adder Instructor: Dr.Botros.
TECH CH03 System Buses Computer Components Computer Function
Configuration. Mirjana Stojanovic Process of loading bitstream of a design into the configuration memory. Bitstream is the transmission.
Group 7 Jhonathan Briceño Reginal Etienne Christian Kruger Felix Martinez Dane Minott Immer S Rivera Ander Sahonero.
Lecture #5 In this lecture we will introduce the sequential circuits.
INTERRUPTS PROGRAMMING
MIPS Instruction Set Advantages
Guest Lecture by Ben Magstadt CprE 281: Digital Logic.
CS-334: Computer Architecture
Guest Lecture by Ben Magstadt CprE 281: Digital Logic.
THE COMPUTER SYSTEM. Lecture Objectives Computer functions – Instruction fetch & execute – Interrupt Handling – I/O functions Interconnections Computer.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Graduate Computer Architecture I VHDL Structure and Testing Michael Sorensen.
VHDL IE- CSE. What do you understand by VHDL??  VHDL stands for VHSIC (Very High Speed Integrated Circuits) Hardware Description Language.
I2C Master Core Simulation Environment. I2C Master Core Requirements Coverage (*) Requirement I2C IP RS-906: The I2C IP shall define the period of time,
Computer Architecture Lecture 2 System Buses. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given.
EEE440 Computer Architecture
The FPX KCPSM Module Exercise 1 Henry Fu The FPX KCPSM Module Exercise: Network Data Encryption / Decryption Using ROT13 Algorithm Henry Fu Washington.
Fall 08, Oct 31ELEC Lecture 8 (Updated) 1 Lecture 8: Design, Simulation Synthesis and Test Tools ELEC 2200: Digital Logic Circuits Nitin Yogi
Introduction to PG & LA 數位電路實驗 TA: 吳柏辰 Author: Trumen.
Simulating a Verilog Description module bigtest;. calc1_top D1(out_data1, out_data2, out_data3, out_data4, out_resp1, out_resp2, out_resp3, out_resp4,
Electrical and Computer Engineering University of Cyprus LAB 1: VHDL.
Z80 Overview internal architecture and major elements of the Z80 CPU.
Using Simulator With Undertow Suite. Source environment variables For example, envsource has all the environment variables set up. You can change the.
80386DX functional Block Diagram PIN Description Register set Flags Physical address space Data types.
 Seattle Pacific University EE Logic System DesignCounters-1 Shift Registers DQ clk DQ DQ ShiftIn Q3Q3 Q2Q2 DQ Q1Q1 Q0Q0 A shift register shifts.
Antelope Progress MMU and Cache->Datapath interfaces almost complete Datapath moving slowly, control issues keep surfacing Hazard Detection/Prevention.
Digital System Design using VHDL
Calculator Lab Exercises Bruce Wile, IBM Design Automation Conference Sunday, June 9, 2002.
CSE/CoE 535 : Attig 1 ModelSim Tutorial for CSE 535 Michael Attig
Copyright (c) 2003 by Valery Sklyarov and Iouliia Skliarova: DETUA, IEETA, Aveiro University, Portugal.
VHDL Project I: Serial Adder Matthew Murach Slides Available at:
EE694v - Verification - Lect Lect 12,13,14 – 762 Testbenches Lets look at the EE 762 testbenches Look at stimulus generation techniques Look at response.
Group 1 chapter 3 Alex Francisco Mario Palomino Mohammed Ur-Rehman Maria Lopez.
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.
Calculator Overview Functional Verification. Calculator Design n Calculator has 4 functions: Add Subtract Shift left Shift right n Calculator can handle.
Chapter 3 System Buses.  Hardwired systems are inflexible  General purpose hardware can do different tasks, given correct control signals  Instead.
CprE 281: Verilog Tutorial Ben Magstadt – Master’s Student Electrical Engineering.
1 VHDL & Verilog Simulator. Modelsim. 2 Change the directory to where your files exist (All of the files must be in a same folder). Modelsim.
Tutorial for Modelsim 1 Installation Download the Modelsim Student Edition: Follow the.
Computer Architecture. Top level of Computer A top level of computer consists of CPU, memory, an I/O components, with one or more modules of each type.
VLSI Synthesis and Simulation Tools Nitin Yogi 01/09/2009
EE694v - Verification - Lect 12
Implementing Combinational
Combinational Circuits
MIPS Instruction Set Advantages
Basic Processor Structure/design
Lect 11 - Stimulus & Response
CHAPTER 17 VHDL FOR SEQUENTIAL LOGIC
TODAY’S OUTLINE Testbench Circuit Verilog Operators
Chapter 3 Top Level View of Computer Function and Interconnection
Developing More Advanced Testbenches
CPRE 583 Reconfigurable Computing (Tools overview)
Lect 11 - Stimulus & Response
Lecture #5 In this lecture we will introduce the sequential circuits.
Modelsim Simulation & Example VHDL Testbench
Presentation transcript:

Lab 1 Calculator Overview CSE Functional Verification SUNY New Paltz

Specification n Calculator has 4 functions: Add Subtract Shift left Shift right n Calculator can handle 4 requests in parallel All 4 requestors use separate input signals All requestors have equal priority Each port must wait for its response prior to sending the next command

Input/Output description c_clk out_resp2 req1_data_in req1_cmd_in out_data1 req4_cmd_in req3_cmd_in req2_cmd_in req4_data_in req3_data_in req2_data_in reset out_data4 out_data3 out_data2 out_resp4 out_resp3 out_resp1 calc_top

Calculator Input Command and Data n I/O Description Input commands: – 0 - No-op – 1 - Add operand1 and operand2 – 2 - Subtract operand2 from operand1 – 5 - Shift left operand1 by operand2 places – 6 - Shift right operand1 by operand2 places Input Data – Operand1 data arrives with command – Operand2 data arrives on the following cycle

Calculator Output Command and Data n Outputs Response line definition – 0 - no response – 1 - successful operation completion – 2 - invalid command or overflow/underflow error – 3 - Internal error Data – Valid result data on output lines accompanies response (same cycle)

Calculator Input/Output timing req1_data_in req1_cmd_in out_data1 out_resp1 Each port must wait for its response prior to sending the next command!

Other information Clocking – When using a cycle simulator, the clock should be held high (c_clk in the calculator model) – The clock should be toggled when using an event simulator such as Model Sim Calculator priority logic – Priority logic works on first come first serve algorithm – Priority logic allows for 1 add or subtract at a time and one shift operation at a time

Calculator Design n Other information (con't) Resets – Hold reset(1:7) to ' 'b at start of testcase for seven cycles. – During the reset period, outputs of the calculator should be ignored Shift operation – Only the low order 5 bits of the second operand are used Arithmetic operations are unsigned

Create a Test plan n What scenarios do we need to verify? ___________________________________________________

On Unix Machine Build the model n mkdir calculator1 n cd calculator1 n vsim Then put the cursor on the ModelSim main window n vlib work n vmap work /home/yang97/verification/cal1/work n vlib stdlogic n vmap stdlogic /home/yang97/verification/cal1/stdlogic n vlib ieee n vmap ieee /opt/apps01/mentor_g/modeltech/ieee n vlib grd_demo n vmap grd_demo /home/yang97/verification/cal1/grd_demo

Check the waveform n Then go to pulldown menu simulate, select simulate. It will pop up a simulate window, chose design model work/demo_top to load up. Return to ModelSim main window pulldown menu View chose Signals then chose your desired signal, use Force to input stimuli. n There are 5+ bugs in the design! n How many can you find by altering the simple testcase?

Sample Do File Create a file *.do, i.e. calc1.do --add wave -r /* add wave /demo_top/reset add wave /demo_top/c_clk add wave /demo_top/error_found add wave /demo_top/req1_cmd_in add wave /demo_top/req1_data_in add wave /demo_top/out_resp1 add wave /demo_top/out_data1 add wave /demo_top/req2_cmd_in add wave /demo_top/req2_data_in add wave /demo_top/out_resp2 add wave /demo_top/out_data2 add wave /demo_top/req3_cmd_in add wave /demo_top/req3_data_in add wave /demo_top/out_resp3 add wave /demo_top/out_data3

Do File (Continue) add wave /demo_top/req4_cmd_in add wave /demo_top/req4_data_in add wave /demo_top/out_resp4 add wave /demo_top/out_data4 force -freeze sim:/demo_top/reset , force -freeze sim:/demo_top/c_clk 0 0, 1 {50 ns} -r 100 force -freeze sim:/demo_top/error_found(0) 0 0 force -freeze sim:/demo_top/error_found(1) 0 0 force -freeze sim:/demo_top/error_found(2) 0 0 force -freeze sim:/demo_top/error_found(3) 0 0 force -freeze sim:/demo_top/req4_cmd_in , , force -freeze sim:/demo_top/req4_data_in 16# , 16#ffffffff 700, 16# , 16#0 900 force -freeze sim:/demo_top/req3_cmd_in , , force -freeze sim:/demo_top/req3_data_in 16# , 16#ffffffff 701, 16# , 16#0 901

Do File (Continue) force -freeze sim:/demo_top/req2_cmd_in , , force -freeze sim:/demo_top/req2_data_in 16# , 16#ffffffff 704, 16# , 16#0 904 force -freeze sim:/demo_top/req1_cmd_in , , force -freeze sim:/demo_top/req1_data_in 16# , 16#ffffffff 705, 16# , 16#0 905 run 2000 You may run your do file from VSIM by typing –do test.do