Dangerous Prototypes ogłosił konkurs na najciekawszy układ zbudowany z klasycznych scalaków logicznych, by pokazać, że nie zawsze trzeba sięgać po procesory i FPGA. Ale jeden z uczestników zrobił z tych układów... układ FPGA!
Słowo wyjaśnienia dla tych, co FPGA nie znają. Jest to układ, w którym siedzą tysiące albo nawet miliony bramek logicznych, które można połączyć wg własnych potrzeb i w ten sposób można stworzyć dowolny układ cyfrowy. Coś w rodzaju klocków LEGO.
Podstawową jednostką budulcową FPGA jest slice, czyli komórka wykonująca funkcje logiczne na danych doprowadzonych z wejścia. Wewnątrz takiej komórki znajduje się look-up-table (LUT) oparty na komórkach pamięci RAM. Początkowo autor chciał zastosować 4-bitowe pamięci RAM 7489, jednak dawno temu wyszły z produkcji i ciężko je dostać. Wobec tego zastosował rejestry przesuwne 74595 z multiplekserem 74251 posiadającym wyjście trzystanowe. W ten sposób powstała komórka logiczna widoczna na zdjęciu powyżej.
Każda komórka składa się z:
4 x 74HC595 Shift Registers, for LUTs and routing/multiplexer state
2 x 74HC251 8-line multiplexer, for LUTs
2 x 74HC125 and 2 x 74HC126 Tristate buffers, for multiplexers and output enables.
1 x 74HC173 4-bit register, for synchronous operation.
1 x 74HC4066 Quad Bilateral Switch, for bus switches.
FPGA składa się z wielu takich komórek połączonych poprzez złącza z golpinami, znajdującymi się na każdej krawędzi.
Autor napisał własny język opisu sprzętu, coś w rodzaju bardzo uproszczonego Veriloga lub VHDL. Trzeba wpisać wprost odpowiednie równania logiczne dla każdego slice osobno i ręcznie zadeklarować piny wejściowe i wyjściowe na krawędziach modułu.
Na poniższym filmiku autor prezentuje FPGA złożony z 8 komórek, w którym zaimplementował generator PWM
Źródło: Link

Fajne? Ranking DIY
