____________________________________________________________________________ CSEE E6861 Handout #23e Prof. Steven Nowick March 23, 2013 ____________________________________________________________________________ ____________________________________________________________________________ MIDTERM CAD PROJECT: ---------------------------------------- WRITEUP, SUBMISSION AND DEMO INFORMATION ---------------------------------------- This handout includes important information for your midterm CAD project submission. It also includes a sample benchmark and solution for CAD problem #1, and demo signup information. ____________________________________________________________________________ ____________________________________________________________________________ ============================================ (a) Release of Sample Benchmarks + Solutions ============================================ The following is a sample benchmark and solution for your midterm CAD project, problem #1 - CAD Tool for Single-Cube Extraction. There is *no* sample benchmark release on problem #2, "Function Similarity" Evaluation, since you are developing and using your own termination rules and criteria for choosing a splitting variable. --------- (i) Input File: #start of the file .2 .6 f1 = abcf + abcd + ef f2 = abe + ef .e -------- (ii) print command #1 solution: list of cubes: 1 1 abcf 2 1 abcd 3 1 ef 4 2 abe 5 2 ef Total Number of Cubes: 5 -------- (iii) print command #2 solution: list of variables a 1 b 2 c 3 d 4 e 5 f 6 Total Number of variable: 6 -------- (iv) print command #3 solution: entire cube-variable matrix var a b c d e f ------------------------------------------------------------------ Cube ID R\C 1 2 3 4 5 6 ------------------------------------------------------------------ abcf 1 1 1 1 1 0 0 1 abcd 1 2 1 1 1 1 0 0 ef 1 3 0 0 0 0 1 1 abe 2 4 1 1 0 0 1 0 ef 2 5 0 0 0 0 1 1 ------------------------------------------------------------------ NOTE: The format need not to be exactly the same, but has to explicitly show all the information. -------- (v) list all prime rectangles ({1,2},{1,2,3}) ({1,2,4},{1,2}) ({1,3,5},{6}) ({3,4,5},{5}) ({3,5},{5,6}) Total Number of Prime Rectangles: 5 -------- (vi) list/evaluate all candidate prime rectangles ({1,2,4},{1,2}) 1 ab ({3,5},{5,6}) 0 ef Total Number of Candidate Prime Rectangles: 2 -------- (vii) List Best Candidate Prime Rectangle Optimal Single-Cube Extraction Choice(s): ({1,2,4},{1,2}) 1 ab {f1,f2} ---------------------------------------------------------------------------- ================= (b) Demo Schedule ================= You will need to schedule a demo with the TA after the submission deadline. Note, the deadline is now delayed until Monday April 1, at 4pm. IF YOU ARE WORKING IN A GROUP-OF-TWO, BOTH OF THE TEAMMATES HAVE TO SHOW UP, OR POINTS WILL BE DEDUCTED. The demos will be held in the TA room, with a 30 minute slot for each group on Tuesday and Wednesday (4/2 and 4/3). ==> I will send you follow-up email for slot signup soon. <== ---------------------------------------------------------------------------- =============== (c) Demo Format =============== The demo will be running both on examples provided to you in this handout, as well as several new examples on both CAD tool problems. Also, you should be prepared to answer some basic questions related to your program. You will run the program on your own computer during demo session. Therefore, you should *pre-setup* the environment on your own computer before the demo. HOWEVER, later on (after the demo sessions), THE TA WILL BE USING YOUR SUBMITTED CODE FOR HIS FINAL GRADING RUNS. Basically, you are to show how to run your program and how good/robust your program is. Also, you can highlight any interesting findings/algorithms during the demo. There is no grade assigned to the demo session, but a 5% deduction on this problem will be applied if you do not show up. ---------------------------------------------------------------------------- ========================================= (d) Project Write-up: Requirements/Format ========================================= You should hand in two separate write-ups, one for each CAD tool problem. ----------------------------------------------------------------- ================================== PROBLEM #1: SINGLE-CUBE EXTRACTION ================================== You should include a 3-4 page write-up for this problem, which includes: (i) GROUP MEMBERS: full names (ii) an introduction (overview) of your tool, including - a summary of programming information (not too detailed; please include the detailed programming information in the README file (see section (e)) - what functions are implemented in your tool, etc. (about 0.5-1.0 pages) (iii) a clear explanation of the data structures used, and information on algorithms/strategies and optimizations that you did (about 1.0 pages) (iv) what test you have done to your program, including what examples you have chosen and why, what problem you found and how you fix it. Do not include a print of complete output file if not necessary. (about 1.0 pages) (v) includes any creative thoughts, finding or other important things you would like us to know (about 0.5-1.0 pages) ----------------------------------------------------------------- ============================================ PROBLEM #2: "FUNCTION SIMILARITY" EVALUATION ============================================ You should include a 3-4 page write-up for this problem, which includes: (i) GROUP MEMBERS: full names (ii) an introduction (overview) of your tool, including - a summary of programming information (not too detailed; please include the detailed programming information in the README file (see section (e)) (about 0.5 pages) (iii) a clear explanation of the unate recursive algorithm you used, including - an overview of your algorithm, i.e. how is splitting is performed and how are results assembled - Shannon Decomposition Equation you used - termination rules you proposed - unateness other properties you have exploited - the criteria of choosing a splitting variable (about 1.5-2.0 pages) (iv) what test you have done to your program, including what examples you have chosen and why, what problem you found and how you fix it. Do not include a print of complete output file if not necessary. (about 0.5-1.0 pages) (v) includes any creative thoughts, finding or other important things you would like us to know (about 0.5-1.0 pages) ----------------------------------------------------------------- A succinct and clear write-up is preferred to a long vague one. But of course, you are welcome to give a longer write-up if you have more to say. However, writeups with minimal information and which are poorly written will receive minimal points! Providing a solid and informative -- and carefully-written -- presentation is an important foundation for work in industry and research. It also facilitates the TA's grading. This report is an important component of the project, and must be done carefully and with good effort. ----------------------------------------------------------------- ====================== (e) What/How to Submit ====================== You are expected to hand in: (i) By email (to Weiwei Jiang, wjiang@cs.columbia.edu) -- A tar file containing two folders, one for each CAD tool problem. Each folder should include 'source code' and 'executables' with a README. Each README file should include the following information for that problem: a) GROUP MEMBERS: full names b) DETAILED PROGRAMMING INFORMATION: programming language, platform requirements, etc. This should include: - Which platform you worked on (if you used CLIC/ACIS) - The compilation instruction (not all C compilers are compatible) - How to compile and run your tool, and any input arguments - Where the input/output files will be expected - what commands can be used c) MISCELLANEOUS: any clarifications, information on what you didn't do, etc. Basically, TA will re-compile your program based on the instruction you provided and run your program when grading. (ii) printed write-up handed in to the TA in the TA office by the Monday 4/1 deadline -- hardcopy ----------------------------------------------------------------- ==================== (f) Grading Criteria ==================== You will get grades separately on the two CAD tool problems. ----------------------------------------------------------------- ================================== PROBLEM #1: SINGLE-CUBE EXTRACTION ================================== This project will be graded on: (i) correctness of your program's output (about 70%) (ii) the algorithm and data structure you used in your program (about 10%) (iii) write-up (about 10%) (iv) overall quality of the whole project (about 10%), including -how easy-to-use and clear your program is -any interesting features of your program -other interesting insights/findings, etc. ----------------------------------------------------------------- ============================================ PROBLEM #2: "FUNCTION SIMILARITY" EVALUATION ============================================ This project will be graded on: (i) correctness of your program's output (about 50%) (ii) the unate recursive algorithm you used in your program (about 30%) (iii) write-up (about 10%) (iv) overall quality of the whole project (about 10%), including -how easy-to-use and clear your program is -any interesting features of your program -other interesting insights/findings, etc. ---------------------------------------------------------------------------- If you have any questions, please contact the Professor or TA.