def appfun(*args, **kwargs): return resultObj('x')
def concat(l): l2 = [str(p) for p in l] cat = ','.join(l2) return resultObj('{' + cat + '}')
def loadblk(m, a, n): return resultObj('{' + ','.join( [str(m) + '[' + str(a) + '+' + str(p) + ']' for p in range(n)]) + '}')
def sgt(a, b): return resultObj('$sign(' + str(a) + ') > $sign(' + str(b) + ')')
def readchunk(*args, **kwargs): return resultObj('x')
def ite(e, t, f): return resultObj('(' + str(e) + ') ? (' + str(t) + ') : (' + str(f) + ')')
def reg(self, name, width): print 'adding %s:%d' % (name, width) self.state_list.append((name, width)) self.pure_stateList.append(name) return resultObj(name)
def writechunk(*args, **kwargs): return resultObj('x')
def stage(self, name, stageNo): if stageNo >= len(self.stageList): self.stageList.extend([''] * (stageNo - len(self.stageList) + 1)) self.stageList[stageNo] = name return resultObj(name)
def mem(self, name, addw, dataw): print 'adding mem %s:%d->%d' % (name, addw, dataw) self.mem_list.append((name, addw, dataw)) return resultObj(name)
def getmem(self, name): if name not in self.usedParentStates: self.usedParentStates.append(name) return resultObj(name)
def bool(v): return resultObj("(" + str(v) + ") != 0")
def const(v, w): return resultObj(str(v))
def zero_extend(e, width): return resultObj(e)
def bit(self, name): print 'adding %s:%d' % (name, 1) self.state_list.append((name, 1)) self.pure_stateList.append(name) return resultObj(name)
def writeslice(self, *args, **kwargs): return resultObj('x')
def inp(self, name, width): print 'adding %s:%d' % (name, width) self.state_list.append((name, width)) self.port.append(name) return resultObj(name)
def readslice(self, *args, **kwargs): return resultObj('x')
def syn_elem(self, *args, **kwargs): return resultObj()
def choice(*args, **kwargs): return resultObj('x')
def const(self, val, width): return resultObj("%d'd%d" % (width, val))
def load(m, a): return resultObj(str(m) + '[' + str(a) + ']')
def inrange(*args, **kwargs): return resultObj('x')
def storeblk(m, a, d): return resultObj(str(m)) # unable to translate
def sign_extend(e, width): return resultObj(e)