nurirfansyah / tt06-analog-its_ip_alits01

Analog-digital SOC playground ITS: Voltage controlled ring oscillator
Apache License 2.0
0 stars 0 forks source link

Analog ITS Chip 01: Voltage-Controlled Ring Oscillator (VCRO)

Introduction

This is a design of a voltage-controlled ring oscillator that utilizes transmission gates for delay control, aimed at achieving wide tuning ranges and fast voltage swings. Although the output frequency is not linear with the voltage control, this circuit serves as an exercise project to explore the potential of open-souce analog circuit design using Sky130 PDK and fabricating it through TinyTapeout.

Repository Structure

How It Works

The circuit is a voltage-controlled ring oscillator using transmission gates as the delay control element. It is based on the following publication:

Retdian, N., Takagi, S., & Fujii, N. (2002). Voltage controlled ring oscillator with wide tuning range and fast voltage swing. 2002 IEEE Asia-Pacific Conference on ASIC, AP-ASIC 2002 - Proceedings, 201–204. DOI link.

How to Test

There are two VCOs, inputs to both VCO are shared. VCO#1 output is connected to analog pin, VCO#2 outputs on each delay element stage can be observed through digital output pins.

Pinouts:

Pin Name Description Corresponding Signal
ua[0] VCO#1 output signal out
ua[1] Negative control voltage vcon_n
ua[2] Positive control voltage vcon_p
uo[0] VCO#2 output stage 5 out5
uo[1] VCO#2 output stage 4 out4
uo[2] VCO#2 output stage 3 out3
uo[3] VCO#2 output stage 2 out2
uo[4] VCO#2 output stage 1 out1

External Hardware

To test the VCRO (if it works), apply control voltages vcon_n and vcon_p to ua[1] and ua[2] respectively. Ensure that their combined sum equals the VCRO's supply voltage of 1.8V for optimal performance.

Simulation

The circuit can be simulated with ngspice, please use xschem to open the xschem/vcro_5st_tb.sch file and the simulation can be invoked from there, or alternatively the spice netlist can be generated from xschem.

Circuit picture

Circuit Layout

Tiny Tapeout Analog Project Template

What is Tiny Tapeout?

TinyTapeout is an educational project that aims to make it easier and cheaper than ever to get your digital designs manufactured on a real chip.

To learn more and get started, visit https://tinytapeout.com.

Analog projects

For specifications and instructions, see the analog specs page.

Note: Analog designs are currently in beta. There's a small chance that the changes will change before the deadline for Tiny Tapeout 6, or that we will have to postpone the analog design support to a future shuttle. If you have any questions, please join the Tiny Tapeout Discord and ask in the #analog channel.

Enable GitHub actions to build the results page

Resources