naps.vendor package

Subpackages

Submodules

naps.vendor.instance_helper module

class naps.vendor.instance_helper.HelperedInstance(*args, src_loc_at=0, **kwargs)

Bases: Elaboratable

elaborate(platform)
naps.vendor.instance_helper.InstanceHelper(source_files, instance_name)
exception naps.vendor.instance_helper.PortNotFoundException

Bases: Exception

class naps.vendor.instance_helper.SignalProxy(ports, path='')

Bases: ValueCastable

as_value()

Convert :py:`self` to a value-like object.

This method is called by the Amaranth language to convert :py:`self` to a concrete Value. It will usually return a Value object, but it may also return another value-like object to delegate its functionality.

This method must be idempotent: when called twice on the same object, the result must be exactly the same.

This method may also be called by code that is not a part of the Amaranth language.

Returns

Any other object recognized by Value.cast().

Raises

Exception

When the conversion cannot be done. This exception must be propagated by callers, either directly or as a cause of another exception.

It is recommended that, in cases where this method raises an exception, the shape() method also raises an exception.

eq(other)
shape()

Compute the shape of :py:`self`.

This method is not called by the Amaranth language itself; whenever it needs to discover the shape of a value-castable object, it calls self.as_value().shape(). However, that method must return a Shape, and ValueCastable subclasses may have a richer representation of their shape provided by an instance of a ShapeCastable subclass. This method may return such a representation.

This method must be idempotent: when called twice on the same object, the result must be exactly the same.

The following condition must hold:

Shape.cast(self.shape()) == Value.cast(self).shape()

Returns

A shape-like object.

Raises

Exception

When the conversion cannot be done. This exception must be propagated by callers, either directly or as a cause of another exception.

It is recommended that, in cases where this method raises an exception, the as_value() method also raises an exception.

property used_ports

naps.vendor.platform_agnostic_elaboratable module

class naps.vendor.platform_agnostic_elaboratable.ImplementationMarkerMetaclass(name, bases, namespace, /, **kwargs)

Bases: ABCMeta

property implementation
class naps.vendor.platform_agnostic_elaboratable.PlatformAgnosticElaboratable(*args, src_loc_at=0, **kwargs)

Bases: Elaboratable

A helper to write Platform agnostic code. Searches in the vendor directories for the real elaboratable.

elaborate(platform)
exception naps.vendor.platform_agnostic_elaboratable.PlatformNotSupportedError

Bases: ValueError

exception naps.vendor.platform_agnostic_elaboratable.PrimitiveNotSupportedByPlatformError

Bases: ValueError

Module contents