Lab 7 - EE 421L - Fall 2019

Using Buses and Arrays in the Design of Word Inverters, Muxes, and High-Speed Adders

                       
Authored by John Patrick Buen

Rebelmail: buenj1@unlv.nevada.edu

11/5/2019 

                                

                                     

Prelab: The prelab for this lab is to complete Tutorial 5. Images for the tutorial are shown below. 

           

Ring Oscillator: schematic, layout, extracted view, and simulation           

              

-> 

                       

-> 

                    

                      

                       

        

                       


                             

LAB: 

            

                 

1. Design and Simulation of 4-Bit Inverter 

               

            

Originally, the 4-bit inverter is designed as shown below. 

           

                  

To have an equivalent and concise schematic for the 4-Bit Inverter, I used wide buses/wires to connect the input and output pins. (wide wires can be used by doing the shift+W bindkey)

                 

                   

Schematic                                                                                                                             Symbol

-> 

               

                 

The inverter shown in the above schematic must also have it's instance name be edited (bindkey Q) to perform a multiple bit operation. In this case, I named the instance of the inverter IO<3:0> operating 4-bits. The instance name is displayed as a 'value'.

                

                    

Simulation of the 4-Bit Inverter

                    

              

Simulation Schematic  and Simulation

                      

 

                     

The output of the 4-bit inverter is driven with multiple capacitive loads (100fF, 500fF, and 1pF). out<0> does not have a load.

                     

                        

                         

Simulation

                         

According to the simulation above, driving a capacitive load influences the delay and the rise/fall times of the output signals. The trend shown above is that the higher the magnitude of the capacitive load, the slower the rise/fall

times of the signal. Not having a load capacitor or having a very small capacitive load on the output would account for the opposite in which results to rise/fall times being much sharper and faster.     

                  

                   

                     

                       

                     

2. Design and Simulation of an 8-Bit NAND, NOR, Inverter, AND, and OR Gates

                

                 

- Design of an 8-Bit NAND Gate

                  

The NAND gate used in the following schematic for the 8-bit NAND was the NAND gate used in Tutorial 4

                

                        

1-Bit NAND Schematic and Symbol

             

-> 

                 
                       

8-Bit NAND Schematic and Symbol

-> 

                   
                       
               
- Design of an 8-Bit NOR Gate:
             
1-Bit NOR Schematic and Symbol
           
-> 
             
                   
8-Bit NOR Schematic and Symbol
             
->
 
                 
               
                             
- Design of an 8-Bit AND Gate:
                 
1-Bit AND Schematic and Symbol
               
->
 
           
For the AND schematic, I simply inverted the output of a NAND gate to have an AND operation. (AND is just the inverse/complementary function of NAND)
                 
               
8-Bit AND Schematic and Symbol
               
->
 
               
               
                   
- Design of an 8-Bit Inverter:
             
The design for the 8-bit inverter is composed of instantiations of the 1-bit inverter that was previously made.
           
               
8-Bit Inverter Schematic and Symbol
             
->
 
             
                 
                   
- Design of an 8-Bit OR Gate:
                   
1-Bit OR Schematic and Symbol
           
->
 
                   
Again like the AND gate, I also inverted the output of the NOR gate to make the OR gate. (OR is the inverse/complementary function of the NOR)
               
                     
8-Bit OR Schematic and Symbol
               
->
 
               
                 
               
                     
Schematic and Simulation Results of ALL the Gates:
               

                     
                           
                         
Simulation
                 
 
               
             
For the simulation schematic, all of the inputs of all 8-bits for each gate have the same input signal corresponding to their respective A and B pins. Shown in the simulation above, I only showed bit<0> for the outputs of the 8-bit NAND, NOR, AND, and OR gates since all of the output bits output the same signal.
               
                 
                 
                   

3. Design and Simulation of a DEMUX/MUX 

                   
The schematic and symbol for the MUX is shown below (given schematic)
             
->
                 
The function of the DEMUX/MUX shown above is for multiplexing only because the inputs A and B are designed to have a connectivity that is 'input' only. Same thing goes for the output Z, it's connectivity is 'output' only. Thus the operation of the above schematic goes in only one direction where the select input (S) controls which input (A or B) to output onto Z.
             
             
In order to have the schematic operate as either a DEMUX or MUX, the inputs (A and B) and output (Z) pins have to have a connectivity of 'input/output' so that the operation can go both ways. For example, to operate as a MUX, the select input (S) will select either A or B to output depending if S is low or high (logic 0 or 1). In this case, A and B are inputs and Z is an output. To operate as a DEMUX, the select input will select where to output Z depending if the select is either low (output to B) or high (output to A). In this case, Z is an input, and A and B are outputs.
                     
                   
New Schematic and Symbol for the DEMUX/MUX (A, B, and Z pins are changed to input/output)
                   
->
 
               
             
Simulation Schematic for the DEMUX/MUX (the DEMUX/MUX is instantiated twice in order to simulate both the DEMUX and MUX operations)
                 
  
             
           
           
Simulation of the DEMUX/MUX
         

                   
                       
                         
Design and Simulation of an 8-Bit DEMUX/MUX:
             
8-Bit DEMUX/MUX Schematic and Symbol
             
->
 
         
From the schematic above, the Si select input is inverted from the S select input. This is because the Si input is just an inversion of the select signal S and by doing this, there is now only 1 select input for the DEMUX/MUX.
               
               
Simulation Schematic for the 8-Bit DEMUX/MUX and Simulation
               

               
             
Simulation
           

         
The simulation for the 8-bit DEMUX/MUX is the same for the 1-bit DEMUX/MUX because I only displayed 1 bit for each of the input and outputs on the simulation.
           
           
           
               
Design and Simulation of an 8-Bit AOI (High-Speed) Full Adder:
                   
Schematic of a 1-Bit AOI Full Adder (from the book)
               

                 
                   
Symbol
         

                     
                     
Layout of the AOI Full Adder
               

           
       
Extracted View
         

           
         
DRC and LVS Result of the 1-Bit AOI Full Adder
         

           
The 1-Bit AOI Full Adder DRC'ed and LVS'ed successfully.
           
         
             
Schematic of the 8-Bit AOI Full Adder
             

               
The notation of the wide wires on the Cin and Cout pins are inspired by the ring oscillator wide wire notation in the prelab. Besides the first Cin and the last Cout
bits, each cin of each bit of the 8-Bit Full Adder would be the cout of it's preceding full adder. In summary, the Cin bit would ripple through all 8 Full Adders
towards the very last Cout bit.
               
                 
Symbol of an 8-Bit AOI Full Adder
               

           
             
                 
Layout of an 8-Bit Full Adder
             

                       
                       
Extracted View
             

                   

                    

                

DRC and LVS Results of the 8-Bit Full Adder 

                 

 

               

The 8-Bit AOI Full Adder DRC'ed and LVS'ed successfully with no errors. 

               

                

                       

             

Simulation Schematic for the 8-Bit AOI Full Adder 

               

   

                     

               

To test the operation of the 8-Bit Full Adder, I wanted to test 4 + 4 (00000100 + 00000100) which equals 8 or 00001000. With the Cin bit = 0.

                 

                   

Simulation Result

                 

   

            

The simulation above only shows the output sum (Z) from the simulation schematic. The result shows only bit <3> to be high and the rest of the bits are low. This 

is the correct result from the addition since 4 + 4 = 8 where 8 is equivalent to 00001000 proving that only bit <3> is high.

              

                         

                        

Project Zip File: lab_7.zip

                

                             


                              

                                            

                       

                             

Return to buenj1

Return to EE421L Students