Kuree / kratos

:crossed_swords: Debuggable hardware generator

Home Page:https://kratos-doc.readthedocs.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

static boolean and loop integer in one if statement inside a for loop

jake-ke opened this issue · comments

Example code

from kratos import *

class Example(Generator):
    def __init__(self,
                 area_opt=True):

        super().__init__("example")
        self.area_opt = area_opt

        self._b = self.output("b", 2)

        for i in range(2):
            @always_comb
            def tb_ctrl(i):
                if self.area_opt:
                   if i == 0:
                        self._b[i] = 0
                else:
                    self._b[i] = 1
            self.add_code(tb_ctrl, i=i)


if __name__ == "__main__":
    example_dut = Example()
    verilog(example_dut, filename="example.sv")

Fixed in cba91ee