Hi Jason, I know programming over JTAG won't change tcpborphserver's device listings, but if the devices for both bitstreams/bofs were identical, then using the working bof to program and then overriting the bitstream for the FPGA would be manually doing what borph is supposed to do, right?
Hi Dave, When I try to run the .bof from the ROACH command line, it returns with "Input/Output Error". The ROACH is NFS mounted and I put the bof in the filesystem via scp. One strange thing I've noticed is that sometines mkbof creates a file that is executable and sometimes it doesn't and I have to manually set it as executable. Is this a sign that maybe it's quitting early? Thanks, -Suraj On Tue, 27 Jul 2010 10:24:04 -0700, David MacMahon <[email protected]> wrote: > Hi, Suraj, > > Have you tried running the bof file from the command line while > logged into the ROACH? Another thing to check is whether the 1.bof > file you created is identical to the 1.bof file that got uploaded to > the roach. How did you transfer 1.bof onto the ROACH? > > Dave > > On Jul 26, 2010, at 13:39 , [email protected] wrote: > >> Hi all, >> >> I have 2 different .bof's for a 128 channel, 3ghz bandwidth >> spectrometer. >> For implementation 1.bof, I get the (unhelpful) error message below >> when I >> try to run fpga.listdev(). If I instead program with 2.bof (which >> works >> fine), and then use the JTAG cable to program the FPGA with 1.bit, >> I can >> read out. Since I don't know anything about BORPH, I'm wondering >> if this >> indicates that 1.bit is a working design and mkbof just isn't >> working for >> me. The .bof's are not generated from the same bitstream. >> >> Thanks! >> -Suraj >> >> ---------------------------------------------------------------------- >> ----- >> RuntimeError Traceback (most recent >> call last) >> >> /usr/etch/boffiles/<ipython console> in <module>() >> >> /opt/python/lib/python2.5/site-packages/corr/katcp_wrapper.pyc in >> listdev(self) >> 67 @return A list of register names. >> 68 """ >> ---> 69 reply, informs = self._request("listdev") >> 70 return [i.arguments[0] for i in informs] >> 71 >> >> /opt/python/lib/python2.5/site-packages/corr/katcp_wrapper.pyc in >> _request(self, name, *args) >> 58 >> 59 raise RuntimeError("Request %s failed.\n Request: >> %s\n Reply: %s." >> ---> 60 % (request.name, request, reply)) >> 61 return reply, informs >> 62 >> >> RuntimeError: Request listdev failed. >> Request: ?listdev >> Reply: !listdev fail program. >> >> >> >>

