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.
EELE 367 – Logic Design Module 4 – Combinational Logic Design with VHDL Agenda 1.Decoders/Encoders 2.Multiplexers/Demultiplexers 3.Tri-State Buffers 4.Comparators.
L18 – VHDL for other counters and controllers. Other counters  More examples Gray Code counter Controlled counters  Up down counter  Ref: text Unit.
Discussed in class and on Fridays n FSMs (only synchronous, with asynchronous reset) –Moore –Mealy –Rabin-Scott n Generalized register: –With D FFs, –With.
© Dr. Alaaeldin Amin 1 Hardware Modeling & Synthesis Using VHDL Very High Speed Integrated Circuits Start Of VHDL Development First Publication.
1 Comparators Discussion D A 1-Bit Comparator The variable Gout is 1 if x > y or if x = y and Gin = 1. The variable Eout is 1 if x = y and Gin =
1 Comparators: Procedures Discussion D9.2 Example 22.
9/15/09 - L25 Registers & Load Enable Copyright Joanne DeGroat, ECE, OSU1 Registers & Load Enable.
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.
1/8/ L3 Data Path DesignCopyright Joanne DeGroat, ECE, OSU1 ALUs and Data Paths Subtitle: How to design the data path of a processor.
1/8/ L11 Project Step 5Copyright Joanne DeGroat, ECE, OSU1 Project Step 5 Step 2 in behavioral modeling. Use of procedures.
1/8/ L7 Project Step 3Copyright Joanne DeGroat, ECE, OSU1 Project Step 4 Step 1 in transitioning to behavioral modeling. We will wire behavioral.
L26 – Datapath ALU implementation
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,
Discussed in class and on Fridays n FSMs (only synchronous, with asynchronous reset) –Moore –Mealy –Rabin-Scott n Generalized register: –With D FFs, –With.
M. Balakrishnan Dept of Computer Science & Engg. I.I.T. Delhi
(1) Basic Language Concepts © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
L13 – VHDL Language Elements. VHDL Language Elements  Elements needed for FPGA design Types  Basic Types  Resolved Types – special attributes of resolved.
9/4/ L6 Language Overview I Copyright 2006, Joanne DeGroat, ECE, OSU 1 Language Overview I The start of a grand tour of the language.
1/8/ L2 VHDL Introcution© Copyright Joanne DeGroat, ECE, OSU1 Introduction to VHDL.
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.
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
A Case Study of the Rehosting from VHDL to Matlab/C
Basic Language Concepts
Subtitle: How to design the data path of a processor.
Modification that can be done to the datapath.
Comparators Discussion DS-3.1.
Behavioral modeling of a dual ported register set.
Copyright Joanne DeGroat, ECE, OSU
Project Step 2 – A single bit slice of the ALU
Modification that can be done to the datapath.
The start of a grand tour of the language.
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
Design Specification Document
Step 2 in behavioral modeling. Use of procedures.
How do you achieve deterministic concurrent simulation.
Timing & Concurrency II
Copyright Joanne DeGroat, ECE, OSU
Hardware Modeling & Synthesis Using VHDL
An overview of the Verilog HDL.
Behavioral modeling of a dual ported register set.
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
Single bit comparator Single bit comparator 4/10/2007 DSD,USIT,GGSIPU
Timing & Concurrency II
Step 2 in behavioral modeling. Use of procedures.
L4 – An overview of Quartis
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
The finish of a grand tour of the language.
Copyright Joanne DeGroat, ECE, OSU
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 4 Step 1 in transitioning to behavioral modeling. We will wire behavioral code 1-to-1 with our gate level model. 1/8/2007 - L7 Project Step 3 Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Project Step 4 This is the start of the transition to behavioral modeling. At the gate level you are near 1-to-1 with the hardware that is implemented At the behavioral level you have a physical interface and then the function between. 1/8/2007 - L7 Project Step 3 Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU VHDL view of the world The VHDL view is one that starts with the interface. How do you connect to the world. After this, you have the ARCHITECTURE which tell you what actions, responses, operations and transformations happen within the interface. Many designers first think about what the function is, and, after the function is described what the interface is. In the VHDL world you must first define the format, timing, frequency, etc. of how the data arrives and is output first. 1/8/2007 - L7 Project Step 3 Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Thus Far Have described the ALU architecture structurally using 2 basic components described at the gate level. Very close to a 1-to-1 representation of the gates. Now will start a transition to a behavioral description where we raise the level of abstraction each time. 1/8/2007 - L7 Project Step 3 Copyright 2006 - Joanne DeGroat, ECE, OSU

Straight algorithmic representation of the slice Will use a process with a loop. Each iteration of the loop will move to the next most significant slice. On the first iteration will compute the P operation, then the K operation, do the logic function of the carry block, and then finally the results block. Naturally fits into a loop. 1/8/2007 - L7 Project Step 3 Copyright 2006 - Joanne DeGroat, ECE, OSU

Example of what I am talking about Consider the bit-sliced comparator Now lets do it slice-by-slice algorithmically Start by writing the multi-bit entity 1/8/2007 - L7 Project Step 3 Copyright 2006 - Joanne DeGroat, ECE, OSU

The Entity and start of Architecture ENTITY byte_comparator IS PORT (a,b : IN bit_vector (7 downto 0); --a & b data gt,eq,lt: IN bit; --previous slice results a_gt_b, a_eq_b, a_lt_b : OUT bit); --outputs END byte_comparator; --note that one of the gt,eq,lt inputs must be tied high ARCHITECTURE algorithmic OF byte_comparator IS 1/8/2007 - L7 Project Step 3 Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU The algorithm BEGIN PROCESS (a,b,gt,eq,lt) VARIABLE igt,ieq,ilt : bit_vector (0 to 8); igt(0) := gt; --connect to external inputs ieq(0) := eq; ilt(0) := lt; FOR i in 0 to 7 loop igt(i+1) := a (i)AND NOT b(i) OR a(i) AND igt(i) OR NOT b(i) AND igt(i); ieq(i+1):=ieq(i) AND (NOT a(i) AND NOT b(i) OR a(i) AND b(i)); ilt(i+1) :=NOT a(i) AND b(i) OR ilt(i) AND NOT a(i) OR ilt(i) AND b(i); END LOOP; a_gt_b <= igt(8); a_eq_b <= ieq(8); a_lt_b <= ilt(8); END PROCESS; END byte_comparator; 1/8/2007 - L7 Project Step 3 Copyright 2006 - Joanne DeGroat, ECE, OSU

Iteration across the slices For I in 0 to 7 loop begin -- do the p operation -- do the k operation -- carry out the carry chain unit operations -- do an r operation -- will have inputs of a(i),b(i),icin, p,k,r to each slice -- produce sum(i) and icout 1/8/2007 - L7 Project Step 3 Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Internal Connections Before a signal was used to connect the output of the P unit and the K unit to the carry chain and R unit. Now time will not advance while in the processes iterations. What to USE?????? How about a variable What effect does using a variable have? 1/8/2007 - L7 Project Step 3 Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU The test file Be sure to properly configure your design into the testbench. We will start looking at previous steps results. 1/8/2007 - L7 Project Step 3 Copyright 2006 - Joanne DeGroat, ECE, OSU