podział zegara z VHDL?

M

martur

Guest
witam mam problem z VHDL. w rzeczywistości, i wrot testbench pliku do symulacji mój projekt. w tym pliku i trzeba przypisać określonej wartości na sygnał w szczególności periode. tak i stosowane następujące wyrażenie: clk
 
Jeżeli projekt jest poświęcony ostatnich rodziny FPGA, należy użyć PLL mnożnik zegara. W przeciwnym razie, nie ma dobry sposób. Opóźnienia komórek Logic może być używany, ale mają istotny wpływ na proces, napięcia i temperatury ("PVT") odmian. Lub też dostarczenia czynnik 4 wyższe częstotliwości taktowania.
 
Drodzy Marter, musisz wprowadzić licznik n bitów, jeśli chcesz podzielić dowolnego zegara przez 2 do potęgi "n". jeśli masz specfic wymóg częstotliwości powiedz mi szczegółowo wejścia freq, częstotliwości wyjściowej i "włączenia" Pozdrawiam Preet
 
jeśli masz specfic wymóg częstotliwości powiedz mi szczegółowo wejścia freq, częstotliwości wyjściowej i "włączenia"
PO było jasne, w sprawie wymagań, ma zegar z okresu 100ns (10MHz) i chce korzystać opóźnienia 25ns, który to okres 40MHz tak FVM powiedział, że może on użyć wewnętrznego mnożnika częstotliwości zegara jeśli jest dostępny lub zewnętrznego zegara 40 MHz. Martur, zakładamy, że 100ns clk jest obecnie głównym (od najwyższej) częstotliwości zegara w systemie i nie zegar, który jest już podzielony. Alex
 
Marter Szanowni Państwo, musisz wprowadzić licznik n bitów, jeśli chcesz podzielić dowolnego zegara przez 2 do potęgi "n". jeśli masz specfic wymóg częstotliwości powiedz mi szczegółowo wejścia freq, częstotliwości wyjściowej i "włączenia" Pozdrawiam Preet
To jest dobre tylko w przypadku korzystania z wyjścia tego licznika jako zegar włączyć w domenie zegara bazowego. Jest ogólnie złą praktyką użyć wyjścia z licznika do zegara innych rejestrów. Jest to znacznie bezpieczniejsze w użyciu PLL
 
Drodzy TrickyDicky, plz opracowania punkt z przykład. to pozwoli mi lepiej zrozumieć. Pozdrawiam, Preet
 
I dont mieć przykład - jej po prostu złych wieści użyć licznika jako zegar dla innych urządzeń. Może pracować w czasach, ale może stać się niewiarygodne bez ostrzeżenia i zależy od temperatury. Tak więc zamiast go jako zegar, używać jako zegara umożliwia:
Code:
 cnt_proc: process (clk) begin if rising_edge (clk), a następnie cnt
 
Drodzy TrickyDicky, ile mogę podzielić za pomocą PLL Preet Pozdrawiam
 
jak PPL pozwoli. Zobacz dokumentację dla konkretnego FPGA. Zazwyczaj można dostać od kilku MHz do 100s MHz.
 
sprawdzić mój kod dzielnik zegara: [url = http://www.vhdlcodes.com/2010/08/vhdl-code-for-clock-divider.html] Wszystko o VHDL Kody, PCB Projektowanie i AVR: VHDL dla Divider Clock [/url]
 
sprawdzić mój kod dzielnik zegara: [url = http://www.vhdlcodes.com/2010/08/vhdl-code-for-clock-divider.html] Wszystko o VHDL Kody, PCB Projektowanie i AVR: VHDL dla Divider Clock [/url]
To jest dobry w teorii, ale praktyczna konstrukcja jest bardziej przydatne do generowania zegara włączyć (jest to sygnał, że jest wysoka tylko dla jednego cyklu zegara) lub użyć PLL. Nie zaleca się stosowania logiki / register / flip-flop wyjścia jak zegar. Zegar włączyć jest używany tak w VHDL:
Code:
 procesu (clk, rst_n) jeżeli rst_n = '0 ', a następnie - zestaw wszystkich rejestrów do resetowania wartości elsif rising_edge (clk), wtedy - może być przydatny do niektórych rzeczy tutaj - np. ustawienie generowanych zegar pozwala na zero, jeśli clock_enable = '1 ', a następnie - do pracy tutaj end if; end if; koniec procesu;
Kiedy clock_enable = '0' proces będzie na bieżąco jego stan. Włączyć zegar jest normalnie produkowany przez ten sam zegar, jak pętla, która go używa. Z zegarem pozwala można sprawdzony system z wieloma "zegar" (zegar umożliwia). Jest dobry, ponieważ wszystko jest taktowany tym samym zegarem.
 
To jest dobry w teorii, ale praktyczna konstrukcja jest bardziej przydatne do generowania zegara włączyć (jest to sygnał, że jest wysoka tylko dla jednego cyklu zegara) lub skorzystać z PLL. Nie zaleca się stosowania logiki / register / flip-flop wyjścia jak zegar. Zegar włączyć jest używany tak w VHDL:
Code:
 procesu (clk, rst_n) jeżeli rst_n = '0 ', a następnie - zestaw wszystkich rejestrów do resetowania wartości elsif rising_edge (clk), wtedy - może być przydatny do niektórych rzeczy tutaj - np. ustawienie generowanych zegar pozwala na zero, jeśli clock_enable = '1 ', a następnie - do pracy tutaj end if; end if; koniec procesu;
Kiedy clock_enable = '0' proces będzie na bieżąco jego stan. Włączyć zegar jest normalnie produkowany przez ten sam zegar, jak pętla, która go używa. Z zegarem pozwala można sprawdzony system z wieloma "zegar" (zegar umożliwia). Jest dobry, ponieważ wszystko jest taktowany tym samym zegarem.
kod na mojej stronie jest syntezowalnych . I daje 100% mocy. Należy spróbować najpierw. I o umożliwienie zegar, u można bezpośrednio dodać sygnał do mojego kodu ..
 
kod na mojej stronie jest syntezowalnych . I daje 100% mocy. Należy spróbować najpierw. I o umożliwienie zegar, u można bezpośrednio dodać sygnał do mojego kodu ..
Tylko dlatego, że jest synthesisable nie oznacza jego dobry pomysł, aby uczyć ludzi, że generowanie zegary w logice jest to dobry pomysł. Można go modyfikować w powiedzieć, że "op" powinny być używane jako włączyć do innych wewnętrzną logikę, a nie jak zegar.
 
Należy zmodyfikować, aby powiedzieć, że "op" powinny być używane jako włączyć do innych wewnętrzną logikę, a nie jako zegar
Ale to nie jest zaprojektowany jako zegar jednego cyklu wysokiej włączyć, a nie 50% tętnień cyklu podzielony zegar. Ogólnie rzecz biorąc, mogę sobie wyobrazić przypadki, w których powiedział dzielnik zegara to cel, np. generowanie wyjścia zewnętrznego zegara urządzenia peryferyjnego, ale więcej przypadków, gdy zegar umożliwiają byłoby korzystne. Zakładając, że nie masz PLL wygenerować zegar z zerowym opóźnieniem, może być konieczne użycie złych podzielone rozwiązanie zegara powoli domeną zegara. Ale zamknięcie czas sygnały przejście domeny dodać kilka projektowania. Tytuł wątku jest nieco mylące przy okazji, bo pierwszy post jest w rzeczywistości wnioskiem mnożenia zegar a nie podziałów.
 

Welcome to EDABoard.com

Sponsor

Back
Top