[qu (at) rtus II] Kaip surengti procesą tam tikru laiku

A

aeneas81

Guest
Hi all,
Kaip galima patikrinti, ar signalas turi jį vertė tam tikrą laikotarpį, pavyzdžiui, 5ms, naudojant VHDL, klinikinio (at) rtus II?
Aš bandė panaudoti Palaukite po treniruoklius, kad nėra kokių nors poveikio.Tikiuosi, kad bet kuri jums galėtų padėti.Thanks in advance

Rgds,
AEN

 
Labas,

Aš nesuprantu, kas yra jūsų problema ...

Ar pabandyti surengti signalą į synthesisable VHDL kodas su laukti pareiškimo?Tai neįmanoma.Jūs HAV į creater priešinį ir suskaičiuoti teisingą pasaulio laikrodis kraštus ...

Ar Jūs bandote pamatyti modeliavimas pagal qu (at) rtus jei vidaus signalas tu pastatė stabilus 5 ms?Jums tik reikia sukonfigūruoti signalo langą su pasirinktu signalas turi pažvelgti į modeliavimo rezultatus ...

Jei tai nėra tikslas paklausa, prašome išsamiai

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Šypsotis" border="0" />
 
jums reikia signalo pakeisti valstybės nustatyti grandinės ir vėlinimo skaitiklis.
pavyzdžiui:
- D - įėjimo signalo
-------------------------------------------------- ----
- Trigeris už vėlavimą signalo
-------------------------------------------------- ----
procesas (CLK)
pradėti
jei rising_edge (CLK), tada
q <= d;
end if;
galutinio proceso;
-------------------------------------------------- ------
- Change_state = "1", kai įvesties singal pakeisti padėtį iš 1 -> 0 arba 0 -> 1
-------------------------------------------------- ------
change_state <= d xor q;
-------------------------------------------------- -------
- Gotcha ir palaikykite atveju signalas pakeisti valstybės
-------------------------------------------------- -------
procesas (CLK)
pradėti
jei rising_edge (CLK), tada
jei RST = "1", tada
vėliava <='0 ';
elsif ce = "1", tada
vėliava <= change_state;
end if;
end if;
galutinio proceso;
ce <= ne vėliava;
-------------------------------------------------- -----
- Kitas paprastas FMV kuri kontrolės keletą sąlygų
- CNT - vėlavimą skaitliukas
-------------------------------------------------- -----
proceso (valstybinės, CNT, vėliava)
pradėti
atveju valstybės
kai S0 =>
jei CNT = end_of_5ms_period tada
jei vėliavos = "1", tada
nstate <= s1; - signalas keisti valstybės per 5 ms
- Laikotarpį,
kitas
nstate <= s2; - visi ok signalo prastovos metu 5ms
end if;
kitas
nstate <= S0 - palaukite pabaigos 5 ms laikotarpis
jei s1 => ....
kai s2 => ....
.....
pabaigos atveju;
galutinio proceso;

 
Wow, thanks for the kodas, vapsva.I've
tried naudojant skaitliukas versija, kaip minėta r_e_m_y, tačiau jis veikia gerai, aš tiesiog įdomu, nėra kito pasirinkimo, norint pasiekti tą patį, naudojant mažiau kodas.anyway, thanks a lot.

 
Aš neturėtų nerimauti skaičių eilučių kodo jums reikia parašyti.Problema yra ta, kad kiekvienas metodas bus sunaudota daug šlepetės, priklausomai nuo laivo kapitonas laikrodis.Šis numeris yra nustatyti.

 

Welcome to EDABoard.com

Sponsor

Back
Top