Lab 2 - ECE 421L 

Authored by Jimmy Manone
manonej@unlv.nevada.edu

8/29/15


I. Steps taken for the prelab:


After backing up all work from the lab and course, I read through the entire lab to gain some understanding of the implementation of the ADC and
DAC.


From this point I downloaded lab2.zip to my desktop and extracted the contents:


first step


step 1b


I then opened MobaXterm, logged into my account, and dragged/dropped the lab2 folder into my CMOSedu folder in the home directory:


 Step 2


I then added the following line to the cds.lib file:




I then started Cadence, navigated to lab2 and opened the sim_ideal_ADC_DAC schematic:





I then ran the simulation by selecting Launch (ADE L), Session, Load State, Cell View, and OK:




From this point, the simulation appears like the following:




We can adjust the line thickness by right-clicking on one of the lines and selecting 'Trace Properties':




Solid or dotted lines can be chosen from the middle dropdown menu:




The line thickness can be adjusted using the dropdown menu to the right:




The graph background can be changed as follows by selecting 'graph' from the main context menu. The following window appears. Select the first tab 'General' and select the color (or color gradient if preferred):


Changing the background to black and making the traces thicker/solid provides the following result:




II. Provide and discuss different simulation results as related to the ADC and DAC

By changing the values to arbitrary amounts:




We obtain different simulation results than those from the initial values (Amplitude changed from 2.5V to 500mV, offset from 2.5 to 500mV, and Frequency changed from 2MHz to 3MHz). The simulation results reflect these changes in both amplitude and over time:




As the analog voltage is received at the input of the ADC, it's amplitude values are reflected as a binary representation to the outputs - with each bit from MSB (most significant bit) to LSB (least significant bit) being assigned its own output. Depending on the number of bits (N), the aggregate of the output values will range from 0 to (2^N -1) for unsigned and -(2^N)/2, ((2^N)/2)-1 for signed representations.


In this case, the configuration is for 10 bits, so the range of output in the ADC is 0 to 1023 for unsigned and -512 to 511 for signed representations.


The inputs to the DAC (arranged in the same configuration as the outputs of the ADC) are connected to the output of the ADC from the MSB to the LSB. To convert these binary values to their analog equivalent, each bit that is a '1' triggers a switch inside the DAC allowing its respective voltage to be placed in the resistor ladder network (using N-Well resistors) at its particular location. Voltage division is performed and the output (Vout) is a direct representation of the result from each combination of bits in a given time. Vout is similar to Vin (albeit with the slight digitized stepping effect in the graph) as a result of signal interpolation and smoothing from the use of the resistor network/capacitor topology.


III. Explanation of how to determine the LSB and supporting simulation


The formula for determining the minimum voltage change on the input of the ADC that enables visible changes in the digital code is as follows:


D_0:

1 LSB = (VDD/2^N), where N is the number of bits.


As this is a 10-bit configuration, 2^N = 2^10 = 1024


VDD in the schematic was set to 5V, so the LSB = 5/1024 = 4.88 * 10^-3 or approximately 5mV.


The simulation yields the following:




The voltage of the output (generated in multiples of 5mV) is less than the voltage of the input. This voltage difference becomes more prevalent as the number of bits increases.
 


 

II. Lab Report


The design of the 10-bit DAC begins with the schematic reflecting a 2R resistor in parallel with an R resistor. The R values are 10k ohms each.


The schematic is as follows:



From this, we create the symbol and erase the what is not needed:



Now, copy the 10-bit DAC (ideal) to new cell and replace the resistor network with the new symbol



We then turn this into a symbol (NOTE: When saving, make sure the pins are ordered from B0 to B9), and delete all of the unnecessary boxes/names:



Deleting the original DAC symbol and placing this symbol into the simulation schematic appears as follows:



After checking and saving the following simulation was ran which was identical to the first simulation:


From this point, we'll test it with a 1K-ohm load on the output to ground:




The simulation is as follows (The output is approximately half that of Vin):




We then introduce a 10pF capacitor and the output is as follows:



The effect on the output involves a smoothing of the signal, thus it appears less jagged. There is also a time
delay introduced of approximately 75ns.


Combining the resistor and capacitor results in a waveform that has the reduced amplitude from the
resistor in combination with the delay (increased to approx 100ns) and smoothing effect of the capacitor:


(modified schematic)




(simulation)



Tying the bits (0-8) to ground and removing the ADC (using pulse) results in the following schematic/simulation:









The delay at 0.3 volts (half of Vout at 0.6 volts) is approximately 70ns. The calculations 0.7RC = 0.7(10k)(10*10^-12) ~ 70ns, so the waveform verifies the RC delay calculation.


How to determine the output resistance of the DAC:


Using a 5 bit example, we look at the bottom of resistor ladder (2R || 2R is just R), then R and R are in series. Add them and it is again 2R || 2R (The ladder collapses upwards each time). Do this all the way up, and eventually out solution is R. See below:


 


Discuss what happens if the resistance of the switches isn't small compared to R:


If the resistance of switches were large, it would increase resistance in the ladder (10k series resistors per bit) causing a further drop in output voltage (See below):




As for every lab, all work is backed up using my Dropbox account in an attempt to minimize the effects of Murphy's Law: