Quartus II Node Finder

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Dear Sir or Madame,

attached you see a test project file.

After compiling the design I open the Node Finder.
I use the following filter : Design entry (all names)

Why is the signal "vector_out" (entity test.vhd)
(which is  concurrently assigned by the registered signal
"l_vector")   and the corresponding port map signal (toplevel entity)
"l_vector_out" shown to be combinatorial although they are
registers?
A change of the filter type does not change the result.

Why do these signals not appear as registers in the NodeFinder?

Thank you very much.

Kind regards

A. Vazquez

toplevel file
------------------------------------------------------
------------------------------------------------------

library ieee;

use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;

entity test_hierarch is
port( clk_in   : in  std_logic;
      reset_in : in  std_logic;
      invec    : in  std_logic_vector(3 downto 0);
      set      : in  std_logic_vector(3 downto 0);
      show     : out std_logic
    );
end test_hierarch;


architecture rtl of test_hierarch is

   component test is
             port( clk        : in  std_logic;
                   reset      : in  std_logic;
                   indelay    : in  std_logic_vector(3 downto 0);
                   vector_out : out std_logic_vector(3 downto 0)
                  );
   end component;

-- local signals
signal l_vector_out : std_logic_vector(3 downto 0);

begin

i1 : test
port map ( clk        => clk_in,
           reset      => reset_in,
           indelay    => invec,
           vector_out => l_vector_out
          );

 process(reset_in, clk_in)
 begin
    if reset_in='1' then
       show <= '0';
    elsif clk_in='1' and clk_in'event then
       if ( (l_vector_out = "0001") and (set="1111") ) then
          show <= '1';
       end if;
    end if;
 end process;
end rtl;
----------------------------------------------------
----------------------------------------------------



component file
-----------------------------------------------------
-----------------------------------------------------
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;


entity test is
port( clk        : in  std_logic;
      reset      : in  std_logic;
      indelay    : in  std_logic_vector(3 downto 0);
      vector_out : out std_logic_vector(3 downto 0)
    );
end test;

architecture behavior of test is

signal l_vector : std_logic_vector(3 downto 0);

begin

-- concurrent statement
vector_out <= l_vector;
--

 process(clk, reset)
 begin
We've slightly trimmed the long signature. Click to see the full one.
Re: Quartus II Node Finder
snipped-for-privacy@gmx.de (Vazquez) wrote in message
Quoted text here. Click to load it



"vector_out" and "l_vector_out" are wires that are connected to the
register "l_vector". Quartus considers wires to be combinational
entities, even if they are electrically connected to the output of a
register.

Subroto Datta
Altera Corp.

Site Timeline