Project - ECE 421L 

Authored by Brian Medrano Kiaer

November 13, 2018

kiaer@unlv.nevada.edu

  

Project Description: 

Design a serial-to-parallel converter that takes serial input data and an associated clock signal and generates an 8-bit output (parallel) word and clock. 



Inverter:



Here is one of the components needed for the the Serial to Parallel converter. This is a 6u/6u Inverter used for the D Flip Flop mentioned later on this page. The layout view and extracted view are also displayed below. The layout was created using a Standard cell in order to have an organized layout with other components needed.

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip19.JPG     http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip20.JPG

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip25.JPG   http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip26.JPG


http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip27.JPG

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip28.JPG

Transmission Gate:

Here is the schematc and symbol for the Transmission Gate using a 6u/6u PMOS and NMOS. This component is also used to implement a D Flip Flop.

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip21.JPG     http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip4.JPG

Below displays the layout (left) and the extracted view (right) of the Transmission Gate with verification of DRC and LVS.

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip29.JPG   http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip31.JPG

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip30.JPG

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip32.JPG



D Flip Flop:

The D Flip Flop schematic is below which uses 4 6u/6u Inverters and 4 Transmission Gates (TG). In the schematic, a 5th inverter is used to simulate an invertered clock signal. The symbol is also show below, using a triangle to indicate the CLK signal.



http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip22.JPG  http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip6.JPG

Layout:

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip33.JPG

Extracted:

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip35.JPG

DRC
http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip34.JPG

LVS

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip36.JPG

D FlipFlop Simulation:

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip23.JPG











CLK_OUT:

I created a symbol to simulate Clock_out which would act as clk/8. I used three D Flip Flops to simualte clock/2^N with N as the number of D Flip Flops.

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip7.JPG

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip8.JPG

Layout:

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip37.JPG



Left: clk input                                                                                                                    Right: clk_out output
http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip41.JPG     http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip42.JPG


DRC

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip38.JPG

Extracted:

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip39.JPG

LVS

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip40.JPG

CLOCK/8 OUTPUT SIMULATION:

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip24.JPG

8-bit Serial-to-Parallel Converter: 

Here is the final schematic used for the 8-bit Serial-to-Parallel Converter. This schematic uses two main registers the Shift Register and the Hold Register shown below. The Shift Register uses the normal clock input while the Hold Register uses clock_out which in this case is clock/8. The input is connected to the CLK_OUT symbol above to implementthe effects of clock_out. Lastly, I created a symbol that has two inputs (Din and clk) and nine outputs (D0-D7 and CLK_OUT).

Shift Register: 

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip11.JPG

Full Shift Register Layout (click to zoom):

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip48.JPG


Left side of shift register displaying inputs: Din and clk

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip45.JPG   

Hold Register: 

Schematic:

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip12.JPG

Full Hold Register Layout: (click to zoom)
http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip49.JPG

Below shows examples of the outputs on the hold register: CLK_OUT and D7 (circled in red)

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip46.JPG
 http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip47.JPGhttp://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip47.JPG

 




Full Schematic: 

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip9.JPG

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip10.JPG

DRC Verification:

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip44.JPG

Full Layout of 8-bit Serial-to-Parallel Converter: (click to zoom)

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip43.JPG

LVS

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip50.JPG

Simulations:

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip14.JPG

Here is the output waveform of the above schematic above. For this simulation the output I am aiming for is to get 11110000. 

When looking at the waveform output D0-D7 the results are 11110000 at 0.8  us. 

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip13.JPG

Here is a second simulation using a serial input for Din to get an output of 10110011. When creating the input Din is inputted as 11001101. 

When looking at the output from D0-D7 the output is as expected at 0.8us 10110011.

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip15.JPG http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip16.JPG

Here is a third simulation using a serial input for Din to get an output of 10010101. When creating the input Din is inputted backwards as 10101001. 

When looking at the output from D0-D7 the output is as expected at 0.8us 10010101. 

http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip17.JPG   http://cmosedu.com/jbaker/courses/ee421L/f18/students/kiaer/proj/snip18.JPG     


My Design Directory is here: LAB_PROJECT.zip 

Return to Brian's Lab