我正在尝试编写一些VHDL代码,它只是将std_logic_vector中的连续位提供给FSM模型。但是,这些位似乎没有正确更新。为了弄清楚这个问题,我有以下代码,而不是从矢量中取出一点,我只是切换信号x(同一个地方我会得到一点点)。
clk <= NOT clk after 10 ns;
process(clk)
begin
if count = 8 then
assert false report "Simulation ended" severity failure;
elsif (clk = '1') then
x <= test1(count);
count <= count + 1;
end if;
end process;
编辑: 看起来我很困惑。我已经把它放回去尝试从矢量中逐渐取出。这是输出。我原以为,当count为1时,x将取test1(1)的值,即1。
答案 0 :(得分:1)
正如David在评论中指出的那样,代码运行正常。问题是我对std_logic_vector中的位顺序的无知。