Project: 9-bit Even Parity Checker - ECE 421L 

Authored by Dominic Hryciuk,

email: hryciuk@unlv.nevada.edu

Last edited on 15 November 2017

  

This report details the design and operation of an 9-bit even parity checker with 8-bit data and 1-bit parity.

 

Theory of Operation:

The purpose of a parity checker is to detect errors in transmission. The parity checker circuit will determine whether the total number of logical "1"s is even or odd at the end of transmission. This number is then compared to a parity bit, which was created by a parity generator and indicates the number of bits before transmission. If the numbers match, no errors occured; if the numbers differ, an error has occured somewhere in the data.

   

The design will be designed to output a "1" if the parity matches, and a "0" if not. 

 

XOR gate design:

A parity checker is designed by using XOR gates on the bits of the data. An XOR gate will output a "0" if bits are similar, or a "1" if the bits differ. This can also be interpreted as checking if two bits contain an even or odd amount of "1"s.  

 

XOR operation can be described in the table:

 

ABXEven?
000Yes
011No
101No
110Yes
 
The XOR gate is created using PMOS and NMOS compliments, and created into a symbol for instantiation:
     
   

Parity Checker Design:

The input word of the parity checker is 8-bits of data and 1-bit parity. The data is XOR'd with itself to check if the data is even and then XOR'd with the parity bit. The schematic of the circuit is shown below:



 

The circuit outputs a "1" if the number of bits (even or odd) matches the parity bit received, and thus no errors occured. It will output a "0" otherwise, indicating an error in transmission. The operation of the cicuit is condensed into the table below:

DataParityCheck?
Even01
Even10
Odd00
Odd11

This operation is the XOR logic table inverted. Design constraints require the output to be "1" when the parity matches and "0" when they don't.
   
A symbol of the parity checker is created for simulation:

   

Simulation:

The circuit is simulated by allowing the data bits to vary through all possible combinations. This allows a simulation to view all 256 possible bit combinations at once, with odd and even parity bit.

   

The simulation can be zoomed in to view more detailed operation. The zoom in is done where the parity bit is 0, i.e. for even parity check:

   

     

The circuit is operating correctly. However, the output has a noticable delay. This is due to the logic circuitry and the inverter used in the parity check. This can be measured by looking at the time from a bit edge to when the output changes:

The delay is measured to be about 3 ns from propagation of the signal by using markers on the simulation.

 

Layout:

The layout for the parity checker instantiates the XOR cell shown below and interconnects it to create the parity checker circuit. It passes DRC and LVS checks.

    

The parity checker instantiates 8 XORs and an inverter, which can be laid out in a 2x4 array, with inputs D0-7 on the left and check on the right. It passes DRC and LVS checks.




The layout is connected to a padframe, with inputs and outputs connected to pins for fabrication. The connections to pins are documented below:

 
Pin NumberPin Name
pin<1>vdd
pin<21-28>D<0-7>
pin<29>P
pin<30>check
pin<40>gnd

The design files used in this project can be found at the link: Hryciuk_proj.zip

Return to EE 421L Labs

 

Return to Student Directory