Можете ли вы порекомендовать читаемую и обучающую реализацию процессора в VHDL или Verilog? Желательно что-то хорошо документированное.
PS Я знаю, что могу посмотреть opencores
, но мне особенно интересны вещи, на которые люди действительно смотрели и находили интересные.
PS2. Извините за плохие теги, но как новый пользователь я не могу создавать новые
Ответы:
Вам может понравиться серия статей, которые я написал об этом давно для журнала Circuit Cellar, « Построение системы RISC в ПЛИС» .
Счастливого взлома!
источник
Получить эту книгу, у меня есть первое издание. Несколько лет назад я внедрил их процессор в небольшую FPGA Flex 10K10 на разработанной мной плате с парой кнопок и одним 7-сегментным дисплеем для ввода данных и отображения результатов.
источник
Многое зависит от того, какова ваша цель изучения кода? Другими словами, что для вас значит интересное ?
Если вы делаете это для того, чтобы увидеть, сколько сложности может уйти в ЦП, вам может быть более интересно изучить источник архитектур OpenSPARC . Погружение займет много времени, но вы оцените общую картину сложного микропроцессора.
Затем, если вы хотите изучить конкретные особенности компьютерной микроархитектуры, вам нужно взглянуть на некоторые простые RISC-машины, такие как AEMB , небольшой и быстрый многопоточный 32-разрядный RISC-процессор (бесстыдный штекер).
Затем, если вы хотите изучить хорошие стили и соглашения кодирования, дизайн LEON2 является хорошим местом для изучения хорошего стиля кодирования VHDL.
Однако, если ваша цель при изучении процессора состоит в том, чтобы научиться проектировать его самостоятельно, лучше всего начать с одной из простых 8-битных машин (в сети много примеров AVR, 8051, PIC).
источник
Вы можете попробовать изучить некоторые конструкции процессора Forth. Forth - это простой язык программирования, спецификация и реализация которого определяются с помощью стека из двух стеков (один для данных и один для адресов возврата).
Несколько небольших процессоров VHDL / Verilog доступны бесплатно:
Еще несколько ссылок можно найти здесь:
PS. Несмотря на то, что Forth довольно старый и малоизвестный язык, многие современные виртуальные машины на основе стека (Java, быстрые виртуальные машины с JavaScript) имеют похожий низкоуровневый дизайн, поэтому изучение этого может быть плодотворным.
источник
PicoBlaze хорош, но он не доступен в VHDL, не зависящем от производителя.
Некоторые другие варианты:
Кроме того, если вы ищете компилятор для своего процессора, наиболее вероятно получить компилятор для 16-битного процессора. Когда-то был компилятор Подерико с языка, подобного C, на Picoblaze, но он был удален из Интернета.
источник
Вы можете взглянуть на процессор Xilinx PicoBlaze . Это минимальный 8-битный встроенный микроконтроллер, и исходный код должен быть доступен.
источник
Слишком поздно, однако я приведу небольшой ответ.
Существует курс, названный Nand2Tetris из Университета Иерусалима, этот курс также присутствует на Coursera, я создал компьютер, который они создали в этом курсе. Я реализовал язык в схеме, чтобы я мог видеть, как компьютер работает в мельчайших деталях. И мне это удалось, симулятор, который они создали на Java, не может сделать все, что я хотел увидеть.
https://github.com/alinsoar/little-computer
источник