nextpnr/himbaechel/himbaechel_dbgen/bba.py
gatecat 3e1e783873 himbaechel: Initial timing support
Signed-off-by: gatecat <gatecat@ds0.me>
2023-09-08 09:55:49 +02:00

30 lines
895 B
Python

class BBAWriter:
def __init__(self, f):
self.f = f
def pre(self, s):
print(f"pre {s}", file=self.f)
def post(self, s):
print(f"post {s}", file=self.f)
def push(self, s):
print(f"push {s}", file=self.f)
def ref(self, r, comment=""):
print(f"ref {r} {comment}", file=self.f)
def slice(self, r, size, comment=""):
print(f"ref {r} {comment}", file=self.f)
print(f"u32 {size}", file=self.f)
def str(self, s, comment=""):
print(f"str |{s}| {comment}", file=self.f)
def label(self, s):
print(f"label {s}", file=self.f)
def u8(self, n, comment=""):
assert isinstance(n, int), n
print(f"u8 {n} {comment}", file=self.f)
def u16(self, n, comment=""):
assert isinstance(n, int), n
print(f"u16 {n} {comment}", file=self.f)
def u32(self, n, comment=""):
assert isinstance(n, int), n
print(f"u32 {n} {comment}", file=self.f)
def pop(self):
print("pop", file=self.f)