Lab 7 - EE 421L 

Cesar Macias

maciasc4@unlv.nevada.edu      

10-26-2014

Using buses and arrays in the design of word inverters, muxes, and high-speed adders

We first create a 4 bit inverter to demonstrate the use of buses. The shematic can be seen below
4bitinverterschematic
This can be more consice by the use of buses and making the specifying the size of the instance when instering the piece (IO<from:to>) the same schematic as the previous can be seen using buses.
new4bitinvschematic
symbol of previosu schematic
4bitinvsym
we will now simulate this piece and put different size capacitor in each of the ouputs
4bitinvsim

4bitsimuresults

From the simulations results we can see the teh bigger the capacitor the longer it takes for the signal to change (charge and discharge) and we can grab a specific signal from the bus without having to do multiple simulations.

We will now create multiple logic gates that use 8 bit size inputs and outputs

NAND:

schematic

NAND2bitschem

this is the symbol for the 2 bit NAND symbol

NAND2bitsymbol

and the schematic for the NAND 8 bit gate

NAND8bit

NOR:

schematic

NORschematic

2 bit symbol

nor2bitsym

and the 8 bit schematic

nor8bitschem

OR:

schematic

orschem

2 bit symbol

or2bitsym

and the or 8 bit schematic

or8bitschem

AND:

schematic

andschem

2 bit symbol

and2bitsym

and the 8 bit schematic

and8bitschem

INVERTER:

schematic

single input single output symbol

not1bitsym

and the 8 bit schematic

We can now run a simulation of the gates, it's possible to run it in a single schematic as we did below.

gatesschem

Simulation results can be seen below

gatessim

Now we will work on the MUX
   
The operation of the MUX is really simple, if high is selected then A is the output and if Low is selected the B is the output. The demultiplexer works the same but opposite. When S is high, then the output will be A but when S is low then the output will be B.


Now the 8 bit wordsize mux  and demux will work the same except this time the lengt of the input and outputs is eight bits long.
8bit multiplexer schematic


We selected just a couple of output to demostrate that the multiplexer works, it is not necessary to have 8 bit word sizes since for demostration purposes all the bits contain the same information. The same will be done to the demux for simplicity purposes.


We will now do an 8 bit full adder, we will star by making a 2 bit adder that includes a carry in and a carry out, the schematic can be seen below

This is the layour for the full adder


Now using this full adder we will creaste an 8 bit adder by cascading the carry outs, the schematic for the 8 bit can be seen below.


by using buses we connect the carry out from 0 to 6 the the carry in and carry in 0 is separate.
this is the symbol for the 8 bit full adder

this is the test schematic


this are the simulated  results, I tried using the most general  test  possible  that  will  test all  possible  cases.   I used 1111,1111 + 0000,0000 and a carry in of 1 after a set time. At first we can see the the output is 1111,1111 carry out 0 but once the carry in is included we get 0000,0000 carry out 1 so it added all the numbers are succesfully and carried out the 1.  Feel  free  to  test  the  adder as  necessary.


The layout and proof of LVS can be seen below.




Now we will back up this lab


The files for this lab can be found here.

Return to labs