2015-04-14 5 views
3

Я пытаюсь отправить строку 4 килобайта в FPGA, что это самый простой способ сделать это?FPGA большие входные данные

This - ссылка для fpga, которую я использую. Я использую Verilog и Quartus.

+0

Что вы хотите сделать с этой строкой? Сохраните его в FPGA или просто обработайте его байтом байтом? Есть ли определенный интерфейс, который вы используете? – Qiu

ответ

1

Вы можете использовать блоки FPGA для создания памяти внутри микросхемы FPGA (вы можете сделать это от Quartus). Помощник по созданию позволяет инициализировать эту память любым желаемым (например, строка 4 КБ). Проблема в том, что в FPGA-памяти используются многие из ваших блоков FPGA, но для такой платы это не должно быть проблемой.

Вот видео, объясняя, как сделать это на Quartus:

https://www.youtube.com/watch?v=1nhTDOpY5gU

2

Ответ на ваш вопрос во многом зависит от того, что кормления этих данных в FPGA. Даже если нет определенного протокола, к которому вы должны присоединиться (SPI, Ethernet, USB и т. Д.), Возникает вопрос, как быстро вам нужно принимать данные и как далеко перемещаться данные. Если это очень медленно, вы можете создать простой интерфейс, используя обычные контакты IO с параллельной шиной данных и часами. Если это происходит намного быстрее, вам может потребоваться изучить использование высокоскоростных последовательных интерфейсов и специальную жесткую логику, доступную на вашем чипе, для обработки этих скоростей. Даже если он медленнее, но данные должны перемещаться на некотором расстоянии, последовательный интерфейс может быть хорошей идеей для минимизации затрат на кабель.

Одна вещь, которую я хотел бы добавить к ответу @gbuzogany: вы, вероятно, захотите сконфигурировать этот блок памяти в FPGA как FIFO, чтобы вы могли обрабатывать часы ввода данных, работающие с другой скоростью, чем внутренние часы вашего FPGA.

0

Вы можете использовать строку для инициализации памяти. Это легко в Verilog в блоке начального начала.

0

Существует 2 способа: 1. Вы можете создать блок памяти с помощью генератора ядра Xilinx, а затем загрузить исходные данные в память, а затем использовать данные для кода. Конечно, вам нужно преобразовать строку в двоичные данные. 2. Вы можете написать код, который имеет память для хранения строки, это может быть FIFO-память First-In-First-Out. Затем вы пишете testbench, чтобы прочитать строку из текстового файла и записать данные в FIFO. Ваша FPGA может читать строку из FIFO.

Смежные вопросы