Skip to main content

DYCIFER (Dynamic Circuits Performance Evaluation Tool) is a tool dedicated to the calculation of the performance indicators of integrated circuits operating at relatively high frequencies.

Project description

GitHub Workflow Status GitHub GitHub issues GitHub package.json version (branch) GitHub last commit

banner

Dynamic Circuit Performance Evaluation Tool (DYCIFER)

is a tool written in Python that allows for the extraction of the Performance Indicators of Dynamic Integrated Circuits. Through the analysis of each system's signals (both input and output), the tool will be able to extract indicators such as the Total Harmonic Distortion (THD) or Signal to Noise & Distortion Ratio (SNDR) of dynamic integrated circuit.

How does it work

Any integrated circuit designer can simulate the time response of an implemented system through a Transient Analysis, which is a basic concept of Electric Circuits Theory. The exported data to Comma Separated Values files (.CSV) can be parsed as input to the tool. In the examples provided, ®Cadence Virtuoso's time response simulator was used to obtain some of the time response data.

fft-algo

From the simulated time response data of the system we want to analyze, the Fast Fourier Transform (FFT) (core) algorithm is used to enable the extraction of all the Dynamic Circuit Performance Indicators listed in the table below. From these indicators, an integrated circuit designer can eccurately measure the performance of the designed system.

Performance Indicator Description
Signal Strength Power of the analysed signal
DC Signal Strength Power of the DC component of the analysed signal
ENOB Effective Number of Bits
SFDR Spurious Free Dynamic Range
SNR Signal to Noise Ratio
THD Total Harmonic Distortion
SNDR Signal to Noise & Distortion Ratio
HD2 2nd Order Harmonic Distortion Ratio
HD3 3rd Order Harmonic Distortion Ratio
Gain Power Ratio between the Output and Input signals
Rise Time [90%] The total time it takes the signal to rise from 10% up to 90% of its total amplitude - only important in pulse responses or pulse modulated signals.

Dependencies

  • Poetry - Poetry is the default ®Python package manager, and it allows to easily deploy and install any project or package written in Python language.

Other package dependencies

Installation

It is highly recommended to use Poetry in order to install DYCIFER because it will automatically setup the virtual environment and package dependencies necessary to run this tool.
First of all, git-clone this repository into a directory:

git-clone

git clone https://github.com/das-dias/dyciferpy.git

Alternatively, you can download this repo's .zip file and extract it into a personal directory, if you don't have git installed in your machine.

Next, using Poetry, inside the downloaded repository directory, run the installation command:

poetry-install

poetry install

Usage

Asking for help

poetry run dycifer | -h | --help

General Help

DYCIFER is a tool designed to run on the console, and as such it features a neat-looking Command Line Interface (CLI) that allows for an easy interaction with its sub-frameworks:

  • Mixed-signals Integrated Circuits dedicated framework
  • Analog Integrated Circuits dedicated framework

Mixed Signals Integrated Circuit Performance Analysis

poetry run dycifer mixedsignals | -h | --help

Mixed-Signals Help

This sub-framework is mainly dedicated to provide automated performance analysis to the following systems:

  • Analog-to-Digital Converters (ADC) (considering parallel output bit lines)
  • Digital-to-Analog Converters (DAC) (NOT IMPLEMENTED YET)
  • $\Sigma \Delta$ (Sigma-Delta) ADC (considering serial Pulse Width Modulated output signal line) (NOT IMPLEMENTED YET)
  • $\Sigma \Delta$ DAC (NOT IMPLEMENTED YET)

Analog Integrated Circuit Performance Analysis

poetry run dycifer analog | -h | --help

Analog Help

This sub-framework provides coverage to two classes of analog integrated systems:

  • Continuous Amplitude Output Systems (CAOS)
  • Discrete Amplitude Output Systems (DAOS)

The discrimination of analog systems in these two classes provide for powerful, simplified methods to retrieve the performance indicators of (e.g.)

  • Transient responses resembling square (or pulse) waves, or pulse modulated sinusoidal waves, regarding DAOS systems

  • Sinusoidal waves (impure/distorted/noisy or pure), regarding CAOS systems

Examples

Detailed examples on the usage of this tool can be found in the following documents:

Performance Analysis

Saving Images and Performance Indicators

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dycifer-0.1.1.tar.gz (24.5 kB view hashes)

Uploaded Source

Built Distribution

dycifer-0.1.1-py3-none-any.whl (23.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page