Lab 7 - ECE 421L 

Authored by Silvestre Solano,

Email: Solanos3@unlv.nevada.edu

10-27-2014

 

 

X4 inverter using bus connections.

 

 

 

In order to begin this tedius lab, I will begin by building the simple X4 inverter. To accomplish this, I instatiate the 12u/6u inverter used in lab 5.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/4.JPG

 

Since this lab apparently requires that all NMOS and PMOS have a 6u/0.6u W/L, I will edit the above inverter and change the W/L as needed in all the NMOS and PMOS as shown below.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/5.JPG

 

The name of the symbol has been changed to "SS" in order to conform to the standard of puttin your initials on symbols and stuff.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/6.JPG

 

A new schematic is created and the above symbol is instatiated. It has its instance name changed to "I0<3:0>" to match the pictures provided in the lab instructions. This name change makes this into 4 inverters that are shown compactly as one symbol. Using the bus wire connector, the input "A" and output "Ai" have 4 wires attached to each.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/7.JPG

  

The above schematic is transformed into yet another symbol.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/8.JPG

 

This rectangular symbol isn't good enough, so I changed it to look more like the well known triangular shape of a inverter.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/9.JPG

  

And yet another new schematic is created in order to simulate the X4 inverter with different capacitive loads. The completed schematic for the simulation is shown below and is pretty much the same schematic shown in the lab instructions.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/11.JPG

 

As always, the models for the NMOS and PMOS must be added into the simulation parameters.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/10.JPG

 

The schematic is then simulated and the following picture shows the outputs for each capacitive load.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/14.JPG

 

The above simulation results it easily seen that a bigger capacitance results in a longer required time for discharging/charging. This is due to the time constant RC. For example, the time delay in a RC  circuit is defined to be 0.7RC. Since the capacitance is bigger, the 0.7RC equation increases, which increases the delay. This is best shown on the above simulation results in the output "out<1>", which has the biggest capacitave load. In this output, the wave form has more of a "slope" on its rise and file time, which indicate that it takes longer for it to charge/discharge. In contrast, "out<3>" , which has the smallest capacitive laod, has a smaller rise/fall "slope", which indicates that it keep up with the change of the input since it is does not reqire as much time for charging/discharging.

 

 

 

Design and simulation of an 8-bit NOR gate.

 

 

 

For the NOR gate, professor Baker did not provide  a schematic to copy. So, I had to google the CMOS schematic for the inverter. I came across the follwing picture. This picture was obtained from the Ohio university and the specific PDF is linked here. It is apparently the work of a person named Basawaraj.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/15.JPG

 

The above schematic was implemented as follows using the 6u/0.6u width and length for all devices.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/16.JPG

 

A symbol was created for the above schematic as shown below.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/17.JPG

 

The OR gate is essentially the same thing as the NOR gate with an inverter attached to its output. Creating the OR gate follows the same procedure as the NOR gate.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/18.JPG

 

The symbol is shown below.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/19.JPG

 

The NAND gate schematic and symbol were taken from lab 6. Again, the AND gate was just the NAND gate with an inverter at its output.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/20.JPG

 

The symbol for the NAND gate.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/21.JPG

 

The AND schematic.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/22.JPG

  

The symbol for the AND gate.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/23.JPG

 

 

 

 

The NOR, OR, NAND, AND, and inverters will have 8 bit versions built and simulated as follows.

 

8-bit NAND schematic.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/50.JPG

 

Symbol for NAND.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/51.JPG

 

8-bit NOR.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/52.JPG

 

Symbol

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/53.JPG

 

8 bit AND

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/54.JPG

 

Symbol

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/55.JPG

 

8 bit OR

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/56.JPG

 

Symbol

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/57.JPG

 

8 bit inverter

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/81.JPG

  

Symbol

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/82.JPG

 

 

 

 

The simulations for the above circuits where made in the single schematic shown below. Since I could not really decide on what the 72 total inputs and the 40 outputs should look like, I just simply input the same signal for A and the same signal for B on all 5 devices. The inputs and outputs follow the simulation schematic shown below.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/79.JPG

 

A and B input for all devices (except the inverter that only accepts one input, A).

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/59.JPG

 

Output for AND

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/60.JPG

 

Output for NAND

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/61.JPG

 

Output for OR

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/62.JPG

 

Output for NOR

  

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/63.JPG

 

Output for inverter

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/80.JPG

 

This essentially concludes the part of the 8 bit gates. All the gates were named IO<8:1> because I assumed that the 8 meant rows and the 1 meant columns. Also, the above simulations are repeated throught all 8 outputs for each individual device.

 

 

 

 

Design and simulaiton of a MUX/DEMUX.

 

 

 

 

For the MUX, professor baker supplied us with the schematic. I simply based the one I created off of his. The schematic for the MUX I designed is shown below. In my design, I made the A, B and Z pins to be inputoutput because they will change from input to output in the DEMUX process.

  

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/83.JPG

 

Its symbol is shown below.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/86.JPG

 

The simulation schematic is shown below. Please take note that the Si input is just the inversion of the S input. Therefore, I put an inverter to automatically take care of the Si input.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/67.JPG

 

The simulation results are shown as follows.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/68.JPG

 

As it can clearly bee seen, the Z output can be the same output as the input A or it can be the same as the input B. It can only be one ore the other. In order to select which one will be choosen, the S input is either 1 or 0. When it is 1, The A input is selected. When the S input is 0, then B is selected.

 

For DEMUXING, the process is reversed and the Z output becomes the input while A and B become outputs. S selectes whether or not the Z input is transmitted through the A or B outputs. The DEMUX schematic is the same as the MUX,  but it is reversed. The schematic for the simulation is shown below followed by the simulation.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/84.JPG

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/85.JPG

 

The simulaion above seemed right at first until I noticed that B started at a voltage slightly below 4 volts. I believe that this is incorrect, but I spent too much time working on the full adder, so I could not find a solution to this problem. Everything else seems to work fine. However, I believe that B is supposed to start at zero for the above simulation.

 

 

8 bit MUX/DEMUX

 

The schematic and symbol for the DEMUX was changed in order to internally incorporate the inverter for the Si input. The results of this are shown below.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/69.JPG

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/70.JPG

 

To create the 8 bit mux, the above schematic was used as shown below.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/71.JPG

 

A symbol was created for the 8-bit MUX/DEMUX.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/72.JPG

 

The simulation circuit is as follows.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/73.JPG

 

The simulation results are essentially the same as the single MUX, but with its outputs repeated multiple times.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/74.JPG

 

 

 

 

 

8-bit CMOS full adder schematic, simulaition, and layout.

 

The following pictures are used to construct the schematic for the CMOS full adder.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/1.JPGhttp://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/2.JPG

 

The completed schematic is shown below. In the below schematic, the name "icin" is supposed to be "icout", but I did not change it for fear of having it mess up and starting all over. "icout" stands for the inverted cout.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/27.JPG

 

The symbol for the CMOS full adder is shown below.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/29.JPG

 

The 8 bit CMOS full adder is built using the above schematic. They will be "strung" up together were the cout of the first adder feeds into the cin of the second adder and so on. The first cin, labeled cin1, will be grounded in the simulations. The last cout, labeled cout8, will be treated as an output. The completed schematic is shown below.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/34.JPG

 

The symbol for the 8 bit adder is shown below.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/36.JPG

 

The simulation to test the 8 bit adder is shown below. For the bus input A, I used the test number 10010010 (146) and for the B bus input, I used the test number 00111010 (58). This was done using an individual pulse source for each individual bit. A/B<8> is the MSB and A/B<1> is the LSB. The final schematic is shown below.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/75.JPG

 

The input can be seen in the above schematic, but I also showed them in the following simulation picture. Since there are so many inputs, I will show the output in the picture after the one shown below.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/78.JPG

 

The output is shown below.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/76.JPG

 

The above simulaiton shows an output of 11001100 (204). This is correct because the sum of 146 and 58 is indeed 204. Therefore, I deem this 8 bit adder to be successfull. the s<8> is the MSB and s<1> is the LSB.

 

 

 

Layout of the CMOS 8 bit full adder.

 

 

 

In order to lay out the 8 bit full adder, I will first create the layout for the single full adder and then simply copy and paste the single one 8 times. After hours of work, the completed layout for the single full adder is shown below with the ICW showing no errors for DRC.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/41.JPG

 

The successfull LVS is shown below.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/43.JPG

 

For the 8 bit adder, I copied the one shown above 8 times and connected the cout of the first one into the cin of the second one and so forth. The completed layout is shown below with the CIW showing no errors for the DRC.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/46.JPG

 

And last but not least, the completed layout was LVSed with the 8 bit schematic and ran successfully with matching net lists. This is shown below.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/48.JPG

  

A close up on one of the interconnecting sections of the completed layout is shown below.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/49.JPG

 

This concludes yet another time consuming lab.

 

 

 

As always I will back up my stuff on my laptop and flash drive as shown below.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/solanos3/lab7/87.JPG

 

My lab files used in this lab can be found in this zip.

 

Return to the main Lab directory.