The naming conflict may happen when multiple Chisel generated files are integrated in one chip.
Although most module names will be added with a postfix that equals cluster names, ComplexQueue does not add this prefix because the override of Queue is quite safe.
However, recent improvements in Reader generate ComplexQueue without full handshaking protocol, breaking the safe override.
This PR adds a 6-byte, 32-radix hash on the end of each instantiation of Queue, which dramatically reduces the possibility of name collision.
The naming conflict may happen when multiple Chisel generated files are integrated in one chip.
Although most module names will be added with a postfix that equals cluster names, ComplexQueue does not add this prefix because the override of Queue is quite safe.
However, recent improvements in Reader generate ComplexQueue without full handshaking protocol, breaking the safe override.
This PR adds a 6-byte, 32-radix hash on the end of each instantiation of Queue, which dramatically reduces the possibility of name collision.