对FPGA进行测常常是一件很麻烦的工作。
这里有我最近的设计,例:
通过不同的从LOCAL BUS给定的地址可以从FPGA中很方便地读出所需要的测试数据。
status_multiplexer: process (I_ADR_test, DEBUG_PORT) is
begin
case conv_integer(I_ADR_test)*4 is
when 0 => I_DATA_IN_test_fpga2pc <= DEBUG_PORT(31 downto 0);
when 4 => I_DATA_IN_test_fpga2pc <= DEBUG_PORT(63 downto 32);
when 8 => I_DATA_IN_test_fpga2pc <= DEBUG_PORT(95 downto 64);
when 12 => I_DATA_IN_test_fpga2pc<= DEBUG_PORT(127 downto 96); -- = 0xC
when others => I_DATA_IN_test_fpga2pc <= "10101010101010101010101010101010";
end case;
end process;
这里只用了一个很简单的multiplexer。
完成了对多个数据的测试。这个设计对于读取时地址资源稀少的 LOCAL BUS 设计很有帮助。可以只用一个 LOCAL BUS 但是可以读出不同的测试数据(在不同的时间)。我们只要给定 LOCAL BUS 的值 在本例中,给定 60004,就可以读出 DEBUG_PORT(63 downto 32)的数据。
没有评论:
发表评论