Download presentation
Presentation is loading. Please wait.
Published byShavonne Foster Modified over 9 years ago
1
Calculator Lab Exercises Bruce Wile, IBM Design Automation Conference Sunday, June 9, 2002
2
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
3
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
4
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
5
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)
6
Calc1 Port Timing
7
Calc1 Sample Bugs Protected information … Professors should see LABS section.
8
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
9
Calc2 Port Timings req1_cmd_in req1_data_in req1_tag_in req_resp1 req_data1 req_tag1
10
Calc2 Sample Bugs Protected information … Professors should see LABS section.
11
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
12
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.
13
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
14
Calc3 Overall Block Diagram
15
Calc3 Sample Bugs Protected information … Professors should see LABS section.
16
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!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.