Простой модуль Verilog VPI для открытия аудиофайлов

Я хотел бы написать интерфейс VPI / PLI, который будет открывать аудиофайлы (например, wav, aiff и т. д.) и представить данные симулятору Verilog. Я использую Икарус в данный момент и хочу используйте libsndfile для обработки форматов входных файлов и преобразования типов данных.

Я не совсем уверен, что использовать в коде C ... просмотрел IEEE 1364-2001 и все еще запутался, какие функции я должен использовать.

В идеале я хотел бы иметь модуль verilog с портом данных (последовательный или параллельный), вход часов и пин-стоп штифт. Я хотел бы реализовать два модуля, один для воспроизведения из файла, а другой для записи вывода из тестируемого фильтра.

Могу ли я сделать все это на C и просто создать экземпляр модуля в моем тестовом стенде или я нужно написать функция (скажем, $ read_audio_data ) и модуль-оболочка для вызова ее при каждом тактовом импульсе ??

Хм, или, может быть, мне нужно создать модуль, а затем получить его дескриптор и передать значение / vect к дескриптору?

Меня не совсем беспокоит, как будут установлены имена файлов, поскольку я, вероятно, в любом случае не будет делать этого из кода Verilog. И я, вероятно, пока буду придерживаться 24-битных целочисленных выборок и libsndfile должен довольно хорошо обрабатывать преобразование. Пожалуй, пока буду придерживаться серийника (может быть, даже в стиле I2S) и при необходимости десериализуйте его в Verilog.

Также я просмотрел плагин Icarus , который реализует видеокамеру, которая читает файлы PNG, хотя есть гораздо больше аспектов обработки изображений, чем аудио. Следовательно, этот код на данный момент кажется мне слишком сложным - ни мне, ни мне не удалось получить его запустить.

5
задан errordeveloper 10 January 2014 в 06:44
поделиться