Getting below yosys warning due to which my regist...
# caravel
r
Getting below yosys warning due to which my registters are getting removed -- Warning: multiple conflicting drivers for _CONTROLLER.\IN0_BL [14]: port Q[14] of cell $procdff$25509 ($dff) port Q[14] of cell $procdff$25555 ($dff) Warning: multiple conflicting drivers for _CONTROLLER.\IN0_BL [13]: port Q[13] of cell $procdff$25509 ($dff) port Q[13] of cell $procdff$25555 ($dff) Warning: multiple conflicting drivers for _CONTROLLER.\IN0_BL [12]: port Q[12] of cell $procdff$25509 ($dff) port Q[12] of cell $procdff$25555 ($dff) When i debug , seems its flagging if the same reg name is used in diff always blocks. BUT the IF-ELSE condition is different... Is this a bug. doesnt make sense since the IF-ELSE condition for assigning these registers are different
a
You cant have two different drivers. By having two always blocks that assign, you are getting two latches instead of flip flops that drive the same net. Just do not assign in different always blocks
r
The tool should understand if the FF is triggered by posedge m even by 2 diff alaways blocks , then different IF conditions should not have a problem. It can always merge . Seems like a limitation to me
a
You have two latches, how will you possibly merge them? It does not make sense
r
It should be FF correct not latches due to posedge clk .. The two posedge clk can be merged since the sensitivty list is same (CLOCK) , only the IF conditions are different.
a
Yeah, my bad. Two flip flops, not latches. Again, same problem, you cant merge two flip flops.
r
Is register merging supported from yosys
a
Register merging is not the same. It merges if and only if the input and output clouds match.
In your case, they do not
r
DAMN....need to change the RTL.....
Thnks