Forum Discussion
sstrell
Super Contributor
7 years agoI think the problem is you have your reset and loading of matrix1 in two separate processes, causing multiple drivers into matrix1. The code should probably look like this:
process (reset, clock)
BEGIN
if(reset) then
for i in 15 downto 0 loop
matrix1(15-i) <= (others => '0');
matrix2(15-i) <= (others => '0');
end loop;
elsif (start and rising_edge(clock)) then
FOR i IN 15 downto 0 LOOP
matrix1(15-i) <= data_in((8*i)+(7 downto (8*i)));
END LOOP;
else matrix1 <= matrix1;
end if;
end process;
#iwork4intel