M
modukuri
Guest
Hi:
Käytän sisäkkäisiä silmukoita ehdollista IF statementsto kokeilla conditions.The koodi on käännetty ilman virheitä.
Mutta lopussa simuloinnin mitään signaalit ovat updated.I en ole varma, mikä ongelma on? Olisin todella kiitollinen apua
ratkaisemaan tämän problem.Below on koodi, olen työskennellyt.CDATA ja sdata arvot päivitetään ennen prosessin aloittamista.vakio p: integer: = 2;
vakio blksize: integer: = 2;
Tyyppi p_array on array (0-3) on kokonaisluku alue 0-255;
signaali pvec: p_array: = (0 => 1, 1 => 2, 2 => 3, 3 => 4);
signaali sdata: data_array;
signaali CDATA: data_array;
Tyyppi data_array on array (0 7,0 7) ja std_logic_vector (7 downto 0);
signaali Data1: data_array: = (others => (others => "00000000"));
signaali blks_horiz: integer: = 4;
signaali blks_verti: integer: = 4;
Tyyppi blk_size on array (0 1,0 1) std_logic_vector (7 downto 0);
signaali SAD_CMP: blk_size;
signaali data_blk1: blk_size: = (others => (others => "00000000"));
prosessi (clk, reset, current_data_in, sdata)
aloittaa
Jos reset = '1 'then
search_blk <= data_blk1;
current_blk <= data_blk1;
SAD_CMP <= data_blk1;
elsif (clk'event ja CLK = '1 ') then
M on 1-4 silmukan
N in 1-4 silmukan
jos (cdata'event) jälkeen
for i in ((m-1) * blksize) ja ((blksize * m) -1) loop
J: in ((m-1) * blksize) ja ((blksize * n) -1) loop
current_blk (i, j) <= CDATA (i, j);
ja K 0 (2 * p 1) loop
ja l 0 (2 * p 1) loop
jos (sdata'event) jälkeen
for x 0 (i pvec (k)) loop
Y on 0 (j pvec (L)) loop
search_blk (x, y) <= sdata (x, y);
U on 0-1 loop
ja V 0-1 loop
SAD_CMP (u, v) <= search_blk (u, v) - current_blk (u, v);
end loop;
end loop;
end loop;
end loop;
end if;
end loop;
end loop;
end loop;
end loop;
end if;
end loop;
end loop;
end if;
end process;
Thanks for any help.
Modukuri
Käytän sisäkkäisiä silmukoita ehdollista IF statementsto kokeilla conditions.The koodi on käännetty ilman virheitä.
Mutta lopussa simuloinnin mitään signaalit ovat updated.I en ole varma, mikä ongelma on? Olisin todella kiitollinen apua
ratkaisemaan tämän problem.Below on koodi, olen työskennellyt.CDATA ja sdata arvot päivitetään ennen prosessin aloittamista.vakio p: integer: = 2;
vakio blksize: integer: = 2;
Tyyppi p_array on array (0-3) on kokonaisluku alue 0-255;
signaali pvec: p_array: = (0 => 1, 1 => 2, 2 => 3, 3 => 4);
signaali sdata: data_array;
signaali CDATA: data_array;
Tyyppi data_array on array (0 7,0 7) ja std_logic_vector (7 downto 0);
signaali Data1: data_array: = (others => (others => "00000000"));
signaali blks_horiz: integer: = 4;
signaali blks_verti: integer: = 4;
Tyyppi blk_size on array (0 1,0 1) std_logic_vector (7 downto 0);
signaali SAD_CMP: blk_size;
signaali data_blk1: blk_size: = (others => (others => "00000000"));
prosessi (clk, reset, current_data_in, sdata)
aloittaa
Jos reset = '1 'then
search_blk <= data_blk1;
current_blk <= data_blk1;
SAD_CMP <= data_blk1;
elsif (clk'event ja CLK = '1 ') then
M on 1-4 silmukan
N in 1-4 silmukan
jos (cdata'event) jälkeen
for i in ((m-1) * blksize) ja ((blksize * m) -1) loop
J: in ((m-1) * blksize) ja ((blksize * n) -1) loop
current_blk (i, j) <= CDATA (i, j);
ja K 0 (2 * p 1) loop
ja l 0 (2 * p 1) loop
jos (sdata'event) jälkeen
for x 0 (i pvec (k)) loop
Y on 0 (j pvec (L)) loop
search_blk (x, y) <= sdata (x, y);
U on 0-1 loop
ja V 0-1 loop
SAD_CMP (u, v) <= search_blk (u, v) - current_blk (u, v);
end loop;
end loop;
end loop;
end loop;
end if;
end loop;
end loop;
end loop;
end loop;
end if;
end loop;
end loop;
end if;
end process;
Thanks for any help.
Modukuri