Monday, October 29, 2018

Analog CDS vs Digital CDS


Correlated Double Sampling (CDS) is a technique to obtain two samples, reset and signal voltages, which is widely used in CMOS image sensor system to reduce the FPN noise.

There are two types of CDS: analog and digital CDS.
Analog CDS means that the subtraction between reset and pixel voltages is achieved in analog domain.

Digital CDS means that both reset and pixel voltages are converted to digital bits and then subtract them in digital domain.

Friday, October 5, 2018

Purpose of PSS and Pnoise analysis

For static circuitry, small-signal analysis such as AC or NOISE can be used to analyze them and understand their performance in terms of small signal input and noise stuff after giving the DC operating point. The operating point is found by solving the nonlinear device equations for the steady-state of the circuit with large signals, at DC analysis, and then the nonlinear elements are linearized.

However, for dynamic one such switched-cap circuit, the circuitry is working using clock signals. They can't provide a DC operating point since the circuit requires the clock signal to be active to have a steady state. PSS (periodic steady state) analysis of cadence spectreRF could linearize the network at a periodic operating point and PNOISE (periodic noise) can conduct noise analysis on this periodic operating point. 

Wednesday, October 3, 2018

Installation Opensource EDA tools: Magic/XCircuit/IRSIM/Netgen/Qflow/Qrouter

The website: www.howtoinstall.co/en provides installation commands for debian and ubuntu OS.

The open source EDA tools are provided by Open Circuit Design.


Magic : VLSI layout editor, extraction and DRC tool

XCircuit : circuit drawing and schematic capture tool

IRSIM : switch-level digital circuit simulator

Netgen : LVS and netlist conversion tool

Qrouter : over-the-cell detail router

Qflow : complete digital synthesis design flow using open-source software and  
standard cell libraries.
PCB : pcb board design tool 


The tools are installed in Ubuntu 16.04 Virtual Box. Use the following command to install them

Sudo apt-get update

Sudo apt-get install magic

Sudo apt-get install xcircuit

Sudo apt-get install irsim

Sudo apt-get install netgen

Sudo apt-get install qrouter

Sudo apt-get install qflow
Sudo apt-get install pcb

However, those commands have some issues.

For qflow installation, we better use the github link (git://opencircuitdesign.com/qflow-1.1 ) to clone the installation package.

The command lines are
git clone git://opencircuitdesign.com/qflow-1.1
cd qflow-1.1
./configure
make
make install
PS:
1. make sure you install python3.5 and python3.5tk or even higher version like 3.6 or 3.7.
sudo add-apt-repository ppa:fkrull/deadsnakes
sudo apt-get update
sudo apt-get install python3.5
sudo apt-get install python3.5-tk

2. Any missing libraries, please use apt-get install packages_name to install them.

3. After finishing the installation of qlfow, please check whether the directory /usr/local/share/qflow exists or not.

4. For making a tutorial, please make several directories. Then move the verilog file into source folder. Open the tutorial project folder and use command "qflow design_veilog_file" to run the qflow for generating three command files.
mkdir tutorial1
mkdir source
mkdir layout
mkdir synthesis
5. In final, "qflow gui" to launch the GUI window of qflow. "qflow gui&" can also be used.

For not getting compitable issues for different software, please download those packages from OCD and install them, especially magic, netgen, qrouter. Icarus verilog is also helpful to run simulations. Take you time to install it. 

In final, each project will generate a gds file located in layout folder. Please install klayout software to view it.