def generate_arbitrators(self, debug=False): #tags have already been set for this class if (not saparbitrator.is_arbitrator_required(self.project_tags, False)): return 0 arb_size_list = [] arbitrator_buffer = "" #we have some arbitrators, add the tag to the project # (this is needed for gen_top) # arb_tags = saparbitrator.generate_arbitrator_tags(self.project_tags, False) # self.project_tags["ARBITRATORS"] = arb_tags #for each of the items in the arbitrator list create a file tags #item that can be proecessed by sapfile.process file arb_tags = self.project_tags["ARBITRATORS"] for i in range (0, len(arb_tags.keys())): key = arb_tags.keys()[i] arb_size = len(arb_tags[key]) + 1 if (arb_size in arb_size_list): continue #we don't already have this size, so add it into the list arb_size_list.append(arb_size) fn = "arbitrator_" + str(arb_size) + "_masters.v" d = self.project_tags["BASE_DIR"] + "/rtl/bus/arbitrators" self.filegen.buf = saparbitrator.generate_arbitrator_buffer(arb_size) if debug: print "arbitrator buffer: " + self.filegen.buf self.filegen.write_file(d, fn) return len(arb_size_list)
def generate_arbitrators(self, debug=False): """Generates all the arbitrators modules from the configuration file Searches for any required arbitrators in the configuration file. Then generates the required arbitrators (2 to 1, 3 to 1, etc...) Args: Nothing Return: The largest size arbitrator generated (used for testing purposes) Raises: TypeError IOError """ #tags have already been set for this class if (not saparbitrator.is_arbitrator_required(self.project_tags, False)): return 0 arb_size_list = [] arbitrator_buffer = "" #we have some arbitrators, add the tag to the project # (this is needed for gen_top) # arb_tags = saparbitrator.generate_arbitrator_tags(self.project_tags, False) # self.project_tags["ARBITRATORS"] = arb_tags #for each of the items in the arbitrator list create a file tags #item that can be proecessed by sapfile.process file arb_tags = self.project_tags["ARBITRATORS"] for i in range(0, len(arb_tags.keys())): key = arb_tags.keys()[i] arb_size = len(arb_tags[key]) + 1 if (arb_size in arb_size_list): continue #we don't already have this size, so add it into the list arb_size_list.append(arb_size) fn = "arbitrator_" + str(arb_size) + "_masters.v" d = self.project_tags["BASE_DIR"] + "/rtl/bus/arbitrators" self.filegen.buf = saparbitrator.generate_arbitrator_buffer( arb_size) if debug: print "arbitrator buffer: " + self.filegen.buf self.filegen.write_file(d, fn) return len(arb_size_list)
def generate_arbitrators(self, debug=False): """Generates all the arbitrators modules from the configuration file Searches for any required arbitrators in the configuration file. Then generates the required arbitrators (2 to 1, 3 to 1, etc...) Args: Nothing Return: The largest size arbitrator generated (used for testing purposes) Raises: TypeError IOError """ #tags have already been set for this class if (not saparbitrator.is_arbitrator_required(self.project_tags, False)): return 0 arb_size_list = [] arbitrator_buffer = "" #we have some arbitrators, add the tag to the project # (this is needed for gen_top) # arb_tags = saparbitrator.generate_arbitrator_tags(self.project_tags, False) # self.project_tags["ARBITRATORS"] = arb_tags #for each of the items in the arbitrator list create a file tags #item that can be proecessed by sapfile.process file arb_tags = self.project_tags["ARBITRATORS"] for i in range (0, len(arb_tags.keys())): key = arb_tags.keys()[i] arb_size = len(arb_tags[key]) + 1 if (arb_size in arb_size_list): continue #we don't already have this size, so add it into the list arb_size_list.append(arb_size) fn = "arbitrator_" + str(arb_size) + "_masters.v" d = self.project_tags["BASE_DIR"] + "/rtl/bus/arbitrators" self.filegen.buf = saparbitrator.generate_arbitrator_buffer(arb_size) if debug: print "arbitrator buffer: " + self.filegen.buf self.filegen.write_file(d, fn) return len(arb_size_list)
def test_generate_arbitrator_buffer (self): """generate an arbitrator buffer""" result = saparbitrator.generate_arbitrator_buffer(2, debug = self.dbg) if (self.dbg): print "generated arbitrator buffer: \n" + result self.assertEqual((len(result) > 0), True)
def test_generate_arbitrator_buffer(self): """generate an arbitrator buffer""" result = saparbitrator.generate_arbitrator_buffer(2, debug=self.dbg) if (self.dbg): print "generated arbitrator buffer: \n" + result self.assertEqual((len(result) > 0), True)