Kas yra sinchroninio Atstatyti į VHDL syntex?

B

bigyellow

Guest
nederėtų

Kodas

jei clk'event ir CLK = '1 'tada

jei reset = '0 ', tada

------

kitas

jei ........ tadaelsif ....... tada

-------

kitas

--------

end if;

end if;

end if;
 
labas,
pirmasis kodas yra labiau tinkamas.Rašymas elsif į Reset sąlyga nėra tinkama praktika.

pavyzdžiui, kodas D FF su Synch reset yra

Kodas

signalo D, Q, CLK, reset: bit;

...

procesas (CLK)

pradėti

if (CLK atveju ir CLK = 1) tuomet

jei reset = 1 tada

D <= 0;

kitas

- Galite rašyti, jei byla ar pareiškimo, kaip apibrėžta šioje kitas dalis

Q <= D;

end if;

end if;

galutinio proceso;
 
jitendra rašė:

labas,

pirmasis kodas yra labiau tinkamas.
Rašymas elsif į Reset sąlyga nėra tinkama praktika.pavyzdžiui, kodas D FF su Synch reset yraKodas

signalo D, Q, CLK, reset: bit;

...

procesas (CLK)

pradėti

if (CLK atveju ir CLK = 1) tuomet

jei reset = 1 tada

D <= 0;

kitas

- Galite rašyti, jei byla ar pareiškimo, kaip apibrėžta šioje kitas dalis

Q <= D;

end if;

end if;

galutinio proceso;
 
Labas,
Atveju sinchroninio reset, reset signalo nereikia jautrumas sąrašą Reset bus atrinkti aktyvaus laikrodis tik kraštas.Kur kaip asinchroninis Reset būtina įtraukti Reset signalo jautrumas sąrašo, nes jis turėtų veikti nepriklausomai nuo laikrodžio signalas.

Linkėjimai,
Jitendra

akrlot rašė:Nuo DfF procesas taip pat priklauso nuo signalo reset taigi jums reikės jį įtraukti į savo jausmus sąrašą.procesas (CLK, reset)

pradėti

- kodą

galutinio proceso;
 
taip,
modeliavimo, jei jos sinchroninės tada jis turi būti aktyvuota CLK signalą tik
kad kodėl tik CLK į jautrumas sąrašą.
kaip visada, nes tai negali būti imituoti nesutapimo b / n sintezė ir symulation apie tą patį.
komentaras pakviesti ....

 
Pirmoji forma yra labiau tinkamas.
Nėra Reset proceso jautrumas sąrašą atveju sinchroninio poilsio poreikį.
Atveju sinchroninio naujo, Eset turi jautrumas sąrašą.Bet pasirūpinti, kad tik vienas signalas laikrodis arba anuliuoti gali būti krašto jautri.Nėra procesas jautri 2 laikrodžiai.
pavyzdžiui
procesas (Reset, laikrodis)
pradėti
jei reset = X tada
UR kodas
elsif rising_edge (laikrodis)
UR kodas
end if
pabaigos procesą

 
teisingai kodavimo stiliaus su async reset į VHDL FMV:

procesas (CLK, reset_n) - už FMV
pradėti
jei reset_n = '0 ', tada
narė <= IDLE;
elsif clk'event ir CLK = '1 'tada
narė <= next_state;
endif
galutinio proceso;

procesas (CLK, reset_n) - už registerd logika
pradėti
jei reset_n = '0 ', tada
signalus <= '0 '
elsif clk'event ir CLK = '1 'tada
jei ...tada
elsif ....tada
kitas
endif;
endif;
galutinio proceso;Pastaba: procesą turi reaguoti pirmieji reset_n signalą, kol ji reaguoja
CLK įvykis async logika.

Į sveikatą,
Rprince006,

 

Welcome to EDABoard.com

Sponsor

Back
Top