You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.8 KiB
Python

__all__ = ["PowerFVCore"]
class PowerFVCore:
@classmethod
def add_check_arguments(cls, parser):
"""Add arguments to the :class:`PowerFVCheck` constructor.
Parameters
----------
parser : :class:`argparse.ArgumentParser`
Argument parser passed from :meth:`PowerFVSession.add_check_subparser`.
"""
pass
@classmethod
def wrapper(cls, **kwargs):
"""Instantiate a wrapper of the processor.
This method is called by the :class:`PowerFVCheck` constructor. The wrapper must have
a :class:`pfv.Interface` as its ``"pfv"`` attribute.
Parameters
----------
**kwargs :
Implementation-specific arguments, defined in :meth:`PowerFVCore.add_check_arguments`.
Return value
------------
An instance of :class:`amaranth.hdl.ir.Elaboratable`.
"""
raise NotImplementedError
@classmethod
def add_build_arguments(cls, parser):
"""Add arguments to :meth:`PowerFVCheck.build`.
Parameters
----------
parser : :class:`argparse.ArgumentParser`
Argument parser passed from :meth:`PowerFVSession.add_build_subparser`.
"""
pass
@classmethod
def add_files(cls, platform, wrapper, **kwargs):
"""Add source files to the build plan.
Parameters
----------
platform : :class:`sby.SymbiYosysPlatform`
Target platform. Files can be added with :meth:`amaranth.build.plat.Platform.add_file`.
wrapper : :class:`Elaboratable`
Top-level wrapper. See :meth:`PowerFVCore.wrapper`.
**kwargs :
Implementation-specific arguments, defined in :meth:`PowerFVCore.add_build_arguments`.
"""
pass