コード例 #1
0
ファイル: subtractor.py プロジェクト: GreenSocs/greenlib
    def __init__(self, in1, in2, out):
        self.in1 = gs.sc_signal(in1)
        self.in2 = gs.sc_signal(in2)
        gs.spawn(self.doit)

        self.h = gs.param("hello")
        self.m = gs.param("message")
コード例 #2
0
ファイル: subtractor.py プロジェクト: sernc11/greenlib
    def __init__(self, in1, in2, out):
        self.in1 = gs.sc_signal(in1)
        self.in2 = gs.sc_signal(in2)
        gs.spawn(self.doit)

        self.h = gs.param("hello")
        self.m = gs.param("message")
コード例 #3
0
ファイル: test_gav_output.py プロジェクト: GreenSocs/greenlib
 def configure_gav_output(self):
     # Parameters
     self.addr = gs.param("addr")
     self.data = gs.param("data")
     # need to initialise a parameter if we want it searcheable by name
     self.addr(0)
     # Configure output to file "test_gav_output.txt"
     print "Output parameter changes to file: test_gav_output.txt"
     self.file_output = gs.av.output(gs.av.TXT_FILE_OUT, "test_gav_output.txt")
     # Add parameters to the output (by name or reference)
     self.file_output.add("addr")
     self.file_output.add(self.data)
コード例 #4
0
 def configure_gav_output(self):
     # Parameters
     self.addr = gs.param("addr")
     self.data = gs.param("data")
     # need to initialise a parameter if we want it searcheable by name
     self.addr(0)
     # Configure output to file "test_gav_output.txt"
     print "Output parameter changes to file: test_gav_output.txt"
     self.file_output = gs.av.output(gs.av.TXT_FILE_OUT,
                                     "test_gav_output.txt")
     # Add parameters to the output (by name or reference)
     self.file_output.add("addr")
     self.file_output.add(self.data)
コード例 #5
0
ファイル: subtractor.py プロジェクト: sernc11/greenlib
 def doit(self):
     k = False
     while True:
         gs.wait(self.in1.write_event() | self.in2.write_event())
         print "diff is", self.in1.read() - self.in2.read(), an_int
         print "->", self.h(), self.m()
         gs.wait(30, gs.NS)
         if not k: k = gs.param("another")
         print "-->", k()
コード例 #6
0
ファイル: subtractor.py プロジェクト: GreenSocs/greenlib
 def doit(self):
     k = False
     while True:
         gs.wait(self.in1.write_event() | self.in2.write_event())
         print "diff is", self.in1.read() - self.in2.read(), an_int
         print "->", self.h(), self.m()
         gs.wait(30,gs.NS)
         if not k:  k = gs.param("another")
         print "-->", k()
コード例 #7
0
ファイル: adder.py プロジェクト: sernc11/greenlib
 def doit(self):
     k = False
     while True:
         gs.wait(self.in1.write_event() | self.in2.write_event())
         self.out.write(self.in1.read() + self.in2.read())
         print "adder out", self.out.read(), an_int
         gs.wait(10, gs.NS)
         print "->", self.h(), self.m()
         if not k: k = gs.param("test")
         print "-->", k()
コード例 #8
0
ファイル: adder.py プロジェクト: GreenSocs/greenlib
 def doit(self):
     k = False
     while True:
         gs.wait(self.in1.write_event() | self.in2.write_event())
         self.out.write(self.in1.read() + self.in2.read())
         print "adder out", self.out.read(), an_int
         gs.wait(10,gs.NS)
         print "->", self.h(), self.m()
         if not k:  k = gs.param("test")
         print "-->", k()
コード例 #9
0
 def __init__(self, in1, out):
     self.in1 = in1
     self.out = out
     gs.spawn(self.doit)
     # Get memory contents as a parameter
     self.MEM = gs.param("MEM")
コード例 #10
0
ファイル: test_gs_param.py プロジェクト: GreenSocs/greenlib
 def __init__(self, in1, out):
     self.in1 = in1
     self.out = out
     gs.spawn(self.doit)
     # Get memory contents as a parameter
     self.MEM = gs.param("MEM")
コード例 #11
0
ファイル: test_gs_param.py プロジェクト: GreenSocs/greenlib
 def __init__(self, req, ack):
     self.req = req
     self.ack = ack
     gs.spawn(self.doit)
     self.testparam = gs.param("foo.bar.zoo")
コード例 #12
0
ファイル: test_gs_param.py プロジェクト: GreenSocs/greenlib
        gs.spawn(self.doit)
        # Get memory contents as a parameter
        self.MEM = gs.param("MEM")


# Load config file
gs.config_lua("test_gs_param.cfg.lua")

# Describe the system
addr = gs.fifo()
data = gs.fifo()
cpu1 = cpu(addr,data)
memory1 = memory(addr,data)

# Try an Array Parameter
ap = gs.param("test_array")
print ap
for a in ap: print a()+20

# Test the callbacks
def pp(x): print x
gs.end_of_elaboration(lambda: pp("eoe"))
gs.end_of_simulation(lambda: pp("ssss"))
gs.end_of_simulation(lambda: pp("eos"))

# A simple process to keep the kernel alive a bit
def goon():
  for i in range(4):
    gs.wait(25+25*i,gs.NS)
    print gs.simulation_time()
gs.spawn(goon)
コード例 #13
0
ファイル: test_gs_param.py プロジェクト: sernc11/greenlib
 def __init__(self, req, ack):
     self.req = req
     self.ack = ack
     gs.spawn(self.doit)
     self.testparam = gs.param("foo.bar.zoo")
コード例 #14
0
ファイル: test_gs_param.py プロジェクト: sernc11/greenlib
        gs.spawn(self.doit)
        # Get memory contents as a parameter
        self.MEM = gs.param("MEM")


# Load config file
gs.config_lua("test_gs_param.cfg.lua")

# Describe the system
addr = gs.fifo()
data = gs.fifo()
cpu1 = cpu(addr, data)
memory1 = memory(addr, data)

# Try an Array Parameter
ap = gs.param("test_array")
print ap
for a in ap:
    print a() + 20


# Test the callbacks
def pp(x):
    print x


gs.end_of_elaboration(lambda: pp("eoe"))
gs.end_of_simulation(lambda: pp("ssss"))
gs.end_of_simulation(lambda: pp("eos"))