Dave, --You said to execute the following line:
gem update --source http://astro.berkeley.edu/~davidm/gems adc16 --Response on my (non-Roach, Windows computer) is: Updating installed gems Nothing to update -- You said that I can execute the following line of code and also that it need not be executed on the ROACH2 board (2 separate emails). Once I get to this point, is this the exact line that I will need to execute on a non-ROACH, Windows computer? $ adc16_init.rb pf1 roach2_fengine.bof -Joe Kujawski On Wed, Oct 9, 2013 at 2:12 AM, David MacMahon <[email protected]>wrote: > Hi, Joe, > > The ADCs on the ADC16 board are somewhat different from other ADCs used on > other CASPER ADC boards. The ADC chips on the ADC16x250-8 board do not > fully power up when power is applied. They need to be turned on via > software and then the FPGA input delay blocks need to be calibrated to > account for the design-specific clock skew at the FPGA SERDES inputs and to > properly frame the de-serialized bytes. > > Here is a high level overview of the startup sequence: > > Program FPGA with ADC16 design > Turn on ADC chips via software > Re-program FPGA with same design > Calibrate input delays > Bitslip SERDES blocks until data if properly framed > > There is software already written to do this. It is written in Ruby. You > need to have Ruby (1.9 or later recommended) and Rubygems installed. You > can then install the ADC16 software with: > > gem update --source http://astro.berkeley.edu/~davidm/gems adc16 > > This will give you a command "adc16_init.rb" that you can use to program > the FPGA and perform all the calibration steps required. Here is a sample > command line session using adc16_init.rb: > > $ adc16_init.rb pf1 roach2_fengine.bof > Connecting to pf1... > Programming pf1 with roach2_fengine.bof... > Design built for ROACH2 rev2 with 8 ADCs (ZDOK rev2) > Resetting ADC, power cycling ADC, and reprogramming FPGA... > ZDOK0 clock OK, ZDOK1 clock OK > Calibrating SERDES blocks...ABCDEFGH > SERDES calibration successful. > Selecting analog inputs... > Done! > > The adc16_init.rb script expects/requires the bof file to be in the > tcpborphserver's boffiles directory (i.e. already on the ROACH2 > filesystem). The adc16_init.rb script does NOT support dynamically > uploading the BOF via the "?uploadbof" command. > > Hope this helps, > Dave > > On Oct 8, 2013, at 3:38 PM, Kujawski, Joseph wrote: > > > I have a simple design which implements an A/D conversion on port A1 of > the ADC16 board and maps the ADC output as follows: > > > > LED 0 <= A1[4] > > LED 1 <= not A1[4] > > LED 2 <= A1[5] > > LED 3 <= not A1[5] > > LED 4 <= A1[6] > > LED 5 <= not A1[6] > > LED 6 <= A1[7] > > LED 7 <= '1' > > > > when the clock 'sys_clk' is selected with a rate of 150MHz, LED 7, LED > 5, LED 3, and LED 1 lit while the rest of the LEDs are not lit. This is > the expected behavior if the ADCs are not capturing data (A1 is stuck at > zero). > > > > when the clock 'adc0_clk' is selected with a rate of 150MHz and a 150MHz > sine at 3 dbm is presented to the ADC clock input of the Roach 2 board, > none of the LEDs are lit. This behavior seems to be consistent with the > xilinx chip not receiving a clocking input. > > > > Can someone provide a clue as to how to fix this problem? > > > > Thanks, > > > > -Joe Kujawski > > > > -- ************************************** * Joe Kujawski * Siena College * Dept. of Physics and Astronomy, RB 113 * 515 Loudon Road * Loudonville, NY 12211-1462 * * Email: [email protected] * Phone: 518-782-6885 * Fax: 518-783-2986 **************************************

