160 likes | 421 Views
Benchmark Functions Analysis. Sajib Kumar Mitra Department of Computer Science and Engineering University of Dhaka sajibmitra.csedu@yahoo.com. Why Benchmark Functions?. Performance Comparison to others Verification of Your Logic Innovation of new Logic Get Acceptance from reviewers.
E N D
Benchmark Functions Analysis Sajib Kumar Mitra Department of Computer Science and Engineering University of Dhaka sajibmitra.csedu@yahoo.com
Why Benchmark Functions? • Performance Comparison to others • Verification of Your Logic • Innovation of new Logic • Get Acceptance from reviewers
Benchmark Functions Example: XOR5 Sum of Product .i 5 .o 1 11111 1 01110 1 10110 1 00111 1 11010 1 01011 1 10011 1 00010 1 11100 1 01101 1 10101 1 00100 1 11001 1 01000 1 10000 1 00001 1 .e Machine Readable Version Picture .v a,b,c,d,e .i a,b,c,d,e .o e BEGIN t2 a,b t2 b,c t2 c,d t2 d,e END http://webhome.cs.uvic.ca/~dmaslov/xor5.html
Benchmark Functions Example: XOR5 xor5.pla .i 5 .o 1 11111 1 01110 1 10110 1 00111 1 11010 1 01011 1 10011 1 00010 1 11100 1 01101 1 10101 1 00100 1 11001 1 01000 1 10000 1 00001 1 .e xor5.esop .i 5 .o 1 .p 5 ----1 1 -0--- 1 0---- 1 ---0- 1 --0-- 1 .e Sum of Product Exclusive OR Sum of Product
Benchmark Functions Example: XOR5 (multiple output Function) inc2.pla inc2.esop .i 2 .o 3 .p 4 00 001 01 010 10 011 11 100 .e .i 2 .o 3 .p 3 -0 011 0- 010 11 100 .e Sum of Product Exclusive OR Sum of Product
Benchmark Functions Run exorcism.exe from command prompt to convert .pla (AND-OR) to .esop (AND-EXOR) inc2.pla inc2.esop .i 2 .o 3 .p 4 00 001 01 010 10 011 11 100 .e .i 2 .o 3 .p 3 -0 011 0- 010 11 100 .e Exclusive OR Sum of Product Sum of Product
Benchmark Functions Function … … … Product Product Product … a b c z
Project Overview (1) Calculation of Cost of an ESOP PLA (2) Convert SOP functions to PLA (.pla) (3) Convert ESOP functions to (.esop) (4) Exit Please Enter a number between 1 to 4 : Start
Project Overview (cont…) Input must be esop file without extension Input file must contain SOP expression and <filename>.pla will be generated (1) Calculation of Cost of an ESOP PLA (2) Convert SOP Expression into PLA (.pla) (3) Convert ESOP Expression into ESOP PLA (.esop) (4) Exit Please Enter a number between 1 to 4 : Input file must contain ESOP expression and <filename>.esop will be generated
Project Overview (cont…) (1) Calculation of Cost of an ESOP PLA (2) Convert SOP Expression into PLA (.pla) (3) Convert ESOP Expression into ESOP PLA (.esop) (4) Exit Please Enter a number between 1 to 4 : 1 Enter File (.esop) Name:example ========================================================== Proposed Design ========================================================== Sorted FUNCTIONS ---------------------------------------------------------- Function [3]: P2 Function [1]: P2,P3 Function [0]: P0,P1 Function [2]: P0,P1,P4 Function [4]: P2,P0,P4 ----------------------------------------------------------
Project Overview (cont…) ========================================================== Rearranged PRODUCTS ---------------------------------------------------------- Product [2]: f1(0) f3(0) f4(1) Product [3]: f1(1) Product [0]: f0(0) f2(0) f4(0) Product [1]: f0(1) f2(1) Product [4]: f2(2) f4(2) ---------------------------------------------------------- ========================================================== Calculation of EX-OR Plane ========================================================== Total EXOR Operations : 6 TDOT : 4 Feynman Gate : 7 Garbage, GB : 1 ==========================================================
Project Overview (cont…) ========================================================== Existing Calculation ========================================================== Rearranged FUNCTIONS & PRODUCTS ========================================================== ---------------------------------------------------------- Function [4]: P2,P0,P4 Function [1]: P0,P1 Function [0]: P2,P3 Function [2]: P2,P4,P3 Function [3]: P0 ---------------------------------------------------------- ---------------------------------------------------------- Product [3]: f1(1) Product [1]: f0(1) f2(1) Product [4]: f2(2) f4(2) Product [0]: f0(0) f2(0) f4(0) Product [2]: f1(0) f3(0) f4(1) ---------------------------------------------------------- ==========================================================
Project Overview (cont…) ========================================================== EXOR Plane ========================================================== Total EXOR Operations : 6 TDOT : 3 Feynman Gate : 8 Garbage, GB : 2 ==========================================================
Project Overview (cont…) ========================================================== Final Calculation of example.esop ========================================================== Total Gates : 20(18) Total Garbages: 12(10) Total Delay : 8(8) Total Q. Cost : 48(39) ========================================================== Proposed Design takes 0.8029 nanoseconds Existing Design takes 0.768 nanoseconds
Benchmark Functions(cont…) • RPLA.java • public static void main(String[] args) • Public void readDataFromESOPFile(String fileName) • public void readDataManually(String fileName) • public String getPatternOfProduct(String data) • public String getPatternOfFunction(intproductIndex) • public intinputFormat(String data) • Product.java • public Product(int id, String item) • public intgetId() • public void addFunction(int pos) • public intgetFrequency() • public String getPattern() • public intgetSize() • Literal.java • public Literal(int id) • public void addProduct(intproductId) • public intgetSize() • Function.java • public Function(int funcId) • public int addProduct(int productId) • public ArrayList<Integer> getData() • public int getSize() • CostCalculation.java • public ExistingCalculation() • public void funProRearrange() • public void xorPlane() • public void andPlane() • public void showFinalResult() • public void initializeDoubleLiteral() • public void resetFlagOfProduct() • public int getUpdatedIdOfPro(int previousId) • public void sortProductListOfFunc() • public void showProducts() • public void showFunctions()
References • http://webhome.cs.uvic.ca/~dmaslov/ • http://web.cecs.pdx.edu/~mperkows/ • http://www.ee.pdx.edu/~mperkows/PLA_BENCHMARKS • http://web.cecs.pdx.edu/~mperkows/CLASS_573/inquire.html