Czy możesz polecić czytelną i edukacyjną implementację procesora w VHDL lub Verilog? Najlepiej coś dobrze udokumentowanego.
PS Wiem, że mogę na to patrzeć opencores
, ale jestem szczególnie zainteresowany rzeczami, na które ludzie naprawdę patrzyli i byli interesujący.
PS2. Przepraszam za podstępne tagi, ale jako nowy użytkownik nie mogę tworzyć nowych
Odpowiedzi:
Może Ci się spodobać seria artykułów, o której pisałem dawno temu dla magazynu Circuit Cellar, Budowanie systemu RISC w układzie FPGA .
Miłego hakowania!
źródło
Zdobądź tę książkę, mam pierwsze wydanie. Kilka lat temu zaimplementowałem ich procesor w małej Flex 10K10 FPGA na zaprojektowanej przeze mnie płytce drukowanej, z kilkoma przyciskami i pojedynczym 7-segmentowym wyświetlaczem do wprowadzania danych i wyświetlania wyników.
źródło
Wiele zależy od tego, jaki jest twój cel studiowania kodu? Innymi słowy, co oznacza dla ciebie interesujące ?
Jeśli robisz to, aby zobaczyć, ile złożoności może zajść procesor, możesz być bardziej zainteresowany badaniem źródła architektur OpenSPARC . To zajmie dużo czasu na nurkowanie w ale dostaniesz uznanie za ogólną duże zdjęcie widoku złożonego mikroprocesor.
Następnie, jeśli chcemy przestudiować określone funkcje mikroarchitektury komputerowej, warto przyjrzeć się prostym maszynom RISC, takim jak AEMB , niewielki i szybki wielowątkowy 32-bitowy procesor RISC (wtyczka bezwstydna).
Jeśli zatem chcesz nauczyć się dobrych stylów i konwencji kodowania, projekt LEON2 jest dobrym miejscem do nauki dobrego stylu kodowania VHDL.
Jeśli jednak Twoim celem w nauce procesora jest nauczenie się, jak samemu go zaprojektować, najlepszym rozwiązaniem byłoby rozpoczęcie od jednej z prostych 8-bitowych maszyn (w sieci jest wiele przykładów AVR, 8051, PIC).
źródło
Możesz spróbować sprawdzić niektóre projekty procesorów Forth. Dalej jest prosty język programowania, którego specyfikacja i implementacja są zdefiniowane za pomocą dwóch stosów stosów (jeden dla danych i jeden dla adresów zwrotnych).
Kilka małych procesorów VHDL / Verilog jest dostępnych za darmo:
Więcej linków można znaleźć tutaj:
PS. Pomimo tego, że Forth jest dość starym i mało znanym językiem, wiele nowoczesnych maszyn wirtualnych opartych na stosie (Java, szybkie maszyny wirtualne JavaScript) ma podobny projekt niskiego poziomu, więc poznanie go może być owocne.
źródło
PicoBlaze jest fajny, jednak nie jest dostępny w niezależnym od dostawcy VHDL.
Niektóre inne opcje to:
Ponadto, jeśli szukasz kompilatora dla swojego procesora, najbardziej prawdopodobne jest, że dostaniesz go dla 16-bitowego procesora. Kiedyś był kompilator Poderico z języka podobnego do C do Picoblaze, ale został zdjęty z sieci.
źródło
Możesz rzucić okiem na procesor Xilinx PicoBlaze . Jest to minimalny 8-bitowy wbudowany mikrokontroler, a kod źródłowy powinien być dostępny.
źródło
Za późno jednak udzielam krótkiej odpowiedzi.
Jest kurs o nazwie od Nand2Tetris z University of Jerusalem, ten kurs jest również obecny na coursera, zbudowałem komputer, który stworzyli w tym kursie. Zaimplementowałem język zgodnie ze schematem, aby móc zobaczyć, jak komputer działa w najmniejszym stopniu. I udało mi się, symulator, który stworzyli w Javie, nie może zrobić wszystkiego, co chciałem zobaczyć.
https://github.com/alinsoar/little-computer
źródło