Układy cyfrowe

To nie jest miejsce tylko dla początkujących, wszyscy jesteśmy w czymś początkujący i wymieniamy się doświadczeniami.
Awatar użytkownika
gaweł
Geek
Geek
Posty: 1272
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Układy cyfrowe

Postautor: gaweł » niedziela 11 cze 2017, 17:58

W temacie 8-bitowy monitor szyny danych pozwoliłem sobie wydzielić osobny wątek.
j23 pisze:A co ciekawe ostatnio przeglądałem sobie książkę taką co tutaj na miejscu kupiłem tzn. i czytałem nt. konstruowania podstawowych elementów procesorów, czyli krótko mówiąc bramek logicznych, rejestrów pamięci, rejestrów zatrzaskowych, operacjach flip-flop (set-reset) etc. - ale co.. oczywiście mało.. No i w końcu udało mi się znaleźć fragment nt. jak to bramki są zbudowane. Tam w tej książce jest to opisane oczywiście w możliwie najprostszy sposób, bo bramka przedstawiona jest np. jako wykorzystanie jednego tranzystora, jednego rezystora, podczas gdy normalnie to (jeżeli się teraz nie mylę) jest "troszkę" to bardziej skomplikowane, no bo po pierwsze przeważnie nie korzysta się z jednego tranzystora, ale z dwóch w układzie Darlingtona i takie tam szczegóły. Niemniej zmierzam do tego, że takie rzeczy (jakkolwiek stare i niepotrzebne by komukolwiek się wydawały) warto i TRZEBA wiedzieć. Nawet chciałem po części tłumaczyć tą książkę co ciekawsze sprawy - jak te właśnie, jak to po kolei "leci" z metodologią projektowania CPU (nie wytwarzaniem, bo wiadomo że niewiele osób dysponuje narzędziami do produkcji napylania warstw, etc.).
Wiele rozdziałów z tej książki bazuje na tej stronie:

Jarku, to co piszesz, jest bardzo ciekawe. Co prawda wskazanej książki nie znam, więc nie będę się wypowiadał co do jej treści. Mogę pokazać książkę, która dla mnie stanowi "kamień milowy".
IMG_5890.JPG
Jakby udało ci się do takiej dotrzeć, to znajdziesz tam wszystko to, o czym piszesz: jak działa bramka, jak na bazie bramek zbudować prosty przerzutnik, potem przerzutnik synchroniczny, rejestry ... i coraz bardziej złożone struktury i tak do nieskończoności. W moim przekonaniu ta książka stanowi cenne źródło wiedzy.
Pozwolisz, że nie zgodzę się z tobą w kwestii cyt:"nie wytwarzaniem, bo wiadomo że niewiele osób dysponuje narzędziami do produkcji napylania warstw, etc.". Każdy posiada odpowiednią moc kreacji. Wystarczy chcieć a wszystko staje się możliwe. Jeżeli koś będzie próbował wykazać, że jest inaczej, to można zacytować "Nauka to wiara w ignorancję ekspertów". Dzisiaj każdy może wyprodukować swój własny cyfrowy układ scalony. Potrzeba jedynie trochę samozaparcia i można uciec od iluzji cudzych opinii. Chcesz wyprodukować własny procesor? Nie jest to niemożliwe. Bo cóż do tego jest potrzebne: kilkadziesiąt tysięcy bramek, otwarty umysł, własna wyobraźnia i brak hamulców. Pierwszy element z tej listy potrzeb to FPGA (ja sporo używałem układów formy XILINX, w KAMAMI dostaniesz zestawy rozwojowe dla przykładowo układów SPARTAN → masz na starcie tysiące bramek), wszystkie kolejne są w twoim umyśle.
Cyt: "metodologią projektowania CPU" → to przywołało mi z pamięci pewne zdarzenie z mojej historii. Otóż na obronie pracy dyplomowej na politechnice jeden gość z komisji zadał mi pytanie "Co to jest mikroprocesor?". Niby proste pytanie. I co? czy ktoś zna książkową definicję mikroprocesora?
Wtedy na poczekaniu wymyśliłem własną: "jest to programowalny, wielostanowy automat synchroniczny". Swoją drogą wiedziałem, że nikt nie będzie polemizował z moją definicją. Ale... nie o tym chciałem...
Tą definicję podtrzymuję nadal, mikroprocesor to automat synchroniczny, tylko taki trochę bardziej złożony. Obecnie są dostępne narzędzia do realizacji takich komponentów, nawet są bezpłatne. Przykładowo WebPACK czy QUARTUS. Które wybrać → kwestia osobistych preferencji (ja chętniej posługuję się XILINX'em z banalnie prostej przyczyny → mam na stole zestawy rozwojowe z tymi układami). Zdarzało mi się używać QUARTUS'a, ale zestaw do eksperymentów był wyczarterowany. Z drugiej strony to nie jest istotne. Posługując się VHDL'em nie ma znaczenia platforma uruchomieniowa. Obecnie układy różnych producentów są porównywalne ze sobą. Pozostaje zaprzyjaźnić się z VHDL'em. To również nie jest złożone zagadnienie. W języku polskim jest kilka pozycji książkowych opisujące język. Generalnie większość jest mało przydatna (to znaczy do nauki języka, są niestrawne). Ja pokonywałem filozofię języka przebijając się przez tą.
IMG_5889.JPG
Jest jeszcze jedna pozycja książkowa dotycząca języka VHDL, ale jest mego autorstwa.
Jest dość ciekawa pozycja książkowa.
IMG_5891.JPG
Ta jest trochę starsza, wiem, że kilka lat temu ukazało się nowe wydanie, znacznie poszerzone. Ale lektura tej książki wymaga znajomości języka VHDL a przykłady są "wypaśne".
Więc Jarku, jak widzisz, świat stoi otworem i można iść i zdobywać szczyty.

j23 pisze:Przepraszam, że tak trochę nieskładnie piszę, ale chodzi mi o to, że jestem wdzięczny Tobie że poruszasz w tak ciekawy, a jednocześnie dokładny takie tematy odnośnie trochę "nietypowego" projektowania. Takie sprawy naprawdę warto wiedzieć.
Wielkie dzięki za bardzo ciekawy artykuł. Kolega Wojtek ma 100% racji, zresztą ja mam taką regułę, że co ciekawsze artykuły regularnie kopiuję (całkiem sporo tego już jest u mnie) - i to jest mądre co Wojtek pisze, bo czasem faktycznie takie tutoriale -z różnych przyczyn- po prostu gdzieś giną i to jest jakaś tragedia wtedy.. A ja w swoich zbiorach mam nawet takie nieco starsze tutoriale co kiedyś Tasza na elportalu pisała, a może ktoś z Kolegów również. Mam tego od groma. Oczywiście nie publikuję tego nigdzie, do własnego użytku, chyba że zajdzie potrzeba wtedy taki backup się bardzo przydaje ;)

Nie ma powodu do jakichkolwiek przeprosin. Każdy robi jak potrafi, jak umie. Ale poruszyłeś tu bardzo istotną kwestię, cyt: "Takie sprawy naprawdę warto wiedzieć.". Jak najbardziej, wiedza jest dziwnym towarem. Z jednej strony jest bezcenna, z drugiej strony, ja się podzielę wiedzą, a mi wcale jej nie ubyło, normalnie magia ;) . Wspomniałeś o Nataszy, to niezwykła osoba. Właściwie to jej zawdzięczasz, że czytasz teraz te moje słowa. Natasza ma ogromy potencjał, taki ... infinity.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
j23
Expert
Expert
Posty: 510
Rejestracja: czwartek 08 paź 2015, 18:40

Re: Układy cyfrowe

Postautor: j23 » niedziela 11 cze 2017, 21:28

Dziękuję Kolego Gaweł za te słowa i rady. To bardzo miłe i bardzo to doceniam. :) Niestety, nie mam ani jednej z powyższych książek, ale spróbuję do nich dotrzeć, a potem... przyswoić przynajmniej część wiedzy - zwłaszcza powinienem położyć nacisk na lepsze poznanie składni języka VHDL, lub Verilog.
Na tą pierwszą książkę na pewno zapoluję.. :)

Pozdrawiam! Jarek
Internet łączy ludzi, którzy dzielą się swoimi zainteresowaniami, pomysłami i potrzebami, bez względu na geograficzne (przeciwności).
BOB TAYLOR, PARC

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1272
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: Układy cyfrowe

Postautor: gaweł » niedziela 11 cze 2017, 22:11

j23 pisze: a potem... przyswoić przynajmniej część wiedzy - zwłaszcza powinienem położyć nacisk na lepsze poznanie składni języka VHDL, lub Verilog.

W moim przekonaniu VHDL jest prostszy. Natomiast... przyswojenie składni.. to w sumie najmniej istotny element (właściwie nie jest taka skomplikowana). Nie da się ukryć, że składnia języka ma duże znaczenie. Najważniejsze, to "zatrybić" filozofię tego. Jak będziesz patrzył na VHDL z punktu widzenia języków programowania przykładowo mikrokontrolerów, to masz ciernistą drogę pod górę. To jest coś całkowicie odmiennego, dlatego nawet nazywa się językiem opisu sprzętu (nie językiem programowania). Zapis w VHDL (również w VERILOG) opisuje układ, tak jak rysunek schematu opisuje urządzenie a z tym wiąże się "filozofia współbieżności zapisów w języku VHDL". Coś, czego długo nie mogłem koncepcyjnie pokonać mając za sobą ileś lat programowania procesorów i komputerów.

j23 pisze:Na tą pierwszą książkę na pewno zapoluję.. :)

To jest klasyka do kwadratu :)

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
j23
Expert
Expert
Posty: 510
Rejestracja: czwartek 08 paź 2015, 18:40

Re: Układy cyfrowe

Postautor: j23 » poniedziałek 12 cze 2017, 06:34

gaweł pisze:(...)Jak będziesz patrzył na VHDL z punktu widzenia języków programowania przykładowo mikrokontrolerów, to masz ciernistą drogę pod górę. To jest coś całkowicie odmiennego, dlatego nawet nazywa się językiem opisu sprzętu (nie językiem programowania).(...)
- a już myślałem, że to będzie trudne... ;) ;) Język opisu sprzętu.. hmm.. :) To jest piękne, a nie trudne. :)
Internet łączy ludzi, którzy dzielą się swoimi zainteresowaniami, pomysłami i potrzebami, bez względu na geograficzne (przeciwności).
BOB TAYLOR, PARC

SuperGość
Uber Geek
Uber Geek
Posty: 2346
Rejestracja: piątek 04 wrz 2015, 09:03

Re: Układy cyfrowe

Postautor: SuperGość » poniedziałek 12 cze 2017, 06:52

j23 pisze:Jest jeszcze jedna pozycja książkowa dotycząca języka VHDL, ale jest mego autorstwa.
gaweł z wrodzonej skromności juz nie wymienił tytułu - jest to "Układy programowalne dla początkujących" http://www.wydawnictwo.btc.pl/index.php ... tID=177718 , a jak chcesz "dotknąć od środka" mikrokontrolerów podczas nauki ich programowania (asembler), to polecam inne pozycje naszego kolegi o wspólnym tytule "Sztuka programowania mikrokontrolerów AVR" i w sumie nie ma większego znaczenia, że to akurat jest oprate o AVR.

Awatar użytkownika
j23
Expert
Expert
Posty: 510
Rejestracja: czwartek 08 paź 2015, 18:40

Re: Układy cyfrowe

Postautor: j23 » poniedziałek 12 cze 2017, 07:16

wojtek pisze:
j23 pisze:Jest jeszcze jedna pozycja książkowa dotycząca języka VHDL, ale jest mego autorstwa.
gaweł z wrodzonej skromności juz nie wymienił tytułu - jest to "Układy programowalne dla początkujących" http://www.wydawnictwo.btc.pl/index.php ... tID=177718 , a jak chcesz "dotknąć od środka" mikrokontrolerów podczas nauki ich programowania (asembler), to polecam inne pozycje naszego kolegi o wspólnym tytule "Sztuka programowania mikrokontrolerów AVR" i w sumie nie ma większego znaczenia, że to akurat jest oprate o AVR.

:o Dzięki Wojtek! -czytam uważnie, ale było to tak ładnie wkomponowane w całość, że -gdyby nie Ty- to o mało co bym przeoczył... -serio.
Pozdrawiam! Jarek
Internet łączy ludzi, którzy dzielą się swoimi zainteresowaniami, pomysłami i potrzebami, bez względu na geograficzne (przeciwności).
BOB TAYLOR, PARC

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1272
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: Układy cyfrowe

Postautor: gaweł » poniedziałek 12 cze 2017, 10:40

wojtek pisze:nie wymienił tytułu - jest to "Układy programowalne dla początkujących"

To cytat z w/w książki:
"Do praktycznej realizacji, nawet dość złożonych projektów, w języku VHDL wystarczy opanowanie pewnego jego podzbioru. Zadaniem tej książki jest pomoc w tym zakresie. Autor jest przekonany, że po jej lekturze zniknie wiele mitów narosłych wokół języka VHDL. Czytelnicy chcący pogłębić swoją wiedzę dotyczącą języka VHDL muszą sięgnąć do innych książek, gdyż przedstawiony dalej opis jest okrojony do bieżących potrzeb projektów opisanych w książce."

wojtek pisze: :o Dzięki Wojtek! -czytam uważnie, ale było to tak ładnie wkomponowane w całość, że -gdyby nie Ty- to o mało co bym przeoczył... -serio.

Można patrzeć i nie widzieć, po prostu iluzja .... ;)

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1272
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: Układy cyfrowe

Postautor: gaweł » poniedziałek 12 cze 2017, 11:29

j23 pisze: - a już myślałem, że to będzie trudne... ;) ;) Język opisu sprzętu.. hmm.. :) To jest piękne, a nie trudne. :)

Wyobraź sobie, tysiące bramek. Jesteś magikiem, który czaruje, tworzy nowe, zarządza. Czegoś potrzebujesz ... dostajesz z puli. Chcesz mieć rejestr, piszesz, że chcesz rejestr a soft narzędziowy pogina by taki był, nie wnikasz jak on go zrobił (komputer+soft ma duży łeb i szybko myśli → to niech myśli). Skupiasz się na idei, celu. I tak powstaje w wyniku procesu projektowego jakiś kod. Ten kod określa co jest z czym połączone w FPGA i nic więcej, to są dane konfiguracyjne. FPGA oferuje ci ileś bramek i ileś "drucików" do łączenia bramek. Wygenerowany kod określa co z czym jest połączone, czyli de facto opis w VHDL odpowiada opisowi schematu ideowego. Można mówić tu o jakimś algorytmie ale w sensie działania automatu cyfrowego a nie w ujęciu języków programowania komputerów. Nie znaczy, że nie można odnieść algorytmu z przykładowo C do VHDL'a. W C jest napisane co i w jakiej kolejności jest robione do uzyskania efektu końcowego. W VHDL można zbudować automat, który zrobi dokładnie to samo. Odwrotnie się nie da, przede wszystkim z tego powodu, że w VHDL wszystko dzieje się jednocześnie. Tak jak narysujesz schemat z bramkami, przerzutnikami itp. zbudujesz układ, podłączysz do jego wejścia jakieś sygnały wymuszające. W układzie wszystko będzie działo się jednocześnie. Nie jest tak, że rzeczywistość najpierw wyliczy wynik w jakimś bloku kombinacyjnym, później porachuje nowy stan dla przerzutnika i na końcu wykombinuje stan na wyjściu innego bloku kombinacyjnego. W fizycznym układzie wszystko dzieje się jednocześnie. A języki (jak C, PASCAL ...) są sekwencyjne i nie ma tu jednoczesności.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
tasza
Geek
Geek
Posty: 1082
Rejestracja: czwartek 12 sty 2017, 10:24
Kontaktowanie:

Re: Układy cyfrowe

Postautor: tasza » poniedziałek 12 cze 2017, 16:27

gaweł pisze:(...) FPGA oferuje ci ileś bramek i ileś "drucików" do łączenia bramek. Wygenerowany kod określa co z czym jest połączone, czyli de facto opis w VHDL odpowiada opisowi schematu ideowego. Można mówić tu o jakimś algorytmie ale w sensie działania automatu cyfrowego a nie w ujęciu języków programowania komputerów. (...)


ano tak, i ponoć osobniki związane z klasycznym programowaniem, czy to liniowym czy zorientowanym zdarzeniowo maja na wstępie kłopot z ogarnięciem filozofii języków opisujących sprzęt, czy to verilog czy hdl, chodzi tu głównie o powstałą w głowie mentalną barierę i oczekiwanie sekwencyjności wykonania (choćby fragmentów) kodu w zderzeniu z nowym, niezwykłym - opisem behawioralnym, czyli jak zachowuje się i jak reaguje układ na pobudzenia z zewnątrz; pisze to bo sama mam wielki problem z lekturą źródeł w vhdl, i generalnie guzik z tego wynika, póki nie zobacze przed nosem tak czy inaczej działającego układu;

a taka ciekawostka przy okazji - podobny zgryz jest przy graficznych, zorientowanych na przepływ danych językach programowania, tak - to moje ukochane LabVIEW; zauważyłam pewną prawidłowość, że najszybciej uczą się i osiągają swoistą finezję w układaniu diagramów osoby, które nigdy nie miały styczności z jakimkolwiek programowaniem, no tak; to są głowy niekażone nawykami, jakimiś dobrymi praktykami i innymi design patterns, nie wiedząc jak w takim przypadku myśleć, myślą intuicyjnie - myślą ... przepływowo, budują diagramy mając tylko i wyłącznie na uwadze związki przyczynowo skutkowe (aby było wyliczone wyjście, trzeba mieć stabilnie określone w czasie jedno lub więcej wejść), ja takie obserwacje mam ad hoc na dwójce trzecio/czwarto klasistów (10/11 lat), to jest mega normalnie zjawisko, że progres tych dzieciaków w zabawie z LV jest o półkę wyżej niż starszych, włącznie z moim; bo ja zaczynając z LV naprawdę się umordowałam...
______________________________________________ ____ ___ __ _ _ _ _
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1272
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: Układy cyfrowe

Postautor: gaweł » poniedziałek 12 cze 2017, 17:13

tasza pisze:a taka ciekawostka przy okazji - podobny zgryz jest przy graficznych, zorientowanych na przepływ danych językach programowania, tak - to moje ukochane LabVIEW; zauważyłam pewną prawidłowość, że najszybciej uczą się i osiągają swoistą finezję w układaniu diagramów osoby, które nigdy nie miały styczności z jakimkolwiek programowaniem, no tak; to są głowy niekażone nawykami, jakimiś dobrymi praktykami i innymi design patterns, nie wiedząc jak w takim przypadku myśleć, myślą intuicyjnie - myślą ... przepływowo, budują diagramy mając tylko i wyłącznie na uwadze związki przyczynowo skutkowe (aby było wyliczone wyjście, trzeba mieć stabilnie określone w czasie jedno lub więcej wejść), ja takie obserwacje mam ad hoc na dwójce trzecio/czwarto klasistów (10/11 lat), to jest mega normalnie zjawisko, że progres tych dzieciaków w zabawie z LV jest o półkę wyżej niż starszych, włącznie z moim; bo ja zaczynając z LV naprawdę się umordowałam...

To potwierdza to co napisałem wyżej. Największym problemem jest pokonanie własnych przyzwyczajeń. Do efektywnego działania potrzebna jest wolność, szeroko rozumiana wolność, brak zahamowań, wyobraźnia, intuicja :arrow: energia myśli i świat zostaje ujarzmony.
Na identycznej zasadzie ja umordowałem się z VHDL'em.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
dambo
Expert
Expert
Posty: 645
Rejestracja: czwartek 17 mar 2016, 17:12

Re: Układy cyfrowe

Postautor: dambo » poniedziałek 12 cze 2017, 18:44

również potwierdzam to co piszecie - przyzwyczajenia ze "zwykłego" programowania w VHDLu trochę utrudniają robotę. Trzeba się przestawić, że pisząc kod nie programujemy, a opisujemy :)
Nowy blog o tematyce embedded -> https://www.embedownik.pl/

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1272
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: Układy cyfrowe

Postautor: gaweł » wtorek 13 cze 2017, 00:21

Filozofia języka VHDL można zaprezentować na prostych (wręcz prymitywnych przykładach, przykłady są dla oprogramowania narzędziowego WEB PACK → układy firmy XILINX; w sumie nie ma to istotnego znaczenia, w QUARTUS [ALTERA] jest podobnie, jedynie może się inaczej nazywać). Proste przykłady mają za zadanie przedstawić „filozofię” narzędzia, bez niepotrzebnego wgryzania się w prezentowane przykłady.
Patrząc na zapis w języku VHDL można zawsze dostrzec jakiś cyfrowy układ scalony. Będąc przyzwyczajonym do klasycznych (fizycznych) układów scalonych każdy będzie widział takie „małe czarne z nóżkami”. Tu również można zobaczyć takie same coś z nóżkami. Tylko czasami te nóżki są takie „wirtualne”, to znaczy wszystkie komponenty użyte wewnętrznie mają takie „wirtualne nóżki”. Nóżki każdego komponentu są identyfikowane przez nazwę (nazwy wymienione na liście entity). Dopiero ten komponent, który jest globalny, najbardziej „zewnętrzny” jest skojarzony z fizycznymi wyprowadzeniami układu scalonego. Dodatkowo występuje dowolność przyporządkowania „wirtualnych” nóżek z fizycznymi nóżkami. W projekcie występuje dodatkowy plik wchodzący w skład projektu, który zawiera tą specyfikację (plik Implementation Constraints File → plik o rozszerzeniu UCF).
logic1-02.PNG
Zapis na na ilustracji oznacza układ scalony mający 8 nóżek o nazwach A, B, C, D, Y1, Y2, Y3, Y4. Dalej jest opisana funkcja logiczna, czyli co powstaje na wyjściu w zależności od wejścia. Posiłkując się przykładem:

Kod: Zaznacz cały

use IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity Logic1 is port ( A : in std_logic ;
                        B : in std_logic ;
                        C : in std_logic ;
                        D : in std_logic ;
                        Y1 : out std_logic ;
                        Y2 : out std_logic ;
                        Y3 : out std_logic ;
                        Y4 : out std_logic ) ;
end Logic1 ;

architecture Behavioral of Logic1 is

begin
  Y1 <= A and B ;
  Y2 <= C nand D ;
  Y3 <= A or C ;
  Y4 <= B xor D ;
end Behavioral ;
Został "wyprodukowany" taki układ scalony (na razie bez "przydziału" do fizycznych wyprowadzeń scalaka)
logic1-01.png

Teraz mając na uwadze to co zostało wyżej napisane, można zadać pytanie: czym różnią się poniższe przykłady?

Kod: Zaznacz cały

begin
  Y1 <= A and B ;
  Y2 <= C nand D ;
  Y3 <= A or C ;
  Y4 <= B xor D ;
end Behavioral ;

Kod: Zaznacz cały

begin
  Y4 <= B xor D ;
  Y3 <= A or C ;
  Y2 <= C nand D ;
  Y1 <= A and B ;
end Behavioral ;
Dla mniej spostrzegawczych, jest inna kolejność zapisów.

Poprawna odpowiedź jest: NICZYM. Dlaczego? Bo wszystko w VHDL dzieje się jednocześnie, bez względu gdzie jest zapisane. Ponieważ zapis mówi, że schemat zawiera bramki (AND, NAND, OR i EXOR), które są połączone w jakiś sposób, nie mówi co, w jakiej kolejności zrobić. To tak jakby zastanawiać się przy rysowaniu schematu, czy rysunek zacząć od bramki AND czy EXOR?
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1272
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: Układy cyfrowe

Postautor: gaweł » wtorek 13 cze 2017, 11:46

tasza pisze:pisze to bo sama mam wielki problem z lekturą źródeł w vhdl, i generalnie guzik z tego wynika, póki nie zobaczę przed nosem tak czy inaczej działającego układu;

Problem jest szerszej natury i nie dotyczy jedynie VHDL'a. Każdy zapis, czy to tekstowy, czy rysunkowy jest jakąś interpretacją zamysłu autora. Czasami w lot można rozpoznać, co autor miał na myśli, czasami jest to ukryte. Toteż często każdy zastanawia się: "co poeta miał na myśli pisząc te słowa".
Przykładowo poniższy rysunek:
la_ilu01.PNG

Co on przedstawia? Czy widać, że jest to przerzutnik D (A → wejście D, B → wejście zegarowe, Y → wyjście Q)? Na pierwszy rzut oka nie widać, a jest. Bez względu na to, jak na to patrzeć, zawsze jest to przerzutnik D. Dopiero zdobycie własnej wiedzy spowoduje, że patrząc na "cudze wypowiedzi" nie damy się wpuszczać w maliny i zawsze rozpoznamy intencje autora. Takie życie ;) .
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
tasza
Geek
Geek
Posty: 1082
Rejestracja: czwartek 12 sty 2017, 10:24
Kontaktowanie:

Re: Układy cyfrowe

Postautor: tasza » wtorek 13 cze 2017, 16:27

gaweł pisze:Dopiero zdobycie własnej wiedzy spowoduje, że patrząc na "cudze wypowiedzi" nie damy się wpuszczać w maliny i zawsze rozpoznamy intencje autora.

no ale jak ja zerkam na dwie jakiekolwiek bramki jedna nad drugą, a pomiędzy nimi skrzyżowane wyprowadzenia, no taka joga cyfrowa, to już widać, że to przerzutnik jest, a czy D, czy JK a może SR...to rozkminy wymaga wnikliwej ale to potem, bo jak dla mnie kluczowe jest określenie czy układ ma naturę kombinacyjną (np. jakiś dekoder, liniowy flow), co jest relatywnie prostsze, czy może to układ sekwencyjny, synchroniczny, z pamięcią stanu (gdzie wynik zależy od bieżących wejść i poprzedniej wartości) , no wtedy mamy wyzwanie :)
______________________________________________ ____ ___ __ _ _ _ _
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1272
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: Układy cyfrowe

Postautor: gaweł » wtorek 13 cze 2017, 23:51

tasza pisze:no ale jak ja zerkam na dwie jakiekolwiek bramki jedna nad drugą, a pomiędzy nimi skrzyżowane wyprowadzenia, no taka joga cyfrowa, to już widać, że to przerzutnik jest, a czy D, czy JK a może SR...to rozkminy wymaga wnikliwej ale to potem, bo jak dla mnie kluczowe jest określenie czy układ ma naturę kombinacyjną (np. jakiś dekoder, liniowy flow), co jest relatywnie prostsze, czy może to układ sekwencyjny, synchroniczny, z pamięcią stanu (gdzie wynik zależy od bieżących wejść i poprzedniej wartości) , no wtedy mamy wyzwanie :)

No jasne, że ... jak ma druciki w pozycji jogicznej, to będzie przerzutnik. Tu celowo i wyraźnie zostało to pokazane. Jednak wystarczy lekko "rozwodnić" i wszystko zaczyna się robić mgliste. Często jest trudno to rozpoznać, wymaga to pewnego wysiłku. Jednak wiedza jest tak cennym towarem, że warto wznieść się na wyżyny, bo stamtąd jest widok po horyzont a nawet dalej. I to jest wyzwanie. Nad moim łóżkiem wisi takie hasło: "Nie narzekaj, że idziesz pod górę skoro zmierzasz na szczyt".

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse


Wróć do „Podstawy elektroniki - teoria i praktyka”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 3 gości