Exemplo n.º 1
0
Arquivo: VLC.py Projeto: lgc800430/PMS
 def pos_cycle(self):
   myPCTracer = self.PCTracer_ptr
   # for VLC input PClist check
   if (myPCTracer.PCpointer >= len(myPCTracer.PClist)):
     return
   ### find the "WAITTING" one in outsdnglist, make a transaction
   for ioutsdnglist in range(self.getCfgByName("outsdng")):
     if(self.outsdnglist[ioutsdnglist].state == Request.isRequestState("WAIT")):
       assert(not self.node_ptr.node_lower_bus == "None"), ("%s node_lower_bus = %s" %(self.node_ptr.node_name, self.node_ptr.node_lower_bus))
       ### mark this req in outsdnglist as OUTSTANDING state ###
       self.outsdnglist[ioutsdnglist].state = Request.isRequestState("OUTSTANDING")
       ### turn req to a new transaction ###
       tmp_transaction = Transaction()
       tmp_transaction.source_node = self.node_ptr
       tmp_transaction.destination_list.append(GlobalVar.topology_ptr.node_dist[self.node_ptr.node_lower_node])
       tmp_transaction.duration_list.append(self.node_ptr)
       tmp_transaction.source_req = self.outsdnglist[ioutsdnglist]
       tmp_transaction.subblockaddr = self.outsdnglist[ioutsdnglist].subblockaddr
       
       self.node_ptr.node_port_dist[self.node_ptr.node_name + "_" + self.node_ptr.node_lower_bus ].port_NB_trans.append(tmp_transaction)