logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Układ sekwencyjny krok po kroku (wędrówka sygnałów)

Thunderlane 01 Sie 2013 09:45 1857 6
REKLAMA
  • #1 12662821
    Thunderlane
    Poziom 9  
    Posty: 7
    Ocena: 1
    Mam taki problem, że chciałbym utworzyć symulację działania układu sekwencyjnego, ale choć łatwo znaleźć opisy z jakich elementów taki układ się składa i co ma robić, nigdzie nie natknąłem się na opis jak dokładnie przebiega krok po kroku funkcjonowanie takiego układu, a to właśnie jest mi najbardziej potrzebne. Z tego co mam jestem w stanie się jako tako domyślić, ale chciałbym mieć pewność czy aby na pewno wszystko rozumiem żeby gdzieś coś nie było źle. Czy poniższy opis przykładowy jest poprawny?

    Mamy przykładowy układ mający x wejść, y wyjść i z komórek pamięci wewnętrznej. Przez układ musimy przepuścić 5 wektorów binarnych o długości x, a początkowy stan wewnętrzny wynosi z zer. Po zadaniu pierwszego wektora na wejścia układu, przepuszczamy ten wektor oraz te zera w pamięci przez bramki układu, sygnały są przetwarzane, aż ostatecznie otrzymujemy na wyjściu y bitów wektora wyjściowego, a w pamięci wewnętrznej z bitów nowego stanu. Teraz z kolei bierzemy drugi wektor oraz ten nowy stan, przepuszczamy przez układ, i otrzymujemy drugi wektor wyjściowy oraz kolejny stan pamięci. Teraz wysyłamy trzeci wektor wraz z nowym stanem, potem czwarty i piąty, aż w końcu otrzymujemy ciąg pięciu wektorów wyjściowych otrzymanych z zadania na układ sekwencji pięciu wektorów wejściowych. Krótko mówiąc, wartości wyjściowe stanu obecnego są zawsze funkcją wartości wejściowych stanu obecnego i wartości wewnętrznych stanu poprzedniego.

    Tak miałby działać taki układ? Dobrze wszystko zrozumiałem? Nie znalazłem na tym forum podobnego tematu, więc chyba nikt przede mną nie poruszał tego problemu...
  • REKLAMA
  • #2 12663074
    jarek_lnx
    Poziom 43  
    Posty: 22541
    Pomógł: 4165
    Ocena: 6028
    Szukaj pod hasłem projektowanie układów sekwencyjnych, można znaleźć podręczniki czy skrypty uczelniane na ten temat, jest kilka sposobów podejścia do zagadnienia (np: synchroniczne, asynchroniczne, Moore'a, Maly'ego ) i różne algorytmy projektowania, oraz kilka dróg na skróty, tej wiedzy jest sporo, więc nie można ogólnie odpowiedzieć na twoje pytanie.

    Komórki pamięci wcale nie muszą być oddzielnymi elementami, można nawet budować z bramek (nie tworząc z nich odrębnych przerzutników), na etapie określania zadania ważne są sekwencje stanów wejściowych i wyjściowych, to jakie będą stany wewnętrzne, ile ich będzie i jak będą reprezentowane wybiera się na etapie projektowania, przecież dla użytkownika układu nie ma znaczenia jakie są stany wewnętrzne, byle układ dawał na wyjściu to co trzeba.
  • REKLAMA
  • #3 12663410
    Thunderlane
    Poziom 9  
    Posty: 7
    Ocena: 1
    Tak po prawdzie to ja samym projektowaniem się nie zajmuję, muszę tylko wykonać symulację działania gotowego układu, chciałem się jedynie upewnić, czy prawidłowo do tego podchodzę. W każdym razie, jeśli przykładowo układ ma 6 wejść, 3 wyjścia i 4 przerzutniki, to czy ma sens takie podejście: na przerzutnikach same zera (0000), na wejściach pierwszy wektor (np. 100110), i każde wejście i każdy przerzutnik przesyła wartość do najbliższego elementu (np. bramki) i tak w kółko aż do wyjść i (jako następny stan) z powrotem do przerzutników, a potem powtórzyć całość z resztą wektorów? Jeżeli takie działanie układu można uznać za prawidłowe, to mój problem można uznać za rozwiązany.
  • REKLAMA
  • #4 12663585
    jarek_lnx
    Poziom 43  
    Posty: 22541
    Pomógł: 4165
    Ocena: 6028
    Cytat:
    Tak po prawdzie to ja samym projektowaniem się nie zajmuję, muszę tylko wykonać symulację działania gotowego układu
    Symulacja kojarzy mi się z komputerową symulacją, a ty zadajesz pytania jakbyś chciał to analizować "na papierze".
    Cytat:
    W każdym razie, jeśli przykładowo układ ma 6 wejść, 3 wyjścia i 4 przerzutniki, to czy ma sens takie podejście: na przerzutnikach same zera (0000)
    Najpierw musisz widzieć czy takie założenie jest uzasadnione, żeby w przerzutnikach były zera (np po włączeniu zasilania) muszą mieć układ zerowania, jeśli nie mają, musisz założyć stan dowolny i sprawdzić czy układ z niego "wyjdzie"

    Cytat:
    na wejściach pierwszy wektor (np. 100110), i każde wejście i każdy przerzutnik przesyła wartość do najbliższego elementu (np. bramki) i tak w kółko aż do wyjść i (jako następny stan) z powrotem do przerzutników, a potem powtórzyć całość z resztą wektorów?
    Jeśli twoja praca ma dać odpowiedź czy to zadziała musisz przeanalizować wszystko, weź pod uwagę że każdy element ma jakiś czas propagacji jeśli na wejściach jakiegoś elementu zmienia się kilka stanów "jednocześnie" (w jednym cyklu ale sygnał dochodzi różnymi drogami) przeanalizuj czy nie będzie hazardu, w układach sekwencyjnych będą sprzężenia z wyjścia na wejście trzeba sprawdzić czy zależności czasowe nie będą miały wpływu na działanie układu.

    Teoretycznie w układach synchronicznych nie powinno być problemów z czasami propagacji i hazardem, po to się je buduje jako synchroniczne, ale jeśli szukasz błędów, nie możesz, z automatu założyć że problemu nie ma.
  • REKLAMA
  • #5 12663656
    Thunderlane
    Poziom 9  
    Posty: 7
    Ocena: 1
    Załóżmy, że to jest układ bardzo uproszczony i takie czynniki jak zasilanie, czas propagacji etc. można pominąć. Po prostu mam np. napisać funkcję która pobiera sekwencję wejściową, zadaje na taki układ i zwraca sekwencję wyjściową. Czy jako taki układ czysto teoretyczny, nie muszący wiernie oddawać rzeczywistości, rozpatrywany z czysto matematycznego punktu widzenia, bardziej jako abstrakcyjny model mający wykonywać operacje logiczne na zbiorze zmiennych - możnaby go na odczepnego uznać za prawidłowy? To jedyne co muszę wiedzieć.
  • #6 12665958
    jarek_lnx
    Poziom 43  
    Posty: 22541
    Pomógł: 4165
    Ocena: 6028
    Naprawdę nie rozumiem co chcesz uzyskać, na bardzo ogólnym poziomie nie można się nie zgodzić z tym co napisałeś.

    Ale wchodząc "lekko" w implementację pojawi się np. problem taki, że układu asynchronicznego może się nie dać przeanalizować w jednym przebiegu.
  • #7 12668047
    Thunderlane
    Poziom 9  
    Posty: 7
    Ocena: 1
    Wyobraźmy sobie że układ to funkcja logiczna która pobiera dwa argumenty i zwraca też dwa. Sekwencje wejściowa i wyjściowa to dwie n-elementowe tablice wektorów binarnych, a pamięć wewnętrzna to taka zmienna pomocnicza która też jest takim wektorem. No i funkcja n razy w pętli pobiera i-ty wektor z pierwszej tablicy oraz obecną wartość zmiennej pomocniczej (na początku 0) oraz zwraca i-ty element drugiej tablicy oraz nową wartość zmiennej pomocniczej. Jeśli takie podejście możnaby zaakceptować u kogoś kto nie stara się o tytuł inżyniera, to problem mógłbym uznać za rozwiązany :)

Podsumowanie tematu

✨ Użytkownik poszukuje szczegółowego opisu działania układu sekwencyjnego, aby stworzyć jego symulację. W odpowiedziach podkreślono, że projektowanie układów sekwencyjnych obejmuje różne podejścia, takie jak synchroniczne i asynchroniczne, oraz że komórki pamięci mogą być zbudowane z bramek. Użytkownik rozważa symulację uproszczonego modelu, w którym przerzutniki są inicjowane zerami, a sygnały są przesyłane przez bramki do wyjść. Wskazano na konieczność analizy czasów propagacji i hazardów w bardziej złożonych układach, ale użytkownik dąży do stworzenia teoretycznego modelu, który operuje na wektorach binarnych. Ostatecznie, użytkownik chce potwierdzić, czy jego podejście do symulacji jest poprawne.
Wygenerowane przez model językowy.
REKLAMA