This repo contains a 10-Bit Rail-to-Rail Digital-Analog-Converter Based-Split-Capacitive-Array titled EF_DACSCA1001
A custom digital wrapper is provided for this IP.
Clone repo or download via IPM
git clone https://github.com/efabless/EF_DACSCA1001.git
ipm install EF_DACSCA1001
Set environment variables
You need to already have the PDK, you can use volare to download the pdk.
export PDK_ROOT=<path to pdk>
Run simulation
To run simulation go to ./verify/spice
, and run these commands
/usr/bin/time -v make verify-<test_bench>-<SIM>
The test_bench
is the name of the test bench for example EF_DACSCA1001_tb_func_1MHz
, the SIM
is either layout
or schematic
For example:
/usr/bin/time -v make verify-EF_DACSCA1001_tb_func_1MHz-schematic
/usr/bin/time -v make verify-EF_DACSCA1001_tb_func_1MHz-layout
You can find all test benches that can be ran using this command
make list
NOTE: ngspice DOES NOT handle environment variables used in the test benches. the Makefile handles that for you, if you wish to use your own command make sure you manually update the spice files
The EF_ DACSCA1001 contains an 10-bit voltage-mode digital-to-analog converter. It has a rail-to-rail output buffer and is guaranteed monotonic. The device relies on split capacitive array DAC architecture, hence low cost and fast response can be achieved. The EF_DACSCA1001 includes an enable line that acts as a power-on-reset function. The EF_DACSCA1001 is compatible with a parallel interface at a clock up to 2 MHz. The functional block diagram is presented in Figure 1.
Figure 1. Functional Block Diagram
Corresponding to the Block Diagram of the EF_DACSCA1001, each pin name with its function is described in Table 1.
Table 1. Pin Configuration and Functions
As depicted in Figure 2, the timing diagram of the proposed EF_DACSCA1001 is activated with an active high of EN.
Figure 2. Timing Diagram
Figure 8. EF_DACSCA1001 Layout.
EF_DACSCA1001
Vendor
Efabless
130nm
Skywater
D/A Converter
Free
Open Source
EF Certified
Implemented