1

SigMap 的实例保证为设计中的每条连接线产生相同的输出。但这对于在不同平台的不同版本的 yosys 中运行的 SigMap 的不同实例是否成立?

如果初始查询以相同的顺序完成呢?有没有办法让 SigMap 在多个版本的多次运行中返回相同的 SigBit?

4

1 回答 1

2

SigMap 不保证使用SigMap(module)构造函数产生规范的输出,此类 SigMap 对象的确切行为取决于迭代器顺序module->connections()和连接数组的确切结构。

您可以使用以下技术“规范化” SigMap:

SigMap sigmap(module);
for (auto bit : sigmap.allbits())
    if (my_canonical_cmp(sigmap(bit), bit))
        sigmap.add(bit);

(我SigMap::allbits()刚刚添加了。所以你需要更新到最新的 git head 才能工作。)

于 2015-08-31T14:43:26.740 回答