Presentation is loading. Please wait.

Presentation is loading. Please wait.

1/8/2007 - L11 Project Step 5Copyright 2006 - Joanne DeGroat, ECE, OSU1 Project Step 6 Step 3 in behavioral modeling. Use of packages.

Similar presentations


Presentation on theme: "1/8/2007 - L11 Project Step 5Copyright 2006 - Joanne DeGroat, ECE, OSU1 Project Step 6 Step 3 in behavioral modeling. Use of packages."— Presentation transcript:

1 1/8/2007 - L11 Project Step 5Copyright 2006 - Joanne DeGroat, ECE, OSU1 Project Step 6 Step 3 in behavioral modeling. Use of packages.

2 1/8/2007 - L11 Project Step 5 Copyright 2006 - Joanne DeGroat, ECE, OSU2 So far  Modeled the ALU structurally with dataflow models of the leaf units.  Modeled the structure algorithmically exactly in the first behavioral architecture. Code≡Structure  2 nd Behavioral model used a combined P&K&R to choose the operation For op A have P,K,R of 1100,1111,1100 For op A AND B have 1000,1111,1100 etc. AND incorporated procedures, declared in the declarative region of the process, for the arithmetic functions.

3 1/8/2007 - L11 Project Step 5 Copyright 2006 - Joanne DeGroat, ECE, OSU3 This time  And yes, this is yet another architecture of our ALU (yaaa) (more humorous in days before flex and bison)  Start by declaring a new ENTITY for the 8 bit ALU – (we now need one) NO LONGER HAVE P, K, AND R Now have simply alu_op Illustrated in the assignment writeup and on the next slide

4 1/8/2007 - L11 Project Step 5 Copyright 2006 - Joanne DeGroat, ECE, OSU4 The new ENTITY ENTITY alu_8bit_v4 IS PORT ( alu_op : IN operations; a,b : IN BIT_VECTOR(7 downto 0); Cin : IN BIT; Zout : OUT BIT_VECTOR(7 downto 0); Cout : OUT BIT); END alu_8bit_v4;  Note that this ENTITY uses type operations and there is now input alu_op versus P,K,R  Where is TYPE operations declared?

5 1/8/2007 - L11 Project Step 5 Copyright 2006 - Joanne DeGroat, ECE, OSU5 Type Operations  Type OPERATIONS was declared in the declarative region of the ARCHITECTURE of the testbench.  The scope of TYPE operations is limited to the ARCHITECTURE in which it is declared.  So how can this ENTITY declaration use it? IT CAN’T -- SO  Move the declaration to a PACKAGE that both the testbench ARCHITECTURE and this ENTITY can use.  So declare a package declarative part and package body. TYPE operations is moved to the package declarative part.

6 Modifications  In the testbench Before the ARCHITECTURE must have a USE clause to see the declaration.  In the ALU ENTITY Before the entity have a USE clause. 1/8/2007 - L11 Project Step 5 Copyright 2006 - Joanne DeGroat, ECE, OSU6

7 1/8/2007 - L11 Project Step 5 Copyright 2006 - Joanne DeGroat, ECE, OSU7 The Procedures  The procedures for binary addition, subtraction and two’s complement are also moved to the package body.  What is needed in the package declarative part???

8 1/8/2007 - L11 Project Step 5 Copyright 2006 - Joanne DeGroat, ECE, OSU8 The package and use.  As the declaration is now in the package the testbench architecture must now have a USE clause prior to it so that it can see the declaration. USE work.step6_package.all; ARCHITECTURE test OF p6 IS … (but the ENTITY of the ALU also needs TYPE operations) so where is the USE placed?  BE SURE TO COMMENT OUT THE DECLARATION for TYPE operations IN THE TESTBENCH ARCHITECTURE

9 1/8/2007 - L11 Project Step 5 Copyright 2006 - Joanne DeGroat, ECE, OSU9 Type Operations  Declare it in both the testbench and the package??? (WHY NOT) The declaration for type operations in the testbench and the package would be identical so why not just have both of them.  They are different declarations and therefore a different type!! (even though they are identical) Which means it does not work.

10 1/8/2007 - L11 Project Step 5 Copyright 2006 - Joanne DeGroat, ECE, OSU10 Using it in the ENTITY USE work.step6_package.all; ENTITY alu_8bit_v4 IS … PORT ( ………….  The USE clause prior to the ENTITY makes all the declarations in this package visible to the ENTITY and all ARCHITECTURES of the ENTITY.

11 1/8/2007 - L11 Project Step 5 Copyright 2006 - Joanne DeGroat, ECE, OSU11 The Procedures  Move the procedures declared in the process declarative region out to the package body.  Add declarations for them in the package declarative part. (but the code from before goes in the package body)  The declaration can be cut and pasted.

12 Within the ALU  Within the alu the CASE statement previously switched on a concatenation of P,K, and R.  Now switch on alu_op with is of TYPE operations which has values of opa,opb,… 1/8/2007 - L11 Project Step 5 Copyright 2006 - Joanne DeGroat, ECE, OSU12

13 1/8/2007 - L11 Project Step 5 Copyright 2006 - Joanne DeGroat, ECE, OSU13 A final modification  Modify the case statement to switch on alu_op instead of the concatenated PKR value which is no longer even available.  And once again Move the declaration for TYPE operations to the package and comment it out in the testbench architecture


Download ppt "1/8/2007 - L11 Project Step 5Copyright 2006 - Joanne DeGroat, ECE, OSU1 Project Step 6 Step 3 in behavioral modeling. Use of packages."

Similar presentations


Ads by Google