我目前正在Quartus中设计一个简单的多输入SPI主控。鉴于它是一个串行协议,我有一个串行时钟和一个存储当前位索引的信号。
我写的其中一个过程如下:
store_bits : process(bit_clk) is
begin
if rising_edge(bit_clk) and bit_index >= LEADING_BITS and bit_index < LEADING_BITS+DATA_BITS then
data_valid <= '0';
for input in 0 to INPUTS-1 loop
data(input)(bit_index - LEADING_BITS) <= spi_miso(input);
end loop;
if bit_index = LEADING_BITS+DATA_BITS-1 then
data_valid <= '1';
end if;
end if;
end process store_bits;
现在,bit_index
在bit_clk
的下降沿以单独的进程递增。 上面的过程不应对bit_index
转换敏感,因此我将其从敏感列表中删除。
不幸的是,Quartus II在分析期间发出警告:
10492 VHDL过程语句警告在multi_spi.vhd(68):信号“bit_index”在Process语句中读取但不在Process Statement的敏感性列表中
这是对的吗?我应该将它添加到敏感度列表中,即使实际过程只会在bit_clk
上升沿时执行任何操作吗?