Plz noen som slove dette problemet

M

Mkanimozhi

Guest
Hei,
i de nedenfor nevnte program jeg får feilmelding i dette området
ts1 (k) = redu_mem (k), enten det er en gyldig sjekk tilstand,
Her ts1 er en 8 bit vektor og
rdu_mem er et minne som representerer signalJeg får dette som feilen min= Kan ikke ha slike operander i denne sammenhengen.mitt programprocess (clk, rst, ts1, main_mem, k)
begynne
if (RST = '0 ') then
status1 <= (andre => '0 ');
elsif (clk = '1 'og clk'event) så
for k 0 i til 7 sløyfe
if (main_mem (k) = "00000000" og ts1 (k) = redu_mem (k) og ts1 (k) '0 '=) så
status1 (k) <= '1 ';
--
elsif (main_mem (k) / = "00000000" og ts1 (k) = redu_mem (k) og ts1 (k) '1 '=) så --//|| t1 ==' b1) / * & & Memory1 [i ]! == 8'b0) * /
status1 (k) <= '0 ';
end if;
end loop;
end if;
end process;

kanimozhi

 
Som ring0 nevnt signalet erklæringer ville være hyggelig, men jeg ønsket å peke på noe annet ut.

I forhold du sjekker at du har følgende:

ts1 (k) = redu_mem (k) og ts1 (k) = '0 '

og

ts1 (k) = redu_mem (k) og ts1 (k) = '1 '

I begge tilfeller ts1 (k) = redu_mem (k) sjekken er ikke nødvendig fordi betingelsen er bare sant når ts1 (k) = '0 'eller '1'.

Radix

 
Hei,

her ts1 (k) = redu_mem (k)

signal ts1: std_logic_vector (7 downto 0);

type redu_memory er array (0 til 7) av std_logic_vector (7 downto 0);

signal redu_mem: redu_memory;

nå u kan forstå at ts1 er vektordata og redu_mem er signalet er å få tilgang redu_memory, nå fortelle løsningen.

kanimozhi.M

 
Ikke helt sikker på hva du prøver å gjøre, men det ser ut som problemet kan være at du sammenligner ts1 (k) som er et enkelt std_logic litt med redu_mem (k) som skal være en std_logic_vector (7 downto 0) .

Kanskje hva du vil gjøre er å sjekke ts1 = redu_mem (k) ikke ts1 (k) = redu_mem (k)?

Radix

 

Welcome to EDABoard.com

Sponsor

Back
Top