This TinyTapeout submission is a collection of Pulse Density Modulators (PDM).
This project implements three different architectures of Pulse Density Modulators (PDM), to compare performances and implementation complexity of the different schemes.
PDM modulators are of particular interest because exploiting oversampling, they allow to implement Digital-to-Analog-Conversion (DAC) schemes with an equivalent resolution of multiple bits, based on a single-bit digital output, by means of a straightforward analogue low-pass filter.
The PDM modulators implemented in this project are the following:
- Pulse Width Moulation (PWM)
- Dyadic Digital Pulse Modulation (DDPM)
- Sigma-Delta (SD)
This design is separated into two section:
- 6 bits resolution instance of PWM, DDPM and SD fed by a static DC value from the input pins
- 8 bits resolution instance of PWM, DDPM and SD fed sine look-up-table (LUT) that allows to evaluate the spectral content of the modulated signals.
The design is implemented in myHDL, and the verification environment leverages PuEDA.
The input inval of the first set of DC modulators is fed through pins io_in[7:2]. The low-passed dc component of the outputs on pins io_out[0] (PWM), io_out[1], and io_out[2] is proportional to the decimal value of the input inval.
The low-passed outputs on pins io_out[4] (PWM), io_out[5], and io_out[6] is a sinusoidal wave. When clocking the chip with a clock frequency of 12.5kHz, the frequency of the sine is of 0.76z (fsin = fclock / 2^14), so that it should be visible at naked eye.
The different designs should achieve an ENOB of 8 bits in the band 0-40Hz, with different level of out-of-band emission between each other, as reported below.
- [1] "Standard Cell-Based Ultra-Compact DACs in 40nm CMOS", Aiello et al.
- [2] "All-Digital High Resolution D/A Conversion by Dyadic Digital Pulse Modulation", Crovetti
- [3] "Spectral characteristics of DDPM streams and their application to all‐digital amplitude modulation", Crovetti
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!
Go to https://tinytapeout.com for instructions!
Edit the info.yaml and change the wokwi_id to match your project.
Please see the instructions for:
When you edit the info.yaml to choose a different ID, the GitHub Action will fetch the digital netlist of your design from Wokwi.
After that, the action uses the open source ASIC tool called OpenLane to build the files needed to fabricate an ASIC.
- Share your GDS on Twitter, tag it #tinytapeout and link me!