1
votes

I try to learn VHDL language I don't understand a strange thing. This thing refers to the signals from an architecture.

My question is: Why we can't assign bit signal, integer signal, etc in more than one process/ concurrent assign. But I saw, we can assign in more than one process Std_logic_vector signal and Std_logic signal.

1
"But I saw, we can assign in more than one process Std_logic_vector signal and Std_logic signal." Please show us the code where you think that is correctly used. - Oldfart
Welcome to Stack Overflow. Please read through the Help Center > Asking section, and ensure your question follows the guidelines, since that will give you most success getting answers in this forum. - Morten Zilmer
"It is an error if, after the elaboration of a description, a signal has multiple sources and it is not a resolved signal.", IEEE Std 1076-2008 6.4.2.3 Signal declarations. "The resolution function associated with a resolved signal determines the resolved value of the signal as a function of the collection of inputs from its multiple sources.", 4.6 Resolution functions. The resolution function for std_logic or std_logic_vector (named resolved) is found in the std_logic_1164 package body. Restrictions on multiple drivers can be target device limited and defined by synthesis tools. - user1155120

1 Answers

1
votes

It is an error if, after the elaboration of a description, a signal has multiple sources and it is not a resolved signal.

IEEE Std 1076-2008 6.4.2.3 Signal declarations.

The resolution function associated with a resolved signal determines the resolved value of the signal as a function of the collection of inputs from its multiple sources.

4.6 Resolution functions.

The resolution function for std_logic or std_logic_vector (named resolved) is found in the std_logic_1164 package body.

Restrictions on multiple drivers can be target device limited and defined by synthesis tools.

made @user1155120 's comment a community wiki answer