Необходимо реализовать / найти подходящий простой модуль , который позволит буферизовать поступающие команды и складывать их в буфер.
Нужно определить формат команд
чтение линии - 3байта операция R - 1 (0 байт), адрес - 2 байта (1 байт - младший, 2-ой старший)
запись - 4 байта W - 2 (0 байт), 2 байта адреса и 1 байт - значение, которое нужно записать по адресу
Данный буфер должен быть не просто массивом векторов (буфером памяти) а предусматривать как добавление, так и удаление данных (поэтому разработка этого модуля - отдельная задача )
Необходимо добавить в rom_reader_programmer анализ этого буфера и отправку сигналов в модуль rom_manager
Необходимо реализовать поддержку двух режимов работы:
ручного (MANUAL, по умолчанию), в этом режиме должен быть доступен только просмотр содержимого ПЗУ
автоматического (AUTO) чтения и записи
Определение режима будет осуществляться следующим образом:
необходимо будет сохранять поступающие входные данные (команду от RS232) в виде операция R/W, адрес, значение (если запись) и сохранять их в буфер.
Необходимо мониторить поступление команд и в случае попадания их в буфер, устанавливать режим в AUTO
На данный момент у нас есть testbench-файлы, но они быди реализованы в Xilinx ISE, а поскольку платформа - ALINX c Cyclone IV EP4CE6E22C8N, то нужно создать testbeтch проект в modelsim и все тесты добавить в modelsim
Данную задачу нужно реализовать после перехода на поддержку 2х режимов (#5) :
ручного
автоматического
В целом несмотря на то, что вся плата тактируется 50 МГц в целом устройство является медленных, частота передачи по RS232 будет не более 115200 бит/сек