09-07-2016 12:55 AM
I have generated an axi_interconnect core which is instantiated once in my project. When running implementation I get the following error message during the placement phase (non-project flow):
ERROR: [DRC 23-20] Rule violation (MDRV-1) Multiple Driver Nets - Net <const0> has multiple drivers: GND/G, i_axi_arbiter_0/U0/i_axi_interconnect_0/inst/axi_interconnect_inst/crossbar_samd/gen_samd.crossbar_samd/gen_crossbar.addr_arbiter_ar/gen_arbiter.m_mesg_i_reg/Q, i_axi_arbiter_0/U0/i_axi_interconnect_0/inst/axi_interconnect_inst/crossbar_samd/gen_samd.crossbar_samd/gen_crossbar.addr_arbiter_aw/gen_arbiter.m_mesg_i_reg/Q.
I'm a little puzzled, because the problem refers to a net deeply within the axi_interconnect core. At the moment I guess that this may be related to the fact that some of the axi slave ports of the axi_interconnect are not actually used but are connected to constant '0' or left open. Any suggestions?
I could not find any known issues about this.
09-07-2016 01:06 AM
I'd guess that you've connected an output from one of the AXI Slave ports to "const0" (ie constant zero). As a result, "const0" is being driven both by GND (by definition) and by that output, which is obviously not allowed.
The obvious fixes are to either leave the ports completely disconnected, or resize the AXI interconnect so those ports just don't exist.
09-07-2016 01:30 AM
09-07-2016 02:05 AM
@u4223374: There is no signal called "const0", I assume this is a net inferred during synthesis.
There are some unused AXI slave interfaces where input ports are
connected to '0' or (others => '0') and outputs are left open. This should be the
correct way to handle unused ports in VHDL.
There is no constant '0' or the like connected to any output port,
also this would already cause an error during elaboration or synthesis I guess.
@balkris: As I said, the error message refers to a signal deeply within the
AXI interconnect IP core which I generated using Vivado.
I did not write that code and thus assume the cause of the problem is in the external port connections or some synthesis parameter..
09-07-2016 03:23 AM
09-16-2016 02:06 PM
02-02-2021 11:02 AM
I came across this DRC error using 2019.1.3 where VHDL had default signal assignments driving IP outputs.
The same design under 2019.1.2 did not issue the same DRC errors.