Copyright Joanne DeGroat, ECE, OSU

Slides:



Advertisements
Similar presentations
1/8/ VerilogCopyright Joanne DeGroat, ECE, OSU1 Verilog Overview An overview of the Verilog HDL.
Advertisements

L23 – Adder Architectures. Adders  Carry Lookahead adder  Carry select adder (staged)  Carry Multiplexed Adder  Ref: text Unit 15 9/2/2012 – ECE 3561.
L18 – VHDL for other counters and controllers. Other counters  More examples Gray Code counter Controlled counters  Up down counter  Ref: text Unit.
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.
1/8/ L24 IEEE Floating Point Basics Copyright Joanne DeGroat, ECE, OSU1 IEEE Floating Point The IEEE Floating Point Standard and execution.
1/8/ L24 IEEE Floating Point Basics Copyright Joanne DeGroat, ECE, OSU1 IEEE Floating Point The IEEE Floating Point Standard and execution.
L16 – Testbenches for state machines. VHDL Language Elements  More examples HDL coding of class examples Testbench for example  Testing of examples.
Computer Design Basics
1/8/ L11 Project Step 5Copyright Joanne DeGroat, ECE, OSU1 Project Step 5 Step 2 in behavioral modeling. Use of procedures.
L26 – Datapath ALU implementation
1/8/ L23 Project Step 9 - Sequential Machine Copyright Joanne DeGroat, ECE, OSU1 Project Step 9 Beyond the ALU and Datapath. Sequential Machine.
L16 – VHDL for State Machines with binary encoding.
1/8/ L7 Project Step 3Copyright Joanne DeGroat, ECE, OSU1 Project Step 3 Structural Modeling and the Generate Statement.
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,
1/8/ L24 IEEE Floating Point Basics Copyright Joanne DeGroat, ECE, OSU1 IEEE Floating Point The IEEE Floating Point Standard and execution.
1/8/ Data Path Design & Control Copyright Joanne DeGroat, ECE, OSU1 Processor Data Paths - ALU and Registers Incorporating the ALU into a.
1/8/ Extra CreditCopyright Joanne DeGroat, ECE, OSU1 PS3xcr Extra Credit Project Modification that can be done to the datapath.
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
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.
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.
1/8/ L11 Project Step 5Copyright Joanne DeGroat, ECE, OSU1 Project Step 7 Behavioral modeling of a dual ported register set.
1/8/ L11 Project Step 5Copyright Joanne DeGroat, ECE, OSU1 Project Step 6 Step 3 in behavioral modeling. Use of packages.
MicroBaby ALU.
State Machine Design with an HDL
EE694v - Verification - Lect 12
Subtitle: How to design the data path of a processor.
Modification that can be done to the datapath.
The 8085 Microprocessor Architecture
Behavioral modeling of a dual ported register set.
Copyright Joanne DeGroat, ECE, OSU
The IEEE Floating Point Standard and execution units for it
Processor Data Paths -ALU and Registers
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
L22 – Register Set Debugging
IEEE Floating Point Adder
A floating point multiplier behavior model.
The 8085 Microprocessor Architecture
Step 2 in behavioral modeling. Use of procedures.
Timing & Concurrency II
Beyond the ALU and Datapath. Sequential Machine Modeling exercise.
A floating point multiplier behavior model.
An overview of the Verilog HDL.
Behavioral modeling of a dual ported register set.
Copyright Joanne DeGroat, ECE, OSU
The IEEE Floating Point Standard and execution units for it
Structural Modeling and the Generate Statement
Project Step 2 – A single bit slice of the ALU
A floating point multiplier behavior model.
Timing & Concurrency II
Step 2 in behavioral modeling. Use of procedures.
Step 3 in behavioral modeling. Use of packages.
© Copyright Joanne DeGroat, ECE, OSU
Timing & Concurrency II
L25 – Final Review AU 15 Final Exam – Classroom – Journalism 300
Beyond the ALU and Datapath. Sequential Machine Modeling exercise.
Project Step 2 – A single bit slice of the ALU
Structural Modeling and the Generate Statement
Presentation transcript:

Copyright 2006 - Joanne DeGroat, ECE, OSU Project Step 8 Putting the units together to form a data path consisting of the register set and the ALU. THE HEART OF A PROCESSOR 1/8/2007 - L20 Project Step 8 - Data Path Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU The data path Connect up the register set and the alu ALU need input latches and output drive Control signals coordinated by the testbench which acts like the controller 1/8/2007 - L20 Project Step 8 - Data Path Copyright 2006 - Joanne DeGroat, ECE, OSU

The high level interface – Dashed lines ABUS, BBUS – two 16-bit busses for the transfer of data. Aregload, Aregdriver, Aregno – the control signals for control of the register set’s connection to the A bus. Note that Aregno is of type INTEGER. Bregload, Bregdriver, Bregno – the control signals for control of the register set’s connection to the B bus. Note that Bregno is of type INTEGER. A_ALUload, B_ALUload – control latching the bus value into the input ALU latches A_ALUdrive, B_ALUdrive – control driving the ALU results onto the respective bus Cin – the carry in oper – the operation input to the ALU CNZ – the flag outputs 1/8/2007 - L20 Project Step 8 - Data Path Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Bus Timing detail Timing is such that sources place their data on the bus as indicated by the drive signal. Drive goes active low at 10 ns Load goes active low at 10 ns Load returns high at 70 ns Drive returns high at 80 ns IN SUMMARY: Sources drive their data onto the bus at 10ns and keep it there until 80ns. Destinations latch the data at 70ns. 1/8/2007 - L20 Project Step 8 - Data Path Copyright 2006 - Joanne DeGroat, ECE, OSU

Example of an operation Add the contents of register 4 with that of register 6 with results returned to register 6. Cycle 1 – transfer data to ALU Register control signal to drive A bus from register 4 occurs at 10 ns to 80 ns. Register control signal to drive B bus from register 6 occurs at 10 ns to 80 ns. ALU A latch opens at 10 and closes at 70 ns. ALU B latch opens at 10 and closes at 70 ns. 1/8/2007 - L20 Project Step 8 - Data Path Copyright 2006 - Joanne DeGroat, ECE, OSU

Example of an operation Cycle 2 – complete operation and transfer back. ALU B drive starts at 10 and ends at 80 ns. Register control signal to load B bus to register 6 occurs from 10 ns to 70 ns. Protocol calls for results to be returned during cycle 2 on the B Bus. - what designers decided 1/8/2007 - L20 Project Step 8 - Data Path Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Other notes Busses are of type std_logic_vector ALU uses type bit Must latch the busses and do a type conversion from std_logic_vector to type bit_vector on input Must use a type bit_vector to type std_logic_vector conversion at output before you drive the value onto the bus. Type conversion functions – to_BitVector, to_StdLogicVector, to_Bit, to_StdLogic 1/8/2007 - L20 Project Step 8 - Data Path Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Other Notes Register and Busses are 16-bit words ALU is 8 bits. ALU needs to be modified to 16 bits. Why you were told to write the ALU procedures for add, negate, and subtract unconstrained. So modify the ALU to 16 bits. A minor modification. 1/8/2007 - L20 Project Step 8 - Data Path Copyright 2006 - Joanne DeGroat, ECE, OSU

Other notes from problem description Write a description of the datapath and simulate it. This will be a structural architecture. Use the register set from step 7 Use a modified (to 16 bits) ALU from step 6 Use step 6 as you will need the package for type operations. Busses are of type std_logic_vector and signals such as Cin, C,N,Z are of type std_logic Use type conversion functions as appropriate 1/8/2007 - L20 Project Step 8 - Data Path Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU To turn in Copies of all code The full waveform A part of the waveform zoomed in The listing file VERY IMPORTANT – The entity name of the testbench is simply dp So you will simulate dp There is not a blank area in the file for the code of the package. You can add it or put it in a separate file and submit that to the dropbox. 1/8/2007 - L20 Project Step 8 - Data Path Copyright 2006 - Joanne DeGroat, ECE, OSU