Dave, When you state that I need to have Ruby and RubyGems installed, do you mean that I need to have them installed on the ROACH2 board?
If so, given that I am currently using the ROACH2 board in soloboot mode, how do I permanently install Ruby so that it will be available when the ROACH2 board is powered on? If Ruby can not be used in soloboot mode, what is the recommended boot mode to allow me to use soloboot and where is the reference for configuring the ROACH2 to boot in this mode? Thanks, -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

