L22 – Register Set Debugging

Slides:



Advertisements
Similar presentations
L23 – Adder Architectures. Adders  Carry Lookahead adder  Carry select adder (staged)  Carry Multiplexed Adder  Ref: text Unit 15 9/2/2012 – ECE 3561.
Advertisements

L9 – State Assignment and gate implementation. States Assignment  Rules for State Assignment  Application of rule  Gate Implementation  Ref: text.
L7 – Derivation of State Graphs and Tables – Moore Machines.
9/15/09 - L20 Flip FlopsCopyright Joanne DeGroat, ECE, OSU1 Flip Flops Not a gymnastic movement.
L18 – VHDL for other counters and controllers. Other counters  More examples Gray Code counter Controlled counters  Up down counter  Ref: text Unit.
1/8/ L17 Resolved SiganlsCopyright Joanne DeGroat, ECE, OSU1 Resolved Signals What are resolved signals and how do they work. Resolution???
[M2] Traffic Control Group 2 Chun Han Chen Timothy Kwan Tom Bolds Shang Yi Lin Manager Randal Hong Mon. Nov. 11 Overall Project Objective : Dynamic Control.
9/15/09 - L25 Registers & Load Enable Copyright Joanne DeGroat, ECE, OSU1 Registers & Load Enable.
L23 – Arithmetic Logic Units. Arithmetic Logic Units (ALU)  Modern ALU design  ALU is heart of datapath  Ref: text Unit 15 9/2/2012 – ECE 3561 Lect.
9/15/09 - L15 Decoders, Multiplexers Copyright Joanne DeGroat, ECE, OSU1 Decoders and Multiplexers.
L16 – Testbenches for state machines. VHDL Language Elements  More examples HDL coding of class examples Testbench for example  Testing of examples.
9/15/09 - L15 Decoders, Multiplexers Copyright Joanne DeGroat, ECE, OSU1 Decoders and Multiplexer Circuits.
L26 – Datapath ALU implementation
L6 – Derivation of State Graphs and Tables. State Graphs and Tables  Problem Statement translation To State Graphs To State Tables  Ref: text : Unit.
L16 – VHDL for State Machines with binary encoding.
L12 – VHDL Overview. VHDL Overview  HDL history and background  HDL CAD systems  HDL view of design  Low level HDL examples  Ref: text Unit 10, 17,
9/15/09 - L26 Shift RegistersCopyright Joanne DeGroat, ECE, OSU1 Shift Registers.
1/8/ Data Path Design & Control Copyright Joanne DeGroat, ECE, OSU1 Processor Data Paths - ALU and Registers Incorporating the ALU into a.
L19 – Resolved Signals. Resolved Signals  What are resolved signals In systems In VHDL Resolution – Isn’t that for resolving conflicts?  Ref: text Unit.
L20 – Register Set. The 430 Register Set  Not exactly a dual ported register set, but a dual drive register set.  Ref: text Unit 10, 17, 20 9/2/2012.
1/8/ L11 Project Step 5Copyright Joanne DeGroat, ECE, OSU1 Project Step 7 Behavioral modeling of a dual ported register set.
Project 1.  Two parts Implement a 3 bit Gray Code Counter Implement a 4-to-1 muxtiplexer  Can be done on Altera (Quartis) or Xilinx 8/22/2012 – ECE.
Common Elements in Sequential Design. Lecture 3 topics  Registers and Register Transfer  Shift Registers  Counters Basic Counter Partial sequence counters.
1/8/ L25 Floating Point Adder Copyright Joanne DeGroat, ECE, OSU1 IEEE Floating Point Adder Using the IEEE Floating Point Standard for an.
MicroBaby ALU.
State Machine Design with an HDL
EE694v - Verification - Lect 12
L5 – Sequential Circuit Design
Modification that can be done to the datapath.
Copyright Joanne DeGroat, ECE, OSU
Behavioral modeling of a dual ported register set.
Latches and Flip-flops
Copyright Joanne DeGroat, ECE, OSU
Processor Data Paths -ALU and Registers
Copyright Joanne DeGroat, ECE, OSU
Project Step 2 – A single bit slice of the ALU
Modification that can be done to the datapath.
L19 – Register Set.
Copyright Joanne DeGroat, ECE, OSU
MicroBaby Datapath.
Copyright Joanne DeGroat, ECE, OSU
Project Step 1 Due – see webpage
L21 – Register Set.
L25 – Datapath ALU.
MicroBaby Datapath.
Copyright Joanne DeGroat, ECE, OSU
State Machine Design with an HDL
Design Specification Document
IEEE Floating Point Adder
A register design with parallel load input
Tri-state buffer A circuit which allows an input to go to output when desired Otherwise it behaves as if “nothing” is connected to the wire An equivalent.
How do you achieve deterministic concurrent simulation.
Timing & Concurrency II
Beyond the ALU and Datapath. Sequential Machine Modeling exercise.
IEEE Floating Point Adder Verification
An overview of the Verilog HDL.
Behavioral modeling of a dual ported register set.
L7s Multiple Output example
L11 – State Machine Analysis
Structural Modeling and the Generate Statement
Project Step 2 – A single bit slice of the ALU
Copyright Joanne DeGroat, ECE, OSU
Copyright Joanne DeGroat, ECE, OSU
Timing & Concurrency II
L4 – An overview of Quartis
Timing & Concurrency II
The transaction problem.
L25 – Final Review AU 15 Final Exam – Classroom – Journalism 300
Beyond the ALU and Datapath. Sequential Machine Modeling exercise.
Structural Modeling and the Generate Statement
Presentation transcript:

L22 – Register Set Debugging

Dual Ported Register Set Narrowed the problem to the input data from the multiplexers Ref: text Unit 10, 17, 20 9/2/2012 – ECE 3561 Lect 9 Copyright 2012 - Joanne DeGroat, ECE, OSU

Copyright 2012 - Joanne DeGroat, ECE, OSU The objective Dual ported register set 2 data busses Can load or drive either bus No timing – only control To insure this unit will synthesize need to do it subcomponent by subcomponent and structurally. 9/2/2012 – ECE 3561 Lect 9 Copyright 2012 - Joanne DeGroat, ECE, OSU

Copyright 2012 - Joanne DeGroat, ECE, OSU The structural arch The architecture rough diagram 9/2/2012 – ECE 3561 Lect 9 Copyright 2012 - Joanne DeGroat, ECE, OSU

Copyright 2012 - Joanne DeGroat, ECE, OSU From last time Narrowed the problem that it was input into the register, i.e., the output of the muxes. The problem was in the control equation. Comment out all but the input decoders and the input muxes. Add to the waveform the control and output from unit m0, the mux that supplies data to register 0. 9/2/2012 – ECE 3561 Lect 9 Copyright 2012 - Joanne DeGroat, ECE, OSU

After modifying the control The control equation is now msel(i) <= NOT aload AND asel(i); 9/2/2012 – ECE 3561 Lect 9 Copyright 2012 - Joanne DeGroat, ECE, OSU

For the BBUS input selection Also working when a BBUS input 9/2/2012 – ECE 3561 Lect 9 Copyright 2012 - Joanne DeGroat, ECE, OSU

Copyright 2012 - Joanne DeGroat, ECE, OSU One thought Could it be that the equation used in the mux was part of the problem? Orig equation dataout <= linput when sel=‘1’ ELSE rinput; Tried generating an 8 bit version of sel Isel <= sel&sel& sel&sel& sel&sel& sel&sel; dataout <= (linput AND isel) OR (rinput AND NOT isel); First version was muxing the ‘Z’, 2nd version resulted in ‘X’. Problem was the control equation so orig used. 9/2/2012 – ECE 3561 Lect 9 Copyright 2012 - Joanne DeGroat, ECE, OSU

Now the register load signal Also found a polarity error. Had a falling edge when you desired the rising edge. Fixed Now can add back the registers and run 9/2/2012 – ECE 3561 Lect 9 Copyright 2012 - Joanne DeGroat, ECE, OSU

Results for the register output Waveform showing the register load control signal and the register contents. 9/2/2012 – ECE 3561 Lect 9 Copyright 2012 - Joanne DeGroat, ECE, OSU

Now can add the bus drivers Uncomment the bus drivers 9/2/2012 – ECE 3561 Lect 9 Copyright 2012 - Joanne DeGroat, ECE, OSU

Copyright 2012 - Joanne DeGroat, ECE, OSU Both busses working BBUS is also working 9/2/2012 – ECE 3561 Lect 9 Copyright 2012 - Joanne DeGroat, ECE, OSU

Does dual loading driving work? Load from ABUS Drive on BBUS 9/2/2012 – ECE 3561 Lect 9 Copyright 2012 - Joanne DeGroat, ECE, OSU

Does not verify BBUS ability So just add another cycle to write out the BBUS reg val. ------------------------------------------------------------------- -- TEST LOADING ON ONE BUS AND DRIVING ON THE OTHER -- load a predetermined value in each register - testing of ABUS For I in 0 to 3 Loop applyNtest(load,regno(I),Vals(I),Vals(I), drive,regno(3-I),HighZ,Vals(3-I)); applyNtest(drive,regno(I),HighZ,Vals(I), load,regno(3-I),Vals(3-I),Vals(3-I)); applyNtest(idle,regno(I),HighZ,HighZ, END Loop; WAIT; 9/2/2012 – ECE 3561 Lect 9 Copyright 2012 - Joanne DeGroat, ECE, OSU

Copyright 2012 - Joanne DeGroat, ECE, OSU Results Now have an idle ABUS 9/2/2012 – ECE 3561 Lect 9 Copyright 2012 - Joanne DeGroat, ECE, OSU

Copyright 2012 - Joanne DeGroat, ECE, OSU YEAH YEAH   DEMO TIME. 9/2/2012 – ECE 3561 Lect 9 Copyright 2012 - Joanne DeGroat, ECE, OSU

And it still synthesizes!!  Synthesis results 9/2/2012 – ECE 3561 Lect 9 Copyright 2012 - Joanne DeGroat, ECE, OSU

Copyright 2012 - Joanne DeGroat, ECE, OSU Synthesis statistics Registers – 32 Pins – 24 LUTs – 60 (even though control equations are a bit more complex – why the same?) Average Fan Out – 3.6 (higher) Timing results from Quartis Set up time –from ABUS to register dataout 2.2ns Time from adrive to ABUS – 10.67 ns 9/2/2012 – ECE 3561 Lect 9 Copyright 2012 - Joanne DeGroat, ECE, OSU

Copyright 2012 - Joanne DeGroat, ECE, OSU Lecture summary Have seen how to debug a 4 register location dual ported register-set. Also some information on resolved signals and units for resolved signals. 9/2/2012 – ECE 3561 Lect 9 Copyright 2012 - Joanne DeGroat, ECE, OSU