Hi,

Just wanted to say that I managed to run all 3 ADC chips of the SNAP board
in parallel at 960 MSps. The setup worked reliably for approximately an
hour. I managed to make some sort of 3-channel spectrum analyzer.

The board takes input at SMATP1, SMATP5 and SMATP9. PFB consists of the
pfb_generic block working at (12 taps, 4096 points) with a Blackmann window
and FFT is done using the fft_wideband_real taking 4 samples simultaneously
from every input channel. FFT size is 4096 points. The python script plots
3 spectra of 480 MHz in real time, updating at every integration. I managed
to read the 3 spectra, each with 2048 complex 64-bit frequency channels,
through the Raspberry Pi itself. The connection did choke once, but ran
correctly after I changed the cable.

Having fun experimenting. ;)
Cheers,
Nitish


On Fri, Oct 11, 2019 at 10:18 PM Nitish Ragoomundun <
nitish.ragoomun...@gmail.com> wrote:

> Hi,
>
> Thank you very much for your replies. The temperature being a possible
> cause is quite interesting.
>
> Actually for our project we need 250 MSps on 12 channels. I am still in
> the learning process so I set myself a mini project and I thought I'll
> program the SNAP just to output a spectrum. I have already tried
> frequencies lower than 1 GHz and only one ADC working at 1 GSps would have
> been great, but I guess 950 MSps will do. I'll have a wide enough band to
> play with.
>
> Cheers,
> Nitish
>
>
>
>
> On Fri, Oct 11, 2019 at 7:58 PM Ross Martin <ross.mar...@ieee.org> wrote:
>
>> Hi Nitish,
>>
>> The reason that the ADC worked the first time *might* be temperature.
>> When parts are cooler, they often can run at higher speeds.  It might be
>> that the first time you ran it was before the board got warm, and that's
>> why it worked.  Then later the board had warmed up, which changes board
>> timing, so it failed.  I'm by no means certain of this, but it explains the
>> things you've said and seems like a reasonable possibility.
>>
>> You could test it out by turning down the temperature in the room,
>> letting everything cool overnight, and then running it again early in the
>> morning.
>>
>> If the test works, it might lead to a more permanent solution.  Better
>> board cooling might be enough, with fans, heat sinks, or liquid cooling
>> systems.
>>
>> PC gamers often have extensive cooling systems to keep their CPUs cool so
>> they can reach the highest clock speeds when they overclock them.  You can
>> find lots of information on cooling-to-increase-speed on the web from the
>> overclocking community -- assuming it's that important to get this working.
>>
>> Also keep in mind that when you're really trying to push speed to it's
>> limits, part variability from one board to another may matter. So try
>> multiple different boards, if you have them, since one board may work when
>> others fail.
>>
>> Ross
>>
>>
>> On Fri, Oct 11, 2019, 7:22 AM Dan Werthimer <d...@ssl.berkeley.edu>
>> wrote:
>>
>>>
>>> hi nitish,
>>>
>>> i don't think there's an easy way to make all three adc's work at 1
>>> Gsps.
>>> i think one of the adc's works reliably at 1 Gsps.
>>> the other two work reliably around 950 Msps. (i'm not sure about this
>>> number).
>>>
>>> if 950 Msps isn't enough for your application,
>>> you could play around with the adc's clock termination resistors and
>>> clock distribution chip parameters,
>>> or use an external dual 1gps zdoc adc.
>>>
>>> best wishes,
>>>
>>> dan
>>>
>>>
>>>
>>>
>>> Dan Werthimer
>>> Marilyn and Watson Alberts Chair
>>> Astronomy Dept and Space Sciences Lab
>>> University of California, Berkeley
>>>
>>>
>>> On Fri, Oct 11, 2019 at 12:56 AM Nitish Ragoomundun <
>>> nitish.ragoomun...@gmail.com> wrote:
>>>
>>>>
>>>> Hi,
>>>>
>>>> I read from the SNAP wiki page that we can operate the SNAP board ADCs
>>>> at 1GSps with 3 channels of input. So, I modified the CASPER SNAP tutorial
>>>> 3 to make the ADC work at 1GSps to obtain a 1 channel spectrometer with a
>>>> spectrum of 500 MHz. First I modified the SNAP User IP Clock Rate to 250
>>>> MHz, then changed the snap_adc Sample Rate to 1000 MHz.
>>>>
>>>> Then I modified the script to obtain a 500 MHz spectrum and the ADC
>>>> initialization is done with
>>>>
>>>> adc.init(samplingRate=1000, numChannel=1, resolution=8)
>>>>
>>>> No compilation problem with the toolflow. The script worked the first
>>>> time when I ran it. ADC initialization was fine and I got my 500 MHz
>>>> spectrum. However, when I ran the script a second time, the ADC
>>>> initialization failed with the following messages:
>>>>
>>>> ERROR:root:Frame clock NOT aligned.
>>>> {0: {0: 0, 1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 1: {0: 128, 1:
>>>> 128, 2: 128, 3: 128, 4: 128, 5: 128, 6: 128, 7: 128}, 2: {0: 0, 1: 0, 2: 0,
>>>> 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}}
>>>> ERROR:root:Line clock NOT aligned.
>>>> {0: {0: 0, 1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 1: {0: 39, 1: 39,
>>>> 2: 39, 3: 39, 4: 39, 5: 39, 6: 40, 7: 39}, 2: {0: 0, 1: 0, 2: 0, 3: 0, 4:
>>>> 0, 5: 0, 6: 0, 7: 0}}
>>>> ERROR:root:ADC1 lane0 delay decision failed
>>>> ERROR:root:ADC1 lane1 delay decision failed
>>>> ERROR:root:ADC1 lane2 delay decision failed
>>>> ERROR:root:ADC1 lane3 delay decision failed
>>>> ERROR:root:ADC1 lane4 delay decision failed
>>>> ERROR:root:ADC1 lane5 delay decision failed
>>>> ERROR:root:ADC1 lane6 delay decision failed
>>>> ERROR:root:ADC1 lane7 delay decision failed
>>>> ERROR:root:Line clock NOT aligned.
>>>> {0: {0: 0, 1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 1: {0: 78, 1: 78,
>>>> 2: 78, 3: 78, 4: 79, 5: 78, 6: 79, 7: 78}, 2: {0: 0, 1: 0, 2: 0, 3: 0, 4:
>>>> 0, 5: 0, 6: 0, 7: 0}}
>>>> ERROR:root:ADC1 lane0 delay decision failed
>>>> ERROR:root:ADC1 lane1 delay decision failed
>>>> ERROR:root:ADC1 lane2 delay decision failed
>>>> ERROR:root:ADC1 lane3 delay decision failed
>>>> ERROR:root:ADC1 lane4 delay decision failed
>>>> ERROR:root:ADC1 lane5 delay decision failed
>>>> ERROR:root:ADC1 lane6 delay decision failed
>>>> ...
>>>>
>>>> I have seen these before with the 800 MSps, but ADC initialization
>>>> would eventually work at the second attempt, whereas 1 GSps, it fails. I
>>>> have increased the number of attempts in calling adc.init( ), but it fails
>>>> time and time again. I also power cycled the board and tried again, but it
>>>> still fails. The strange thing is that it worked the very first time I ran
>>>> the script, but failed every single time after this.
>>>>
>>>> Is there a way to make 1 GSps work reliably over several re-programming
>>>> stages and across reboots.
>>>>
>>>> Regards,
>>>> Nitish
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "casper@lists.berkeley.edu" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to casper+unsubscr...@lists.berkeley.edu.
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAC6X4cMmhx0LnqytPGVTuHvS8N8LfZP7pOyLKsxuYJ51u1um2Q%40mail.gmail.com
>>>> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAC6X4cMmhx0LnqytPGVTuHvS8N8LfZP7pOyLKsxuYJ51u1um2Q%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "casper@lists.berkeley.edu" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to casper+unsubscr...@lists.berkeley.edu.
>>> To view this discussion on the web visit
>>> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGHS_vH9jdRFU9htPizCYLMWbm8RPDY-vhgLqnBVBCbP%2Bq6MdA%40mail.gmail.com
>>> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGHS_vH9jdRFU9htPizCYLMWbm8RPDY-vhgLqnBVBCbP%2Bq6MdA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "casper@lists.berkeley.edu" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to casper+unsubscr...@lists.berkeley.edu.
>> To view this discussion on the web visit
>> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAG4nf73D0R1R1KPmd-hLvKn-D-Dc-NbJiknu_zHGMtvqtmTm8Q%40mail.gmail.com
>> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAG4nf73D0R1R1KPmd-hLvKn-D-Dc-NbJiknu_zHGMtvqtmTm8Q%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"casper@lists.berkeley.edu" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to casper+unsubscr...@lists.berkeley.edu.
To view this discussion on the web visit 
https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAC6X4cOFuKu-_KDHzq0qzzf%2BkJi96AJL%3DGROLrkh89-3nRB0Ww%40mail.gmail.com.

Reply via email to