File: logic_tile_bits.py

package info (click to toggle)
prjtrellis 1.4-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 83,000 kB
  • sloc: cpp: 20,813; python: 16,246; sh: 375; makefile: 262; asm: 80; ansic: 58
file content (19 lines) | stat: -rwxr-xr-x 628 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/env python3
"""
This simple example uses PyTrellis to read TESTTILE tile bits, of tile R2C2 in a bitstream
"""
import pytrellis

pytrellis.load_database("../../../prjtrellis-db")
bs = pytrellis.Bitstream.read_bit("../../minitests/ncl/lut.bit")
chip = bs.deserialise_chip()
tile = chip.tiles["R2C2:PLC2"]
tile_bits = tile.cram
bit_offset = tile.info.bit_offset
frame_offset = tile.info.frame_offset

for bit in range(tile_bits.bits()):
    for frame in range(tile_bits.frames()):
        if tile_bits.bit(frame, bit):
            print("({}, {})\t({}, {})".format(bit, frame, bit + bit_offset, frame + frame_offset))