現在、私は VHDL スキルを開発しようとしているため、Eclipse 用の Sigasi プラグインを使用して VHDL コードを記述しています。Sigasi は素晴らしいツールですが、気になる点が 1 つあります。Sigasi は、プロセス定義の機密リストが不完全であるという警告を頻繁に投げかけますが、これは私の観点からは正当化されません。1 つの例は、対応するアーキテクチャを持つ次のエンティティです。リングシフトレジスタの説明です
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
entity RingShiftReg is
generic(
WIDTH : integer := 8
);
port(
clock : in std_ulogic;
reset : in std_ulogic;
set : in std_ulogic;
initValue : in std_ulogic_vector(WIDTH - 1 downto 0);
value : out std_ulogic_vector(WIDTH - 1 downto 0)
);
end;
architecture ringShiftRegArch of RingShiftReg is
signal innerValue : std_ulogic_vector(WIDTH - 1 downto 0);
begin
P1: process(clock, reset)
begin
if reset = '1' then
innerValue <= (others => '0');
elsif rising_edge(clock) then
if set = '1' then
innerValue <= initValue;
end if;
else
innerValue <= innerValue(WIDTH - 2 downto 0) & innerValue(WIDTH - 1);
end if;
end process;
value <= innerValue;
end ringShiftRegArch;
Sigasi Linter はP1
、シグナルinnerValue
が欠落しているため、プロセスの機密リストが不完全であると主張しています。innerValue
しかし、私の意見では、センシティビティ リストに入れる必要はありませclock
んreset
。
今、何が正しいですか?