Для выполнения этой задачи (сохранение содержимого массива 1000 байт в файл на каком-либо носителе) вы можете только создать экземпляр какого-либо процессора (например, MicroBlaze) в своем дизайне и связать его с на любом носителе, на котором установлена ваша плата FPGA (SD, Compact Flash, SATA, IDE и т. д.) и ваш 1000-байтовый массив. Затем найдите библиотеку C для обработки некоторой файловой системы, такой как FAT, и напишите программу, которая выполняет итерацию через 1000-байтовый массив, прочитав его и используя библиотеку C для создания файла, сохраните байты, считанные из массива, и, наконец, закройте файл.
Возможно, но не только с кодом Verilog, который вы опубликовали. Вам нужно построить целый SoC в вашей FPGA, чтобы справиться с этим.
Другая возможность, а тем более ресурсоемкая, - использовать встроенные устройства на плате FPGA для отправки массива 1000 байтов через последовательный порт или USB, получить его на своем ПК и сохранить на нем.
Если вам не хватает коммуникационных устройств на вашей плате, вы даже можете создать кодировщик FSK и передать содержимое массива в виде серии тонов, например, старых модемов или даже старых компьютеров 80-х годов. Захватите данные на ПК с помощью звуковой карты и некоторого программного обеспечения для декодирования аудиосигнала. Для этого единственным ресурсом, который вам нужен, является контакт, сконфигурированный как выход, из вашей FPGA.
Вы хотите открыть файл, написать ему и закрыть его в синтезируемом коде? Ожидаете ли вы, что это будет работать на вашем оборудовании? Или это для отладки во время моделирования? Почему вы делаете это на часах? – EML
Синтезируемые аппаратные средства Verilog, то есть логические ворота и триггеры. Существует нет понятия файловой системы ** для хранения вещей или операционной системы для обработки запросов на запись файла. – Morgan