Logika cyfrowa

Zadania kwalifikacyjne są tutaj.

Biorąc pod uwagę jak dużo osób startuje w ctf’ach podczas WWW, statystyka mówi że prawdopodobnie jesteś niskopoziomowym świrem, programowanie w assemblerze masz w małym palcu, a patrzenie na objdumpy czy zdekompilowany kod jest Ci nie straszne. Natomiast zastanawiałeś się jak implementowane są podstawowe funkcjonalności procesora na poziomie krzemu? Jeśli tak, to ten wykład jest dla Ciebie!

Jeśli jesteś człowiekiem który w minecraft jedynym słusznym programie do syntezy układów logicznych buduje układy z redstone, to również zapraszam na zajęcia, taka wiedza przydaje się przy budowaniu większych konstrukcji.

 

Podczas zajęć dowiesz się z jakich „klocków” buduje się układy logiczne, o tym jak dbać o „złożoność obliczeniową” obwodów elektronicznych i implementacji układów, z których świadomie lub nie, korzystasz na co dzień.

Wymagania

  1. Techniczne: Komputer. Teoretycznie będziesz wstanie robić wszystko na kartce długopisem ale zdecydowanie odradzam to rozwiązanie. Co do systemu operacyjnego pozostaje pewna dowolność, byleby było to coś popularnego i działającego. (Jeśli zamierzasz przyjść na zajęcia z instalacją templeOS i własnoręcznie sportowaną wersją SystemVerilog’a to uzyskasz mój podziw, natomiast nie uzyskasz pomocy, jeśli coś nie będzie działało)
  2. Merytoryczne: Zajęcia z założenia prowadzone będą od podstaw (a tempo będzie dobierane do uczestników). Natomiast niezerowa wiedza o logice, elektronice i programowaniu na jakieś mikrokontrolery byłaby mile widziana.

Plan zajęć

  1. Naprawdę epsilonowy wstęp o historii krzemu (lampy, tranzystory i to jak bramka zbudowana jest na poziomie eletronicznym)
  2. Podstawowe bramki logiczne, hardwareowa implementacja DNF, CNF i kilka słów o zupełności spójników
  3. Arytmetyka na bramkach logicznych
  4. Układy kombinacyjne
  5. Układy ze stanem
  6. Działanie układów PWM i rejestrów przesuwnych
  7. Zatrzaski i przerzutniki
  8. Układy z pamięcią

Prawdopodobnie plan ulegnie zmianie, w zależności od tego co napiszecie w zadaniach kwalifikacyjnych, oraz tego jak będziecie sobie radzić na zajęciach

Zadania kwalifikacyjne pojawią się tutaj, jak tylko przestanę mieć chwilowe problemy z zaliczaniem studiów (czyli jakoś w najbliższym czasie).

Jeśli z jakiegoś powodu chcesz zrobić te zadania szybciej (nie okłamujmy się, i tak zabierzesz się za to na ostatni moment) a nie możesz tego zrobić (z oczywistego powodu - te zadania jeszcze nie istnieją) to zapraszam do wysyłania gróźb (również karalnych) na adres e-mailowy w moim profilu, z tagiem [WWW15]