python で Xilinx の bit ファイルを解析
http://moxi.jp/wiki/wiki.cgi?page=H8(PIC%2CAVR)%A4%CA%A4%C9%A4%AB%A4%E9+SpartanII+%A4%F2%A5%B3%A5%F3%A5%D5%A5%A3%A5%B0%A4%B9%A4%EB%BC%EA%BD%E7
この通りに解析したら bit ファイルを bin ファイルにできた
def skip_field(self, fin, is_print = False) : return self.__skip_field(fin, is_print) def __copy_body(self, fin, bin_file) : field_len, = unpack(">L", fin.read(4)) # big endian print "field_len:", field_len if bin_file != False : fout = open(bin_file, "wb") else: fout = fd for i in range(0, field_len, 4) : data, = unpack(">L", fin.read(4)) fout.write(pack("<L", data)) if bin_file != False : fout.close() def strip_bit(self, bit_file, bin_file = False) : with open(bit_file, "rb") as fin: self.__skip_field(fin) self.__skip_field(fin) self.__skip_field(fin) magic = fin.read(1) if magic != 'b' : return False self.__skip_field(fin) magic = fin.read(1) if magic != 'c' : return False self.__skip_field(fin) magic = fin.read(1) if magic != 'd' : return False self.__skip_field(fin) magic = fin.read(1) if magic != 'e' : return False self.__copy_body(fin, bin_file)