Forum Discussion

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

ModelSim + for loop generation + nonresolved signal has multiple sources error

Hello All,

I am trying to compile the following code in modelsim and getting "nonresolved signal RX_CH_A has multiple sources.


-- In process 1
            for i in 0 to 5 loop
                RX_CH_A(11 - 2*i) <= PA(6 - i);
                RX_CH_B(11 - 2*i) <= PB(6 - i);
                RX_CH_C(11 - 2*i) <= PC(6 - i);
                RX_CH_D(11 - 2*i) <= PD(6 - i);
            end loop;
-- In process 2
            for i in 0 to 5 loop
                RX_CH_A(10 - 2*i) <= NA(6 - i);
                RX_CH_B(10 - 2*i) <= NB(6 - i);
                RX_CH_C(10 - 2*i) <= NC(6 - i);
                RX_CH_D(10 - 2*i) <= ND(6 - i);
            end loop;

Since process1 uses odd bits and process2 uses even bits, there should not be a "multiple source" error.

Quartus compiles and synthesises the code just fine.

Only modelsim reports this error.

Any help / pointers would be appreciated.

Ram

2 Replies

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

    --- Quote Start ---

    Hello All,

    I am trying to compile the following code in modelsim and getting "nonresolved signal RX_CH_A has multiple sources.

    
    -- In process 1
                for i in 0 to 5 loop
                    RX_CH_A(11 - 2*i) <= PA(6 - i);
                    RX_CH_B(11 - 2*i) <= PB(6 - i);
                    RX_CH_C(11 - 2*i) <= PC(6 - i);
                    RX_CH_D(11 - 2*i) <= PD(6 - i);
                end loop;
    -- In process 2
                for i in 0 to 5 loop
                    RX_CH_A(10 - 2*i) <= NA(6 - i);
                    RX_CH_B(10 - 2*i) <= NB(6 - i);
                    RX_CH_C(10 - 2*i) <= NC(6 - i);
                    RX_CH_D(10 - 2*i) <= ND(6 - i);
                end loop;
    

    Since process1 uses odd bits and process2 uses even bits, there should not be a "multiple source" error.

    Quartus compiles and synthesises the code just fine.

    Only modelsim reports this error.

    Any help / pointers would be appreciated.

    Ram

    --- Quote End ---

    try put them in one process. Should have same functionality.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    try put them in one process. Should have same functionality.

    --- Quote End ---

    Hi Kaz,

    Thanks for quick reply.

    I am clocking in the odd bits at rising edge and the even bits at falling edge. That was why I separated them in different processes.

    regards.

    Ram