37 if (dff->
type ==
"$_DFF_N_" || dff->
type ==
"$_DFF_P_") {
44 (dff->
type[6] ==
'N' || dff->
type[6] ==
'P') &&
45 (dff->
type[7] ==
'N' || dff->
type[7] ==
'P') &&
46 (dff->
type[8] ==
'0' || dff->
type[8] ==
'1')) {
55 else if (dff->
type ==
"$dff") {
61 else if (dff->
type ==
"$adff") {
78 bool has_init =
false;
80 for (
auto bit :
dff_init_map(sig_q).to_sigbit_vector()) {
87 std::set<RTLIL::Cell*> muxes;
89 for (
auto mux : muxes) {
106 if (val_rv.
bits.size() == 0)
131 if (sig_d == sig_q && !(sig_r.
size() && has_init)) {
const char * c_str() const
bool is_fully_undef() const
bool has(RTLIL::SigSpec sig)
std::map< RTLIL::IdString, RTLIL::Const > parameters
void apply(RTLIL::SigBit &bit) const
void connect(const RTLIL::SigSig &conn)
const RTLIL::SigSpec & getPort(RTLIL::IdString portname) const
bool is_fully_const() const
USING_YOSYS_NAMESPACE PRIVATE_NAMESPACE_BEGIN SigMap dff_init_map
std::string substr(size_t pos=0, size_t len=std::string::npos) const
void remove(const std::set< RTLIL::Wire * > &wires)
SigSet< RTLIL::Cell * > mux_drivers
void log(const char *format,...)
std::vector< RTLIL::State > bits
std::pair< SigSpec, SigSpec > SigSig
void find(RTLIL::SigSpec sig, std::set< T > &result)
USING_YOSYS_NAMESPACE PRIVATE_NAMESPACE_BEGIN SigMap assign_map