コード例 #1
0
ファイル: test_project.py プロジェクト: kayws426/chiptools
 def test_constraints(self):
     project = Project()
     for constraints in self.project_constraints:
         project.add_constraints(constraints, flow='dummy_flow')
     constraints = project.get_constraints()
     self.assertEquals(
         len(constraints),
         len(self.project_constraints),
         msg='Incorrect number of constraints added to project.'
     )
     self.assertTrue(
         len(constraints) > 0,
         msg='Not correctly tested as no constraints are present.'
     )
     for idx in range(len(constraints)):
         self.assertEquals(
             constraints[idx].path,
             os.path.abspath(self.project_constraints[idx]),
             msg='Constraints path was incorrectly processed.'
         )
コード例 #2
0
ファイル: max_hold_project.py プロジェクト: hoangt/chiptools
# The Project class provides an add_config or add_config_dict method. We use
# the add_config_dict method here to load the config dictionary, you can set
# individual configuration items using add_config.
project.add_config_dict(**config)

# Some unit tests have been written for the max_hold component and stored in
# max_hold_tests.py. The Project class provides an 'add_unittest' method for
# adding unit tests to the project, it expects a path to the unit test file.
project.add_unittest('max_hold_tests.py')
project.add_unittest('basic_unit_test.py')

# The constraints are added to the project using the add_constraints method.
# The optional 'flow' argument is used to explicitly identify which synthesis
# flow the constraints are intended for (the default is to infer supported
# flows from the file extension).
project.add_constraints('max_hold.xdc', flow='vivado')
project.add_constraints('max_hold.ucf', flow='ise')

# Synthesis generics can be assigned via the add_generic command, in this
# example we set the data_Width generic to 3:
project.add_generic('data_width', 3)

# Source files for the max_hold component are added to the project. The Project
# 'add_file' method accepts a file path and library name, if no library is
# specified it will default to 'work'. Other file attributes are available but
# not covered in this example.
project.add_file('max_hold.vhd', library='lib_max_hold')
project.add_file('pkg_max_hold.vhd', library='lib_max_hold')

# When adding the testbench file we supply a 'synthesise' attribute and set it
# to 'False', this tells the synthesis tool not to try to synthesise this file.