 |
Cerata
A library to generate structural hardware designs
|
21 #include "cerata/type.h"
22 #include "cerata/flattype.h"
23 #include "cerata/node.h"
24 #include "cerata/port.h"
31 std::shared_ptr<Node>
GetWidth(
const std::shared_ptr<Type> &type);
36 std::shared_ptr<Type>
valid();
38 std::shared_ptr<Type>
ready();
51 std::vector<FlatType>
FilterForVHDL(
const std::vector<FlatType> &list);
std::string top
Top of the range.
std::shared_ptr< Type > ready()
A stream ready-valid handshake "ready" signal.
std::shared_ptr< Type > valid()
A stream ready-valid handshake "valid" signal.
enum cerata::vhdl::Range::@0 type
Range types.
std::vector< FlatType > FilterForVHDL(const std::vector< FlatType > &list)
Filter abstract types from a list of flattened types.
@ SINGLE
For range of size 1.
std::string bottom
Bottom of the range.
@ MULTI
For a range of size > 1.
std::string ToString(const std::vector< Block > &blocks)
Return a vector of blocks as a single string.
std::shared_ptr< Node > GetWidth(const std::shared_ptr< Type > &type)
Obtain the width of a primitive, synthesizable type. If it is not primitive, returns a Literal 0 node...
Port::Dir Reverse(Port::Dir dir)
Reverse a terminator direction.
std::string ToString()
Return a human-readable version of the range.
Contains everything related to the VHDL back-end.