Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Signal with an external name cannot be assigned concurrently #1156

Closed
am9417 opened this issue Feb 6, 2025 · 0 comments
Closed

Signal with an external name cannot be assigned concurrently #1156

am9417 opened this issue Feb 6, 2025 · 0 comments

Comments

@am9417
Copy link

am9417 commented Feb 6, 2025

Following structure gives error. I.e. when assigning a signal from an external name inside an architecture (concurrent assignment statement).


** Error: unexpected << while parsing concurrent statement, expecting one of process, postponed, component, entity, configuration, with, assert, block, if, for, case, ( or identifier
architecture arc of ent is
  signal x : std_logic;
begin
  << signal .some.external.name : std_logic >> <= x;
end architecture;

My workaround is to wrap the concurrent assignment into a process:

architecture arc of ent is
  signal x : std_logic;
begin
  process(all)
  begin
    << signal .some.external.name : std_logic >> <= x;
  end process;
end architecture;

and the error disappears and the unit can be analyzed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant