Beispiel #1
0
 def build(self, directory):
     for base_name in self.parts:
         template_fn = os.path.join(
             config.hdldir, 'tree', '{}.vhd.t'.format(base_name))
         output_fn = os.path.join(
             directory, '{}_{}.vhd'.format(base_name, self.tree_name))
         utils.format_file(template_fn, output_fn, {'tree_name': self.tree_name})
Beispiel #2
0
def make_defs_file(filename, package_name, signal_types,
                   contained_signal_types):
    '''
    Makes a package of definitions so you don't have to.
    TODO: I haven't been using this recently so it probably needs better
    testing.

    Args:
        `filename`: Where to write the file.
        `package_name`: The name of the package.
        `signal_type`: A list of signal types to define in the package.
        `contained_signal_types`: A list of signa types which
            we will make unnamed arrays of.
    '''
    defs = []
    imps = []
    for signal_type in signal_types:
        new_defs, new_imps = signal_type.defs_and_imps()
        defs += new_defs
        imps += new_imps
    for signal_type in contained_signal_types:
        new_defs, new_imps = make_array_defs(signal_type)
        defs += new_defs
        imps += new_imps
    template_fn = os.path.join(config.basedir, 'hdl', 'definitions.vhd.t')
    template_params = {
        'definitions': defs,
        'implementations': imps,
        'package_name': package_name,
    }
    utils.format_file(template_fn, filename, template_params)
 def build(self, directory):
     template_filename = os.path.join(config.hdldir, 'wrapper', 'jtag_axi_wrapper.vhd.t')
     filename = self.get_filename(directory)
     params = {
         'dut_name': self.top_name,
         'dut_parameters': self.top_parameters,
     }
     utils.format_file(template_filename, filename, params)
Beispiel #4
0
 def build(self, directory):
     for base_name in self.parts:
         template_fn = os.path.join(config.hdldir, 'tree',
                                    '{}.vhd.t'.format(base_name))
         output_fn = os.path.join(
             directory, '{}_{}.vhd'.format(base_name, self.tree_name))
         utils.format_file(template_fn, output_fn,
                           {'tree_name': self.tree_name})
Beispiel #5
0
 def build(self, directory):
     if self.language == 'vhdl':
         template_fn = os.path.join(config.hdldir, 'wrapper', 'inner_wrapper.vhd.t')
     elif self.language == 'systemverilog':
         template_fn = os.path.join(config.hdldir, 'wrapper', 'inner_wrapper.sv.t')
     else:
         raise ValueError('Unknown language: {}'.format(self.language))            
     output_fn = self.get_filename(directory)
     utils.format_file(template_fn, output_fn, self.template_params)
Beispiel #6
0
 def build(self, directory):
     template_filename = os.path.join(config.hdldir, 'wrapper',
                                      'jtag_axi_wrapper.vhd.t')
     filename = self.get_filename(directory)
     params = {
         'dut_name': self.top_name,
         'dut_parameters': self.top_parameters,
     }
     utils.format_file(template_filename, filename, params)
Beispiel #7
0
 def build(self, directory):
     if self.language == 'vhdl':
         template_fn = os.path.join(config.hdldir, 'wrapper',
                                    'inner_wrapper.vhd.t')
     elif self.language in ('systemverilog', 'verilog'):
         template_fn = os.path.join(config.hdldir, 'wrapper',
                                    'inner_wrapper.sv.t')
     else:
         raise ValueError('Unknown language: {}'.format(self.language))
     output_fn = self.get_filename(directory)
     utils.format_file(template_fn, output_fn, self.template_params)
Beispiel #8
0
 def build(self, directory, false_directory=None):
     '''
     Produce the necessary files.
     `directory` is where the files will be placed.
     `false_directory` is where the files should think they are being placed.
     `false_directory` is necessary so we can compare the contents of files
     that have been placed in different directories when getting hashs.
     '''
     if false_directory is None:
         false_directory = directory
     template_fn = os.path.join(config.hdldir, 'wrapper', 'file_testbench.vhd.t')
     output_fn = self.get_filename(directory)
     # Don't set a limit on running time
     time_limit = 0
     template_params = {
         'total_width_in': self.interface.total_width_in(),
         'total_width_out': self.interface.total_width_out(),
         'input_filename': os.path.join(false_directory, 'input.data'),
         'output_filename': os.path.join(false_directory, 'output.data'),
         'clock_period': '10 ns',
         'max_cycles': time_limit,
         'dut_parameters': self.interface.module_parameters,
     }
     utils.format_file(template_fn, output_fn, template_params)
Beispiel #9
0
 def build(self, directory):
     template_fn = os.path.join(config.hdldir, 'wrapper', 'dummy_wrapper.vhd.t')
     output_fn = self.get_filename(directory)
     utils.format_file(template_fn, output_fn, self.params)
Beispiel #10
0
 def build(self, directory):
     template_fn = os.path.join(config.hdldir, 'wrapper', 'outer_wrapper.vhd.t')
     output_fn = self.get_filename(directory)
     utils.format_file(template_fn, output_fn, self.template_params)