Я пытаюсь реализовать новый проход для вычисления последовательной глубины и сложности данного модуля в Yosys. Для этого меня вдохновляет scc pass. Чтобы реализовать это, мне нужно специально выполнить DFS, начиная с входных портов модуля. Для этого я пытаюсь найти все ячейки, которые непосредственно подключены к входным портам. Я начинаю с порта модуля и нахожу соответствующие провода:
SigPool inputPorts;
for (auto &it : module->ports)
if (module->wires_[it]->port_input)
inputPorts.add((sigmap(RTLIL::SigSpec(module->wires_[it]))));
но проблема в том, что я не могу найти ячейки, которые сразу подключены к входным портам оттуда (для этого нет APR в типах wires/sigspec/sigpool).
Любая помощь/подсказка будет принята с благодарностью.