2008-10-23 15 views
4

Для университетского среднесрочного проекта мне нужно спроектировать конфигурируемый процессор, чтобы написать код в VHDL, а затем синтезировать его на плате FPGA Spartan 3E от Digilent. Я новичок, поэтому вы могли бы указать мне некоторую информацию о настраиваемых процессорах, некоторые идеи, связанные с концепцией?Конфигурируемый процессор, реализованный на плате FPGA

ответ

2

Это просто макет поэтому, пожалуйста, быть в курсе я уберу его

принести instruct1,
принести instruct2, принесите datas1
принести instruct3, принесите datas2, процесс datas1
принести instruct4, принесите datas3, процесс datas2, store1 datas1
выборки instruct5, выборка datas4, процесс datas3, store2 datas1
выборки instruct6, выборка datas5, процесс datas4, store3 datas1
выборки instruct7, выборка datas6, процесс datas5, store4 datas1
принести instruct8, принеси datas7, процесс datas6, store5 datas1

в основном это основные компоненты процессора Часть 1 ALU: арифметико-логическое устройство (это где draeing пригодится) АЛУ имеет 2 порта ввода и выходного порта. 2 входных порта работают, и результат выводится. Чтобы узнать, какая команда ALU должна выполнить, есть порт управления. В основном это имя команды. Поэтому, если порт управления имеет 4 бита, существует 16 возможных инструкций.

Часть 2 РЕГИСТРАЦИОННЫЙ БЛОК: Это набор ячеек памяти (кэш-памяти). Содержимое этой памяти часто передается на входные порты ALU.

Часть 3 Блок управления: Это похоже на мастера оркестра процессора. Его задача - 1Создать данные на вход ALU 2Readwhich инструкция должна произойти в регистрах команд, отправить эти коды в порты управления ALU

Интерфейс. Так ОЗУ и другие периферийные устройства взаимодействуют с CPU

Каждый раз, когда сборка выводит результат, ее необходимо сохранить. Он может быть сохранен в ОЗУ, так что запись в ПЗУ должна быть готова после того, как результат будет готов. В то же время может считываться RAM-считывание входных данных следующей инструкции. И одновременно в следующей оперативной памяти может быть извлечена из ОЗУ.

Для генерации 1 инструкции обычно требуется более 1 такта. Обработка в строительстве аналогична промышленному производству. Итак, целая работа выполнена.

VLIW Программирование, которое мы пишем, является линейным, что означает, что инструкции выполняются один за другим. Но сегодня CPU (а не ARM) имеют несколько ALU, поэтому несколько команд обрабатываются одновременно.

Так у вас есть блоки обработки цепь работает несколько команд одновременно (трубопровод) и у вас есть много этих единицы (суперскалярные)

тогда становится вопрос о том, что может/нужно сделать, чтобы тейлоровский ваш архитектура процессора.

2

Я сделал аналогичный проект, реализующий процессор с 5-ступенчатым конвейером в VHDL.

Прежде всего, вы должны понимать архитектуру работы процессоров. Не понимая, что делает каждый stange и какие контрольные сигналы вам нужны, у вас нет надежды на то, чтобы на самом деле написать его в VHDL.

Во-вторых, начните рисовать диаграммы того, как инструкции и данные будут проходить через ваш процессор (то есть через каждый этап). Как каждый этап соединяется друг с другом? Где идут сигналы управления? Откуда берутся мои материалы и где мои результаты идут?

Как только у вас есть сплошная диаграмма, фактическая реализация в VHDL должна быть относительно простой. Вы можете использовать поведенческое моделирование VHDL, чтобы подробно объяснить, что вы видите на диаграмме.