Midterm Exam I Outline ---------------------- Midterm I will cover lectures 1 through 8. Homework problems are typical of exam questions. Expect the exam questions to go into more depth than the quizes and in some cases more depth the the homework questions. You should understand the basic concepts sufficiently well to apply them in new situations. On the exam, the concepts will be familiar to you but not necessarily the circuits and contexts. Lecture 1: Design constraints: performance (speed) cost (complexity) power (energy dissapation) Example systems optimized for each of these. The idea of a design tradeoffs between constraints. Examples of hierarchical representations of digital systems. Benefits of using hierarchy. Lecture 2: Basic characteristics of ICs and PC boards. Moore's Law. Rough classification of ICs. Qualitative operation of CMOS nFETs and pFETS. Structure of basic logic gates, tristate buffers, data latches, and edge-triggered flip-flops at the transistor. Operation of these circuits modeling transistors as switches. Basic operation of DFFs in the context of shifters and related circuits. Lecture 3: General model of digital systems comprising flip-flops and combinational logic. Determination of maximum clock frequency given characteristic delays of sub-components. The qualitative analysis of CMOS circuits as RC circuits. The origin of gate delay. Factors effecting gate delay, both inside a gate and at the logic circuit level. Qualitative wire delay modeling. Origin of delays associated with flip-flops. Lecture 4: Power consumption in CMOS circuits. Relationship between power and energy. Metrics from power consumption. Switching energy and its relationship to power consumption of a gate and an entire chip. Factors effecting power consumption. Lecture 5: High-level structure of FPGAs. Why FPGAs and their relationship to other types of ICs. The structure of an ideal CLB and LUT. The LUT as a general function block. Mapping circuits to CLBs/LUTs. Lecture 6: Relationship among TTs, gate diagrams, and Boolean equations. How to convert from one to the other. Design of a ripple adder. Basic axioms of boolean algebra. Application of theorems of boolean algebra to algebraic simplification and proving equivalence. Relationship between DeMorgan's law and NAND and NOR gates. Lecture 7: Generating canonical forms from TTs. Applying K-maps to simplify SOPs and POSs expressions (including don't cares). Simple factoring to form multi-level logic circuits. Analysis of logic circuits for transistor count (and delay). Lecture 8: Definition of a netlist. Different forms A few basic concepts, and constructs of Verilog. Difference between structural and behavioral descriptions. Dataflow description of boolean expressions.