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
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.
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 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
Usage
Asking for help
poetry run dycifer | -h | --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
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
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file dycifer-0.1.1.tar.gz
.
File metadata
- Download URL: dycifer-0.1.1.tar.gz
- Upload date:
- Size: 24.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.9.7 Darwin/21.5.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2856fd0e784c36299f2aec6242b8d86653d80d925aaf08e6d3924b571e2cc181 |
|
MD5 | ec4d944c37430b80593b24679a3cd308 |
|
BLAKE2b-256 | 87d999db5f053753b6717e24b4c5c01d5ac495b038f3222ddbd543c98aa1bd50 |
File details
Details for the file dycifer-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: dycifer-0.1.1-py3-none-any.whl
- Upload date:
- Size: 23.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.9.7 Darwin/21.5.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 039f81fea9207f9c34b192ff5c9836ad0e81a6ac5c95328873a02c1ee7461924 |
|
MD5 | c37c778187ae70929de4b602aaaaf191 |
|
BLAKE2b-256 | c63debbfe3e1c2e284bf09b5507520014ba802de6c6a0b6789789ad3c34845e6 |