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

VHDL: Compile error while assigning attributes to "all" signals. #889

Closed
aqeelmahroof opened this issue May 16, 2024 · 0 comments
Closed
Labels

Comments

@aqeelmahroof
Copy link

Hi Nick,

I having compilation issues while assigning attributes to all signals using the keyword all.
code (attached here mark_debug_issue.zip)

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

entity mark_debug_all is
  generic(
    G_MORE_DELAY    : boolean := true
  );  
  port (
    clk                        : in  std_logic; 
    din                        : in  std_logic_vector(4-1 downto 0);
    dout                       : out std_logic_vector(4-1 downto 0)
  );
  end mark_debug_all;

  architecture rtl of mark_debug_all is
  
    signal z1            : std_logic_vector(4-1 downto 0);
    signal z2            : std_logic_vector(4-1 downto 0);
    attribute mark_debug : string;
    attribute mark_debug of all : signal is "True"; -------------------------------------- * 
    
  begin
  
    p_delay: process(clk)
    begin
       if (rising_edge(clk)) then
        z1 <= din;
        z2 <= z1 ;
      end if;
    end process;
  
    -- dummy process 
    gen_more_delay : if G_MORE_DELAY generate
      signal z3            : std_logic_vector(4-1 downto 0);
      signal z4            : std_logic_vector(4-1 downto 0); 
      attribute mark_debug of all : signal is "True"; -------------------------------------- * 
    begin
      p_delay: process(clk)
      begin
         if (rising_edge(clk)) then
          z3 <= z2;
          z4 <= z3;
          dout <= z4;
        end if;
      end process;
    end generate gen_more_delay;
    
    gen_no_delay : if not G_MORE_DELAY generate
    begin
      dout <= z2;
    end generate gen_no_delay;

  end architecture rtl;

to run

nvc --std=93 -a ./mark_debug_all.vhd

nvc version :- nvc 1.13-devel (1.12.0.r41.g3edb4fec) (Using LLVM 14.0.0)

Note:- This works fine whith Questa.

@nickg nickg added the analysis label May 17, 2024
@nickg nickg closed this as completed in 296305a May 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants