Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
14 years ago

4-QAM: Error (10028): Can't resolve multiple constant drivers

I am building a 4-QAM using VHDL, but encountered this error which I've spent hours figuring out:

Error (10028): Can't resolve multiple constant drivers for net "in_buffer[1]" at qam4.vhd(53)

Error (10029): Constant driver at qam4.vhd(99)

Error (10028): Can't resolve multiple constant drivers for net "in_buffer[0]" at qam4.vhd(53)

Here is my written code:

Please help me find out why is it happening. Thank you for your help!

2 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Sounds like you're driving a signal more than once.

    The code you posted dosnt seem to be there
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I am a bit curious why digital terminology includes notions like bus, engine, throttle, starter,body,pipe,glitch,timing and drivers

    sounds like they borrowed from transport industry. A bus cannot be driven by more than one driver. if there are two drivers or more then they should agree on a schedule instead of arguments or a fight. This is analogous to logic decisions...the poor compiler and the poor software engineer behind it cannot make the drive decisions for you because they don't have prior knowledge of the application.

    The basic rule is that any node is driven through one single concurrent statement or one or more sequential statements in the same process. The multiple seq statements imply either a construct for decision making or an overwrite situation if there are no conditions.

    Thus: data(7 downto 0) <= x"00";

    data(7) <= '1';

    is ok within a process to overwrite data(7) though you may get warning.

    This is main difference from software mindset. The compiler has to decide at compile time what the logic is. It does not design a circuit to follow your seq statements literally...