 |
Cerata
A library to generate structural hardware designs
|
21 #include "cerata/node.h"
35 std::shared_ptr<Object>
Copy()
const override;
37 std::string
ToString()
const override;
41 std::shared_ptr<Signal>
signal(
const std::string &name,
42 const std::shared_ptr<Type> &type,
45 std::shared_ptr<Signal>
signal(
const std::shared_ptr<Type> &type,
std::string ToString() const override
Return a human-readable string of this node.
Signal(std::string name, std::shared_ptr< Type > type, std::shared_ptr< ClockDomain > domain=default_domain())
Signal constructor.
std::shared_ptr< Object > Copy() const override
Create a copy of this Signal.
Contains every Cerata class, function, etc...
Class to mark nodes with information for synchronous designs, e.g. clock domain.
std::string name() const
Return the name of the object.
A single-input, multiple-outputs node.
std::shared_ptr< ClockDomain > default_domain()
Return a static default clock domain.
std::shared_ptr< ClockDomain > domain() const
Return the clock domain to which something is synchronized.
std::shared_ptr< Signal > signal(const std::string &name, const std::shared_ptr< Type > &type, const std::shared_ptr< ClockDomain > &domain)
Create a new Signal and return a smart pointer to it.
Type * type() const
Return the node Type.