Calculator Lab Exercises Bruce Wile, IBM Design Automation Conference Sunday, June 9, 2002.

Slides:



Advertisements
Similar presentations
Computer Organization, Bus Structure
Advertisements

PIPELINE AND VECTOR PROCESSING
Microprocessors.
Computer Organization and Architecture
6-1 Chapter 6 - Datapath and Control Department of Information Technology, Radford University ITEC 352 Computer Organization Principles of Computer Architecture.
Reliable Data Processor in VLSI
Calculator 3: Transformation to an ALU! Design specs.
1 Register Transfer &  -operations Computer Organization Computer Architectures Lab REGISTER TRANSFER AND MICROOPERATIONS Register Transfer Language Register.
Chapter 9 Computer Design Basics. 9-2 Datapaths Reminding A digital system (or a simple computer) contains datapath unit and control unit. Datapath: A.
Computer Organization and Architecture
ECE 331 – Digital System Design Flip-Flops and Registers (Lecture #18) The slides included herein were taken from the materials accompanying Fundamentals.
Calculator Design n Calculator has 4 functions: è Add è Subtract è Shift left è Shift right n Calculator can handle 4 requests in parallel è All 4 requestors.
Lab 1 Calculator Overview CSE Functional Verification SUNY New Paltz.
Pipelining By Toan Nguyen.
0 What is a computer?  Simply put, a computer is a sophisticated electronic calculating machine that:  Accepts input information,  Processes the information.
Computer Organization and Architecture
Group 5 Alain J. Percial Paula A. Ortiz Francis X. Ruiz.
SUPERSCALAR EXECUTION. two-way superscalar The DLW-2 has two ALUs, so it’s able to execute two arithmetic instructions in parallel (hence the term two-way.
Basic Operational Concepts of a Computer
Registers CPE 49 RMUTI KOTAT.
Lab 7: A Calculator Using Stack Memory
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
ECEn 191 – New Student Seminar - Session 9: Microprocessors, Digital Design Microprocessors and Digital Design ECEn 191 New Student Seminar.
Fall EE 333 Lillevik 333f06-l7 University of Portland School of Engineering Computer Organization Lecture 7 ALU design MIPS data path.
ENG241 Digital Design Week #8 Registers and Counters.
Speeding up of pipeline segments © Fr Dr Jaison Mulerikkal CMI.
Computer Architecture Lecture 2 System Buses. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given.
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,
Computer Architecture Memory, Math and Logic. Basic Building Blocks Seen: – Memory – Logic & Math.
Principles of Linear Pipelining
A four function ALU A 00 ADD B MUX SUB 11 Result AND OR
Chapter One Introduction to Pipelined Processors
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
Instructor: Oluwayomi Adamo Digital Systems Design.
Calculator Lab Exercises Bruce Wile, IBM Design Automation Conference Sunday, June 9, 2002.
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
Fundamentals of Programming Languages-II
Simple ALU How to perform this C language integer operation in the computer C=A+B; ? The arithmetic/logic unit (ALU) of a processor performs integer arithmetic.
Chapter 10 Control Unit Operation “Controls the operation of the processor”
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.
CONDITION EVALUATE CPSR Flags. Hazard Checking Logic Checks to see if Rd (destination register) is read from in next 2 commands.
Implementing Combinational
Combinational Circuits
Basic Processor Structure/design
Computer Science 210 Computer Organization
Computer Design Basics
Introduction of microprocessor
Prof. Sirer CS 316 Cornell University
CS/COE0447 Computer Organization & Assembly Language
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
Computer Science 210 Computer Organization
Computer Architecture
Design of the Control Unit for One-cycle Instruction Execution
8086 Ahad.
The Processor Lecture 3.2: Building a Datapath with Control
IEEE Floating Point Adder
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
Computer Architecture
Prof. Sirer CS 316 Cornell University
Multiple function unit design
Computer Design Basics
Combinational Circuits
CS 140L Lecture 8 Professor CK Cheng 11/19/02.
Presentation transcript:

Calculator Lab Exercises Bruce Wile, IBM Design Automation Conference Sunday, June 9, 2002

Calc Resources Web site contains: Design source (VHDL and Verilog*) Design Specifications Bug lists and bug disables *Verilog has minimal usage and may contain other bugs

Calc Lab Overview Series of 3 lab exercises Each grows in complexity and builds upon previous design “ Built-in ” bugs give active verification experience Labs were created by IBM for the purpose of verification education Used internal to IBM and at Universities Calc1 in 1994; Calc2 & Calc3 in 2000

Calc1 Function Calculator has 4 functions: Add Subtract Shift left Shift right Calculator can handle 4 requests in parallel All 4 requestors use separate input signals All requestors have equal priority

Calc1 I/O 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 (Design Under Test)

Calc1 Port Timing

Calc1 Sample Bugs Protected information … Professors should see LABS section.

Calc2 Function Same commands as Calc1 Each port can now have up to 4 outstanding commands in the system Up to 16 total commands Out-of-order response may occur Depends on backlog in adder and shifter Requires 2 bit “ tag ” identifier for each port

Calc2 Port Timings req1_cmd_in req1_data_in req1_tag_in req_resp1 req_data1 req_tag1

Calc2 Sample Bugs Protected information … Professors should see LABS section.

Calc3 Function Design now has 16 internal data registers Arithmetic operands no longer sent by requestor Operand data is read internally from registers Two new commands added to access registers Fetch from register x; Store to register x Two new branch commands Successful branch causes next command from port to be skipped Each requester can still send in up to 4 commands 2 bit tag on request Using same tag simultaneously is not supported

Calc3 Function (Pg 2) Each port requestor is sending an instruction stream Data doesn ’ t accompany command anymore Example: Commands from Port 1: ADD R1, R2 R3 SHL R3, R4 R5 All ordering rules are in the spec.

Priority Dispatch Access Adder ALU Input Stage Array write and output stage Array write and output stage Shifter ALU Input Stage resp1 resp4 resp3 resp2 cmd_in1 cmd_in4 cmd_in3 cmd_in2 Registers Flow Calc3 High Level Diagram

Calc3 Overall Block Diagram

Calc3 Sample Bugs Protected information … Professors should see LABS section.

Lab Exercise Notes Use specifications strategically Give students enough of the spec to get started … but not necessarily the whole spec Require a testplan for calc2 and 3 Testplans evoke spec clarifications New lab exercises encouraged!