SigMap 的实例保证为设计中的每条连接线产生相同的输出。但这对于在不同平台的不同版本的 yosys 中运行的 SigMap 的不同实例是否成立?
如果初始查询以相同的顺序完成呢?有没有办法让 SigMap 在多个版本的多次运行中返回相同的 SigBit?
SigMap 的实例保证为设计中的每条连接线产生相同的输出。但这对于在不同平台的不同版本的 yosys 中运行的 SigMap 的不同实例是否成立?
如果初始查询以相同的顺序完成呢?有没有办法让 SigMap 在多个版本的多次运行中返回相同的 SigBit?
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 才能工作。)