def read_dottxt_file(inFileName): with open(inFileName) as inFile: lut = Lut(name=inFileName[:-4]) header = '' maxEntry = 0 for line in inFile: if line.startswith('#'): header += '#' + line if line.find('<header>') > 0: substrings = line.split() lut.setVersion(int(substrings[1][1:])) lut.setInputWidths([int(substrings[2])]) lut.setOutputWidth(int(substrings[3])) else: payloadStrs = line.split() lut.setEntry(int(payloadStrs[0]), int(payloadStrs[1])) lut.setHeader(header) return lut
def read_dotlut_file(inFileName): with open(inFileName) as inFile: lut = Lut(name=inFileName[:-4]) header = '' maxEntry = 0 for line in inFile: if line.startswith('#'): header += '#' + line if line.find('# Version: ') == 0: substrings = line.split() lut.setVersion(int(substrings[2])) elif line.startswith('CONTENT_VECTOR='): cVectStr = line.split() for addr, entryStr in enumerate(cVectStr[1:]): entry = int(entryStr) lut.setEntry(addr, entry) if entry > maxEntry: maxEntry = entry lut.setHeader(header) lut.setInputWidths([addr.bit_length()]) outWidth = maxEntry.bit_length() if outWidth == 0: outWidth = 1 lut.setOutputWidth(outWidth) return lut