Разработать проект на языке VHDL для реализации модуля RAM и автомата

2 000 руб. за проект
28 сентября 2024, 14:58 • 1 отклик • 48 просмотров
Срочно! Требуется помощь с задачей! Необходимо реализовать модуль RAM, который будет хранить две матрицы, и автомат, который будет читать из RAM и умножать эти две матрицы, а результат записывать обратно в RAM. Работаю в modelsim.
Описание работы:
  1. Модуль RAM(размер 256):
    • Входы:
      • CLK — тактовый сигнал.
      • read — сигнал чтения.
      • write — сигнал записи.
      • ADDR — адрес (для чтения/записи).
      • DataIn — данные на запись.
    • Выходы:
      • DataOut — данные на чтение.
    Требуется реализовать модуль RAM с вышеуказанными входами и выходами. Память будет использоваться для хранения матриц и итоговых данных вычислений.
  2. Модуль автомата для умножения матриц:
    • Входные данные — две матрицы.
    • Необходимо реализовать умножение двух матриц по элементам, записывая результат умножения в RAM.
    • Процесс умножения и записи данных должен происходить синхронно с тактовым сигналом (CLK).
    • Циклы использовать нельзя, все операции должны выполняться с помощью автомата состояний.
  3. Особые требования:
    • Все действия, такие как чтение данных, умножение элементов матриц и запись результата в память (RAM), должны выполняться последовательно, управляемые автоматом состояний.
    • Операции чтения/записи в RAM должны синхронизироваться с тактовым сигналом.
    • Все модули должны быть выполнены на языке VHDL.
Ожидаемые результаты:
  • Исходный код на VHDL для модуля RAM.
  • Исходный код на VHDL для автомата, реализующего умножение матриц.
  • Тестбенч для проверки корректности работы RAM и автомата с умножением матриц.
Примечание: Все операции умножения матриц и запись результатов в память должны быть реализованы без использования циклов, только через автомат состояний и выполнение шагов по клоку.

Файлы