::std::

Module mem

Modules

fifo_impl

Structs

FifoRead

A fifo read port If there fifo is not empty, read contains the next value. If ack is set, that element is popped from the fifo this clock cycle. / The num_elements is approximate but guaranteed to be a conservative estimate, i.e. there are at least num_elements in the fifo.

FifoWrite

A fifo write port. Writes a single element of data data in to the write port unless full is true. If full is true, the write is ignored

ReadPort

A read port for a memory. It is not recommended to manually read the signals in this struct, instead use .read() to access the port.

WritePort

Entities

clocked_memory

Define a memory where values are written on the rising edge of the clock. Reads can occur asynchronously with the read_mem function. If Clocked reads should be used, the read result should be placed in a register

clocked_memory_init

Same as clocked_memory but initializes the memory with the values specified in initial_values. The initial values must be evaluatable at compile time, otherwise an error is thrown

dp_bram

A dual port block RAM that supports read and write ports being in different domains. If writes and reads happen to the same address, the behaviour is undefined.

fifo

A cross-domain fifo backed by block RAM. NOTE: W must be 2^C but this is not currently checked

read_memory

Get the value out of a memory

Pipelines

read_read_port

Read a read port. Deprecated, prefer using the ReadPort::read() method instead