M
modukuri
Guest
Max:
I'm using zagnieżdżone DĖL linijų su sąlyga, jei statementsto patikrinti conditions.The kodas yra sudarytas be jokių klaidų.
Bet pabaigoje modeliavimo nė vienas signalai updated.I "m nežinote problema? Aš tikrai vertiname bet kokią pagalbą
sprendžiant šią problem.Below yra kodas, I'm working on.Į cdata ir sdata vertės yra atnaujinamos, kol šis procesas prasideda.nuolat p: integer: = 2;
nuolat blksize: integer: = 2;
tipo p_array yra masyvas (nuo 0 iki 3) bendra nuo 0 iki 255;
signalo pvec: p_array: = (0 => 1, 1 => 2, 2 => 3, 3 => 4);
signalo sdata: data_array;
signalo CDATA: data_array;
tipo data_array yra masyvas (nuo 0 iki 7,0 iki 7) iš std_logic_vector (7 downto 0);
signalo data1: data_array: = (kiti => (kiti => "00000000"));
signalo blks_horiz: integer: = 4;
signalo blks_verti: integer: = 4;
tipo blk_size yra masyvas (nuo 0 iki 1,0 iki 1) std_logic_vector (7 downto 0);
signalo SAD_CMP: blk_size;
signalo data_blk1: blk_size: = (kiti => (kiti => "00000000"));
procesas (CLK, atstatyti, current_data_in, sdata)
pradėti
jei naujo = "1", tada
search_blk <= data_blk1;
current_blk <= data_blk1;
SAD_CMP <= data_blk1;
elsif (clk'event ir CLK ='1 '), tada
už m 1 iki 4 linijos
n 1 iki 4 linijos
jei (cdata'event), tada
už i ((m-1) * blksize) iki ((blksize * m) -1) kilpa
už j į ((m-1) * blksize) iki ((blksize * n) -1) kilpa
current_blk (i, j) <= CDATA (i, j);
už k 0 (2 * p 1) kilpa
dėl l 0 (2 * p 1) kilpa
jei (sdata'event), tada
už x 0 (i pvec (k)) kilpa
už
y. 0 (j pvec (l)) kilpa
search_blk (x, y) <= sdata (x, y);
už ir į 0 iki 1 kilpa
už v 0 iki 1 kilpa
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;
galutinio proceso;
Ačiū už bet kokią pagalbą.
Modukuri
I'm using zagnieżdżone DĖL linijų su sąlyga, jei statementsto patikrinti conditions.The kodas yra sudarytas be jokių klaidų.
Bet pabaigoje modeliavimo nė vienas signalai updated.I "m nežinote problema? Aš tikrai vertiname bet kokią pagalbą
sprendžiant šią problem.Below yra kodas, I'm working on.Į cdata ir sdata vertės yra atnaujinamos, kol šis procesas prasideda.nuolat p: integer: = 2;
nuolat blksize: integer: = 2;
tipo p_array yra masyvas (nuo 0 iki 3) bendra nuo 0 iki 255;
signalo pvec: p_array: = (0 => 1, 1 => 2, 2 => 3, 3 => 4);
signalo sdata: data_array;
signalo CDATA: data_array;
tipo data_array yra masyvas (nuo 0 iki 7,0 iki 7) iš std_logic_vector (7 downto 0);
signalo data1: data_array: = (kiti => (kiti => "00000000"));
signalo blks_horiz: integer: = 4;
signalo blks_verti: integer: = 4;
tipo blk_size yra masyvas (nuo 0 iki 1,0 iki 1) std_logic_vector (7 downto 0);
signalo SAD_CMP: blk_size;
signalo data_blk1: blk_size: = (kiti => (kiti => "00000000"));
procesas (CLK, atstatyti, current_data_in, sdata)
pradėti
jei naujo = "1", tada
search_blk <= data_blk1;
current_blk <= data_blk1;
SAD_CMP <= data_blk1;
elsif (clk'event ir CLK ='1 '), tada
už m 1 iki 4 linijos
n 1 iki 4 linijos
jei (cdata'event), tada
už i ((m-1) * blksize) iki ((blksize * m) -1) kilpa
už j į ((m-1) * blksize) iki ((blksize * n) -1) kilpa
current_blk (i, j) <= CDATA (i, j);
už k 0 (2 * p 1) kilpa
dėl l 0 (2 * p 1) kilpa
jei (sdata'event), tada
už x 0 (i pvec (k)) kilpa
už
y. 0 (j pvec (l)) kilpa
search_blk (x, y) <= sdata (x, y);
už ir į 0 iki 1 kilpa
už v 0 iki 1 kilpa
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;
galutinio proceso;
Ačiū už bet kokią pagalbą.
Modukuri