ENGR338 Lab 2021 Spring
Lab 7 Using Buses in ElectricVLSI
Tyrone Bracker
tabrackeryazzie@fortlewis.edu
Lab 7 Report: 8-Bit Gates with The Power of Buses
Introduction
In this lab we explored how buses can contribute to having more than 1-bit outcomes with the designs.
Almost each gate from the last lab got an 8-bit iteration, these were
the AND, NAND, OR, and NOR gates. Long layouts were also developed
because layouts actually cannot use the bus feature that schematics and
icons can;I
imagine this is because of all the smaller complex components that go into
creating different layouts. It might be too computationally intensive for
ElectricVLSI. Simulations were ran to test these different gates as well for both the logic and mutiple buses.
Materials and Methods
Task 1
was about creating a "Ring Oscillator" which was 11 inverters
connected together to form an oval or ring shape. This was the basic
manual version of what buses would later take care of, which is
simulating multiple versions of the same component in one design. The
last part of this task was implementing the data bus method to this
ring ocsillator design; this was done by naming your design what ever
it's name is then following it with "[0:X]" with it being as large as
you'd like, so for 8-bit it would be "[0:7]". A schematic and icon
using the inverter and bus method was created, tested with a DCC scan,
and lastly a layout was developed with the same scan plus NRC.
Task 2 was about designing an 8-bit AND gate. The
NAND and Inverter designs were combined to create this design. Once the
basic 1-bit AND design was created, an 8-bit design was developed
shortly after using the "AND[0:7]" data bus method. Once the schematic
and icon were made, a simulation was ran with LTSpice to make sure the
logic was correct. As soon as the desired results were shown, the final
layout for this 8-bit AND gate was then created. This took some time
but passed the DCC and NRC scans after completion.
Task 3 was structured similarly to the previous task
but was for an 8-bit OR gate. Two designs, NOR and the Inverter, were
combined to create the base OR gate schematic and icon. A simulation
was ran and then the layout was developed. Next was the 8-bit OR gate
with a schematic+icon, simulation, and layout, created and tested with
the appropriate scans.
Task 4 was simpler to create because the NAND design
already exsisted so the 8-bit version was developed right away. A
schematic+icon, simulation, and layout, were created for the 8-bit NAND
gate.
Task 5 was also simple because the base NOR gate was
already made. Another schematic+icon, simulation to test the logic, and
a final layout, were made for this final design.
Results
Task 1's ring oscillator design and LTSpice simulation can be seen
below in Figure 1 followed by Figure 2 with the layout design with NRC
scan passed.
Figure 1. Ring_Oscillator{sch} with LTSpice Simulation Results
Figure 2. Ring_Oscillator_Bus{lay} final Design with NCC scan complete
Task 2 had two simulations to test the logic of the AND gate and the two results are shown in Figures 3 and 4. These are followed by Figure 5 which contains the final layout design for this task.
Figure 3. LTSpice
simulation waveforms for [0:7] ports on the AND gate in ElectricVLSI.
The nV's are considered zeros, while the 5V entries can be considered
ones.
Figure 4. LTSpice
simulation Waveforms of the second test. All results are zero with
makes sense with an AND gate if you input a zero.
Task
3's OR gate was run through the same simualtion with both a 'one'
(Figure 5) and a 'zero' (Figure 6) and the correct results were
displayed. Figure 7 shows the final layout design for this task as well.
Figure 5. LTSpice waveforms for the 8-bit OR Gate. Since the input is a 'one', all the waveforms are 5V or 'one'.
Figure 6. LTSpice
waveforms with a 'zero' as the input. The only times the OR gate would
output a zero is when both inputs were zero, which is correct.
Figure 7. 8bit_OR{lay} final design with DCC+NRC scans complete
Task
4 had two simulations to test the logic and can be seen in Figures 8
and 9. These two will be followed by Figure 10 which contains the final
layout design.
Figure 8. LTSpice waveforms of the NAND gate. These results are the opposite of Figure 3's AND gate which is correct.
Figure 9. LTSpice waveforms for the NAND gate. Since the input is 'zero', all outputs are 'one' which is correct.
Figure 10. 8bit_NAND{lay} design with DCC and NRC scans complete
The
final task with the NOR gate had the same process and the two
simulation results can be seen in Figures 11 and 12. The last layout
design for this task can be seen in Figure 13.
Figure 11. LTSpice waveforms with a 'one' as the input. All the outputs are considered 'zero' which makes sense for a NOR gate.
Figure 12. LTSpice
waveforms with a 'zero' as an input. The nV outputs are 'zeros' and the
5V outputs are 'ones' which is correct for the NOR gate.
Figure 13. 8bit_NOR{lay} final design with DCC+NRC scans complete
Discussion
This
lab was demonstrated a new useful feature that I'm very grateful for.
It makes sense that data buses would be a thing in ElectricVLSI since
trying to wire up multiple of the same component is very tedious. That
being said, I wonder if there's anything like that for the layout
because as we covered, layouts cannot use the data bus method and it
was tedious to go through and copy-paste each layout with every port
having to be individually exported. Maybe we'll learn this in a future
lab but I still think the data bus application is a very useful one for
testing multiple inputs for the gates that were created.