1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-NonTrivialMIPS

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

NonTrivialMIPS

NonTrivial-MIPS — это синтезируемый суперскалярный процессор MIPS с предсказанием ветвлений и поддержкой CP1 (FPU), CP2 (ускоритель AES), способный загружать полнофункциональную операционную систему Linux.

Авторы

Информацию об авторах проекта см. в разделе AUTHORS.

Структура каталогов

  • loongson: файлы от Loongson, некоторые адаптированы.
    • cpu_gs232: RTL-код процессора GS232 (не включён по причине авторских прав), упакован как Vivado IP.
    • soc_axi_func: проект Vivado, RTL-код и тестовый стенд функционального теста (с использованием процессора NonTrivialMIPS).
    • soc_axi_perf: проект Vivado, RTL-код и тестовый стенд теста производительности (с использованием процессора NonTrivialMIPS).
    • soc_run_os: проект и RTL-код Vivado для всей SoC (с использованием процессора GS232, обновлён до версии 2018.3).
    • soft: файлы инициализации ОЗУ, используемые вышеуказанными проектами.
  • src: RTL-код процессора NonTrivialMIPS.
  • vivado: проект Vivado и блок-дизайн NSCSCC SoC.
  • testbench: тестовые стенды процессора NonTrivialMIPS / NSCSCC Soc.
  • report: отчёты о проекте (исходный код LaTeX и сгенерированный PDF).

Примечание: ветвь out-of-order содержит игрушечный двухъядерный процессор вне порядка.

Сборка проекта

Обновление подмодулей

Мы используем git-подмодули для управления внешним кодом. После клонирования этого проекта запустите git submodule update --init, чтобы убедиться, что всё актуально.

Параметры компиляции

Процессор NonTrivialMIPS имеет несколько флагов компиляции, которые могут контролировать включаемые функции и параметры (такие как размер кэша и ассоциативность), которые будут использоваться. Подробные сведения см. в файле src/compile_options.svh.

Обратите внимание, что неправильные изменения этих флагов могут привести к странному или НЕПРАВИЛЬНОМУ поведению процессора.

Генерация битового потока

Вы можете генерировать битовые потоки, которые можно запрограммировать на FPGA, выполнив следующие команды:

# для проекта soc
/path/to/vivado -mode tcl -source scripts/build_soc.tcl vivado/TrivialMIPS.xpr
# для функционального теста loongson
/path/to/vivado -mode tcl -source scripts/generate_bitstream.tcl loongson/soc_axi_func/run_vivado/mycpu_prj1/mycpu.xpr
# для теста производительности loongson
/path/to/vivado -mode tcl -source scripts/generate_bitstream.tcl loongson/soc_axi_perf/run_vivado/mycpu_prj1/mycpu.xpr

Требуется Vivado версии 2018.3.

Лицензия

Весь исходный код в каталоге src/ выпущен под лицензией MIT со следующими исключениями:

  • src/asic/aes/ лицензирован под BSD-2-Clause License (исходный код с GitHub).
  • src/utils/fifo_v3.sv лицензирован под The Solderpad Hardware Licence (исходный код с GitHub).

Другие каталоги могут содержать исходный код или материалы, являющиеся собственностью или подпадающие под действие лицензий с открытым исходным кодом и хранящиеся в этом репозитории как есть. Если вы используете это содержимое, вы осознаёте, что будете нести любую соответствующую юридическую ответственность или последствия.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

NonTrivialMIPS — это десятиуровневый двухтактный последовательный 32-битный процессор MIPS, который включает в себя 32-разрядный блок операций с плавающей точкой и блок ускорения AES. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-NonTrivialMIPS.git
git@api.gitlife.ru:oschina-mirror/mirrors-NonTrivialMIPS.git
oschina-mirror
mirrors-NonTrivialMIPS
mirrors-NonTrivialMIPS
master