Hi @JColvin,
I found the problem with a basic test. I use a potantiometer to read voltage from ad1 input data 2. Also I use 100 Mhz clock for PmodAD1 IP and when I change the reference voltage, I can scale the incoming data to the desired range regardless of 12 bits. I know the data comes as 12 bits, but it doesn't matter to me. If we come to the problem, as you can see in video below, the potentiometer value changes from 0 to 3.3V once, while the voltage read by AD1 starts twice. I think digilent example PmodAD1.c file has a error while parsing commen data from spi. I changed this parsing and masking method from (*RawDataPtr)[1] = (data >> 16) & 0xFFF to (*RawDataPtr)[1] = (data >> 17) & 0xFFFFFF. All problem corrected.