fpga_list = [] goldqueue = Queue() logger = ConsoleLogger(settings.verbose) rpcclient = RPCClient(settings, logger, goldqueue) try: # open FT232R ft232r = FT232R() portlist = FT232R_PortList(7, 6, 5, 4, 3, 2, 1, 0) if ft232r.open(settings.devicenum, portlist): logger.reportOpened(ft232r.devicenum, ft232r.serial) else: logger.log("ERROR: FT232R device not opened!", False) sys.exit() if settings.chain == 0 or settings.chain == 1: fpga_list.append(FPGA(ft232r, settings.chain, logger)) elif settings.chain == 2: fpga_list.append(FPGA(ft232r, 0, logger)) fpga_list.append(FPGA(ft232r, 1, logger)) else: logger.log("ERROR: Invalid chain option!", False) parser.print_usage() sys.exit() logger.fpga_list = fpga_list rpcclient.fpga_list = fpga_list
action="store_true", dest="verbose", default=False, help="Verbose logging") parser.add_option("-s", "--sleep", action="store_true", dest="sleep", default=False, help="Put FPGAs to sleep after programming [EXPERIMENTAL]") settings, args = parser.parse_args() logger = ConsoleLogger(settings.verbose) if len(args) == 0: logger.log("ERROR: No bitstream file specified!", False) parser.print_usage() sys.exit() ### Bitfile ### bitfileName = args[0] logger.log("Opening bitstream file: " + bitfileName, False) bitfile = None try: bitfile = BitFile.read(bitfileName) except BitFileReadError, e: print e sys.exit() logger.log("Bitstream file opened:", False)
# Option parsing: parser = OptionParser(usage="%prog [-d <devicenum>] [-c <chain>] <path-to-bitstream-file>") parser.add_option("-d", "--devicenum", type="int", dest="devicenum", default=None, help="Device number, optional. Opens the first available device by default") parser.add_option("-c", "--chain", type="int", dest="chain", default=2, help="JTAG chain number, can be 0, 1, or 2 for both FPGAs on the board (default 2)") parser.add_option("-v", "--verbose", action="store_true", dest="verbose", default=False, help="Verbose logging") parser.add_option("-s", "--sleep", action="store_true", dest="sleep", default=False, help="Put FPGAs to sleep after programming [EXPERIMENTAL]") settings, args = parser.parse_args() logger = ConsoleLogger(settings.verbose) if len(args) == 0: logger.log("ERROR: No bitstream file specified!", False) parser.print_usage() sys.exit() ### Bitfile ### bitfileName = args[0] logger.log("Opening bitstream file: " + bitfileName, False) bitfile = None try: bitfile = BitFile.read(bitfileName) except BitFileReadError, e: print e sys.exit() logger.log("Bitstream file opened:", False)