McGill University Department of Electrical and Computer Engineering Course: ECSE 323 - Digital Systems Design Winter 2012 Assignment #3 – Monday Name & Student ID:
TOPIC: CMOS CIRCUITS & VHDL Exercise 1
(35 points)
a) Consider the OR gate Y=(A OR B), where A, B are the input Boolean variables. Let us also assume that the input pattern AB follows the 2-bit Binary counting pattern, i.e., AB = 00, 01, 10, 11, 00, …, where every 1ns a transition occurs, e.g., from AB=00 to AB=01. Assume that the load capacitance at the output node Y is equal to CY=1fF. Also, we have: VDD=2V. Compute the switching power consumption at the node Y. b) What happens to power, when Y is an n-input OR gate, while the n inputs follow the nbit Binary counting pattern? Assume that CY=n fF for this case, and discuss how power consumption is impacted as “n” increases. Exercise 2
(25 points)
Let's consider a combinational function F which drives a circuit with capacitance C L. The propagation time tp through F increases as CL grows and can be expressed as: tp = tp0 + dtp * CL where tp0 is the propagation time when CL=0, and dtp represents the capacitive dependence of tp. The following table gives the timing characteristic of different logical gates. Function NAND-3-inputs NOR 2-inputs
Cin 5 Cref 6 Cref
tp0 40 tpref 14 tpref
dtp 3 dtpref 2 dtpref
Cin is the capacitance for each input. In order to simplify calculations, values are given as a function of reference quantities: Cref for the capacitance, tpref for the propagation time and dtpref for the capacitive dependence.
a) Assume that the circuit drives another circuit with CL= 20*Cref. By using the timing characteristic of gates in the table, derive the propagation time of the circuit. (Hint: dtpref * Cref = tpref) Exercise 3
(40 points)
Consider the truth table in the following figure. Write the VHDL code describing this circuit using only concurrent statements (g2,g1,g0 are the outputs, while b0,b1,b2 are the inputs).
Assignment 3 - Monday.
Exercise 1: (35 points) a) P= activity * CY * f * Vdd2 = ¼ * 1fF * 1GHz * 22 = 1uWatt, Activity is ¼ because every 4 cycles, one charge-discharge happens at the output Y. b) P= activity * CY * f * Vdd2 = (1/2n) * nfF * 1GHz * 22. Hence, the switching power at the output node Y almost exponentially decreases as the number of inputs increases.
Exercise 2: (25 points) tp =40*tpref + 3*6*tpref + 14* tpref + 2*20* tpref =112* tpref
Exercise 3: (40 points) After simplifying the logic function of the outputs we obtain: g2=b2, g1=b2 XOR b1, g0=b1 XOR b0.
LIBRARY IEEE; Use ieee.std_logic_1164.all; entity circuit1 is port(b0, b1, b2: in std_logic; g0, g1, g2: out std_logic);
end circuit1; architecture logicfunct of circuit1 is begin g2