def visit_RegArray(self, node): name = node.name width = self.visit(node.width) if node.width is not None else None length = self.visit(node.length) signed = node.signed obj = vtypes.Reg(width, length=length, signed=signed, name=name) if node.width is not None: obj._set_raw_width(self.visit(node.width.msb), self.visit(node.width.lsb)) obj._set_raw_length(self.visit(node.length.msb), self.visit(node.length.lsb)) self.add_object(obj) return obj
def OutputReg(self, name, width=None, length=None, signed=False, value=None, initval=None): t = vtypes.Output(width, length, signed, value, name=name, module=self) self.check_existing_identifier(name) self.io_variable[name] = t self.items.append(t) t = vtypes.Reg(width, length, signed, value, initval, name=name) self.variable[name] = t self.items.append(t) return t
def visit_Reg(self, node): name = node.name raw_width = self.visit(node.width) if node.width is not None else None width = to_width(raw_width) raw_dims = self.visit( node.dimensions) if node.dimensions is not None else None dims = to_dims(raw_dims) signed = node.signed obj = vtypes.Reg(width, dims, signed=signed, name=name, raw_width=raw_width, raw_dims=raw_dims) self.add_object(obj) return obj
def Reg(self, name, width=None, dims=None, signed=False, value=None): t = vtypes.Reg(width, dims, signed, value, name=name) self.variable[name] = t return t