CSEE E6861y Handout #23e Prof. Steven Nowick 3/15/16 ====================================================== Midterm CAD Project: FAQ (frequently-asked questions) ====================================================== The following summarizes some questions/answers and clarifications about the mini-project. Listed from most recent to oldest: ====================================================================== 3/18/16 ====================================================================== ------------------------------------------------------- Clarification on computing "gain" (using literal count) ------------------------------------------------------- For the multi-cube extraction program (Handout #23a, #23c) of the midterm project, you are asked to evaluate the quantitative benefit of different possible multi-cube extractions. This email is a clarification of the gain cost function which you use. In particular, in Handout #23a, part (f), you are asked to evaluate the "gain" of each candidate prime rectangle. The gain is defined as a reduction in total # of literals. As a reminder, given a local function acg + bg + cd + fg (function f1 in Handout #23c), the literal count is simply the number of product (i.e. AND gate) inputs. So the literal count in this example is 9. In contrast, the "# of gate inputs" also counts the inputs to the OR gate -- but we do not use this metric! in literal count, only AND inputs are counted. Likewise, even when some of the products are single-input, the same approach is used. So, for a local function ac + b + e + f (function f2 in Handout #23c), the literal count is 5. (Again, ignore OR gate inputs -- only focus on the AND inputs, including single-input products.) Hence, to compute the "gain" of a prime rectangle, in part (f) of #23(a), one evaluates the overall literal reduction in the network, before and after using the rectangle as the basis for multi-cube extraction. The literal count of each local function, before and after the extraction, is computed (as defined above). In addition, the literal count of the new extracted multi-cube node (itself a new local function) is computed in the same way. Similar results are used in part (g) of #23a. You can also see the complete format example in Handout #23c, which precisely uses literal count (not total # of gate inputs) in evaluating the sample cost functions. ====================================================================== 3/15/16 ====================================================================== ----------------------------------------------------- Clarification on format of printing all kernel/cubes: ----------------------------------------------------- The guidelines and requirements are already given on Handout #23a. To summarize: In the multi-cube extraction problem of the midterm project (Handout #23a), two print commands are required, after you have created the kernel-cube incidence matrix: (i) print the list of all kernels, and (ii) print the list of all cubes. The print formats for both lists are given in the handout, under part (d). For printing the kernels in (d)-(i), follow precisely the *same* alphabetical ordering as given in part (c)-(ii) of kernel-cube matrix construction step. Similarly, for printing the cubes in (d)-(ii), follow precisely the *same* alphabetical ordering as in part (c)-(iii). --------------------------------- Platform compatibility for demos: --------------------------------- We will grade your multi-cube extraction CAD program on *CLIC lab machines,* with a Linux platform. You are free to use any platform for programming and demos, but make sure that your final program runs correctly on CLIC machines and that there are no platform incompatibility errors. ----------------------------- Group participation in demos: ----------------------------- If you are in a group-of-two, *both* members must show up for the demo, otherwise the project will have a 5% penalty. In addition, the TA may ask questions of *each* of you, on data structures, algorithms and approach, clarifications, etc. Each of you must be able to answer these basic questions, regardless of who wrote which parts of the program. ----------------------------------------------------------------