4 min read

VLSI Cadence Design

VLSI Cadence Design

(Jan. 2024 - April. 2024)

Introducing digital circuits building using Cadence.

Introduction

After learning more about digital circuits, I studied Cadence Layout to present and simulate digital circuits in a professional manner. Here, I will show designs of a Full-Adder and a 4-bit Up/Down Counter.

Full-Adder

In this project, I designed a 4-bit full adder and subtractor circuit capable of adding or subtracting two 4-bit input numbers, denoted as A = A3A2A1A0 and B = B3B2B1B0. The process began with creating a 1-bit full adder using NAND and XOR logic gates. By connecting four 1-bit full adders and incorporating XOR gates at the inputs, I constructed the 4-bit full adder.

Schematic of 4-bit Full Adder using 1-bit Full Adders and XOR gates

To facilitate the subtraction operation, a logical 1 is sent to the control bit input (K) of the adder. This signal is directed to Cin1 of the first adder and the XOR gates that process each bit of B. For addition, the control bit input (K) is set to logical 0. After developing the schematic for the full adder, I proceeded to create the layout and compared the outputs of the schematic and the post-layout schematic to ensure accuracy and functionality. The following are the building blocks of the 4-bit Full Adder.

Inverter Design

NAND Gate Design

XOR Gate Design

1-Bit Adder Design

1-Bit Adder Symbol
1-Bit Adder Layout

4-Bit Full Adder Design

 Schematic of 4-bit Full Adder using 1-bit Full Adders and XOR gates.
Layout of 4-Bit Adder
DRC check for layout of 4-bit Full Adder.
Testbench for 4-Bit Adder
Presenting "2+3=5" using the Full Adder

4-bit Up/Down Counter

In this project, the objective is to design a 4-bit binary up/down counter. The design process begins with the creation of a master-slave JK flip-flop, utilizing two D latches built from NAND gates. By combining four of these JK flip-flops with additional logic gates, the counter is designed to output 4 bits (Q0-Q3), representing the number of clock cycles. The project involves simulating both the schematic and post-layout schematic of the counter, and analyzing the output waveforms in response to varying inputs.

4-bit Up/Down Counter Schematic

In theory, the 4-bit up/down counter will increment or decrement with each clock pulse. The counter is designed to represent numbers from 0 to 15 (0000 to 1111 in binary) when counting up, and from 15 to 0 when counting down. The counter has four inputs: reset, up_down, Vin for J0 & K0, and clock. The reset input must be set high for the counter to operate. The up_down input determines the counting direction—high for counting up and low for counting down. Vin for J0 and K0 should remain high, typically connected to Vdd, to ensure proper operation. The clock input is crucial, as the counter's response is based on the clock’s period and pulse width. The design utilizes JK flip-flops because they toggle states on the rising edge of the clock. With both J and K inputs connected to logical 1 (Vdd), the flip-flops alternate their output with each rising clock edge, enabling the counter’s counting function.

The following are the building blocks of the 4-Bit Counter.

JK Flip-Flop

Special Thanks

Kiril Afonchenko – – Teammate – – kafonche@uci.edu