neurosim / DNN_NeuroSim_V1.3

Benchmark framework of compute-in-memory based accelerators for deep neural network (inference engine focused)
62 stars 36 forks source link

Question for SAR ADC Power Consumption #35

Closed Wheatly94 closed 2 years ago

Wheatly94 commented 2 years ago

Hello

First, Thank you for Great Tool!

I have a question about SAR ADC Power Consumption formula from SarADC.cpp

May I wonder how this formula below comes? especially for log2(levelOutput) ?

Column_Power = (0.4710log2(levelOutput)+1.9529)1e-6;

I know that log2(levelOutput) is related to resolution of SAR ADC, but I want to know the reason why Column power increases linearly when resolution of SAR ADC increases

Looking forward to your reply!

neurosim commented 2 years ago

Hi! Thanks for your interest in NeuroSim. The column power mainly has two parts: the power of ADC (related to ADC precision), and the power of converting column currents to voltages by the voltage divider (related to column resistance). The latter is dominant. Column_Power = (6.4806*log2(levelOutput)+49.047)*1e-6; Column_Power += 0.207452*exp(-2.367*log10(columnRes)); As for your question about the part of ADC itself, it's further composed by 3 parts: SA, SAR logic, and cap array, where the SAR logic power is the dominant one and close to linear with the ADC resolution.