Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

a<='1' after 1sec; - nie działające opóźnienia czasowe

byrek 12 Sie 2005 02:59 603 3
  • #1 12 Sie 2005 02:59
    byrek
    Poziom 12  

    Witajcie.
    Mam takie praktycznie zapytanko - pisząc soft w VHDLu robię podręcznikowe:
    a<='1' after 1sec;
    Program kompiluje się bez problemu, jednak nie za bardzo działa to 'after 1 sec' - opóźnienia po prostu nie ma. Oczywiście synthesizing tool ma zadeklarowaną częstotliwość pracy zegara FPGA. Zastanawiam się, co jest nie tak? Wiem, że można zrobić 1sec przez zliczanie częstotliwości zegara, ale nie o to mi chodzi. Ktoś to już w praktyce realizował?

    0 3
  • #2 12 Sie 2005 03:19
    sepher
    Poziom 19  

    Zapis który podajesz stosuje się raczej do celów symulacji. Programy do syntezy traktują to różnie (raz omijają, raz wyrzucają błąd), więc w tym przypadku radziłbym skorzystać raczej z jakiegoś układu czasowego - np. zliczanie do ilości taktów zegara odpowiadającej czasowi 1s.

    0
  • #3 12 Sie 2005 12:20
    elektryk
    Poziom 42  

    A czy w tym podręczniku obok nie było adnotacji że z reguły after i inne odniesienia czasowe działają tylko w symulatorze bo nie są (albo są trudno) syntezowalne?

    0
  • #4 12 Sie 2005 12:34
    byrek
    Poziom 12  

    elektryk napisał:
    A czy w tym podręczniku obok nie było adnotacji że z reguły after i inne odniesienia czasowe działają tylko w symulatorze bo nie są (albo są trudno) syntezowalne?

    Hm, tego akurat nie było. Wiem, jak to zrealizować przez stworzenie zegarka zliczającego do 1sec, ale zastanawia mnie, czy one nie są na 100% syntezowalne - nie lubię wyważać drzwi otwartych na oścież :-)

    0