def __init__(self):
        self.run = Port(bool, 'in', protocol='ready_valid')
        self.result = Port(int, 'out', protocol='ready_valid')
        self.din = Queue(int32, 'in')
        self.dout = Queue(int32, 'out')

        self.append_worker(self.mips_main)
예제 #2
0
 def __init__(self, data_size):
     self.i_q = Queue(uint16, 'in', maxsize=data_size)
     self.o_q = Queue(uint16, 'out', maxsize=data_size)
     tmp_q0 = Queue(uint16, 'any', maxsize=data_size)
     tmp_q1 = Queue(uint16, 'any', maxsize=data_size)
     self.append_worker(mul, 2, data_size, self.i_q, tmp_q0)
     self.append_worker(mul, 3, data_size, tmp_q0, tmp_q1)
     self.append_worker(mul, 4, data_size, tmp_q1, self.o_q)
예제 #3
0
    def __init__(self, start_addr, end_addr):
        # define i/o
        self.dout = Port(int8, 'out', protocol='ready_valid')

        # define internals
        instq = Queue(uint16, 'any', maxsize=2)
        opeq = Queue(uint8, 'any', maxsize=2)
        valueq = Queue(uint8, 'any', maxsize=2)

        self.append_worker(fetch, start_addr, end_addr, instq)
        self.append_worker(decode, instq, opeq, valueq)
        self.append_worker(execute, opeq, valueq, self.dout)
예제 #4
0
 def __init__(self):
     self.in_q = Queue(int8, 'in', maxsize=2)
     self.out_q = Queue(int8, 'out', maxsize=2)
     self.append_worker(self.main)
예제 #5
0
 def __init__(self, PARAM0, PARAM1:uint8=2):
     self.p0 = PARAM0
     self.p1 = PARAM0 + PARAM1
     self.o0 = Queue(int, 'out')
     self.o1 = Queue(int, 'out')
     self.append_worker(self.w)
예제 #6
0
 def __init__(self):
     self.in_cmd = Queue(int8, 'in', maxsize=2)
     self.din0 = Port(int, 'in')
     self.din1 = Port(int, 'in')
     self.out_q = Queue(int8, 'out', maxsize=2)
     self.append_worker(self.main)
예제 #7
0
 def __init__(self):
     self.in_q = Queue(int8, 'in', maxsize=2)
     self.out_q = Queue(int8, 'out', maxsize=2)
     tmp_q = Queue(int8, 'any', maxsize=2)
     self.append_worker(self.main, self.in_q, tmp_q)
     self.append_worker(self.main, tmp_q, self.out_q)
예제 #8
0
 def __init__(self):
     p = Queue(int)
     self.append_worker(self.w, p)
     self.append_worker(self.w, p)
예제 #9
0
 def __init__(self):
     #self.uart = uart.Transmitter()
     #self.spi_in = AD7091R_SPIC()
     self.q = Queue(uint16, 'out', maxsize=10)
     self.din = Queue(uint16, 'in', maxsize=10)
     self.append_worker(self.proc)
 def __init__(self):
     self.i_q = Queue(int, 'in')
     self.o_q = Queue(int, 'out')
     self.append_worker(self.w, self.i_q, self.o_q)
 def __init__(self):
     self.i = Queue(bit8, 'in')
     self.o = Queue(bit8, 'out')
     self.append_worker(self.worker)
예제 #12
0
 def __init__(self, width, height, blank_size):
     self.inq = Queue(int12, 'in', maxsize=4)
     #self.outhq = Queue(int12, 'out', maxsize=4)
     #self.outvq = Queue(int12, 'out', maxsize=4)
     self.outq = Queue(int12, 'out', maxsize=4)
     self.append_worker(self.worker, width, height, blank_size)
예제 #13
0
 def __init__(self):
     self.out = Queue(int, 'out')
     self.append_worker(self.worker)
예제 #14
0
 def __init__(self):
     self.data_in = Queue(bit512, 'in')
     self.data_out = Queue(bit256, 'out')
     self.append_worker(self.process_sha256)
예제 #15
0
 def __init__(self):
     self.p = Queue(int, 'in')
     self.append_worker(self.w)
     self.append_worker(self.w)
예제 #16
0
 def __init__(self):
     self.in_q = Queue(int8, 'in', maxsize=2)
     self.out_q = Queue(int8, 'out', maxsize=2)
     self.tmp_q = Queue(int8, 'any', maxsize=2)
     self.append_worker(self.worker1)
     self.append_worker(self.worker2)
예제 #17
0
 def __init__(self):
     self.o1_q = Queue(uint16, 'out', maxsize=1)
     self.o2_q = Queue(uint16, 'out', maxsize=1)
     self.append_worker(self.w, self.o1_q, self.o2_q)
예제 #18
0
 def __init__(self):
     self.data_in = Queue(bit512, 'in')
     self.data_out = Queue(bit512, 'out')
     self.do_digest  = Port(bit, 'in', protocol='none')
     self.do_digest_ack  = Port(bit, 'out', protocol='none')
     self.append_worker(self.process_sha256)