| import pytrellis |
| |
| pytrellis.load_database("./testdata") |
| c = pytrellis.Chip("testdev") |
| bits = { |
| (0, 0), |
| (10, 0), |
| (399, 0), |
| (0, 98), |
| (399, 97) |
| } |
| for b in bits: |
| c.cram.set_bit(b[0], b[1], 1) |
| |
| bs = pytrellis.Bitstream.serialise_chip(c) |
| bs.metadata.append("test_metadata") |
| bs.write_bit("work/bitstream_io.bit") |
| |
| bs2 = pytrellis.Bitstream.read_bit("work/bitstream_io.bit") |
| assert(list(bs2.metadata) == ["test_metadata"]) |
| c2 = bs2.deserialise_chip() |
| for f in range(c2.cram.frames()): |
| for b in range(c2.cram.bits()): |
| if (f, b) in bits: |
| assert c2.cram.bit(f, b) |
| else: |
| assert not c2.cram.bit(f, b) |
| |