Jump to content

    
Sign in to follow this  
Kostochkin

Чтение данных из файла в artix7 100t

Recommended Posts

Здравствуйте.

Имеется плата с fpga artix 7 100t.

Для проверки проекта нужен внешний генератор, которого нет.

Но есть файл(scv) с данными внешних воздействий.

Нужно записать данные из файла в блочную память, и потом соответственно подавать внешний сигнал из памяти.

Вопрос: Как прочитать данные  из файла в плис?

Благодарю. 

Share this post


Link to post
Share on other sites
5 минут назад, Kostochkin сказал:

Здравствуйте.

Имеется плата с fpga artix 7 100t.

Для проверки проекта нужен внешний генератор, которого нет.

Но есть файл(scv) с данными внешних воздействий.

Нужно записать данные из файла в блочную память, и потом соответственно подавать внешний сигнал из памяти.

Вопрос: Как прочитать данные  из файла в плис?

Благодарю. 

Вопрос задан не полно. 

Считать один раз при инициализации ПЛИС? Читать непрерывно в процессе работы? Критично ли скорость доставки данных в ПЛИС при этом?

Share this post


Link to post
Share on other sites
1 hour ago, iosifk said:

Вопрос задан не полно. 

Считать один раз при инициализации ПЛИС? Читать непрерывно в процессе работы? Критично ли скорость доставки данных в ПЛИС при этом?

Да, извините. 

Нужно считать один раз при инициализации, скорость доставки данных в плис не критично.

Благодарю.

Share this post


Link to post
Share on other sites
2 минуты назад, Kostochkin сказал:

Нужно считать один раз при инициализации, скорость доставки данных в плис не критично.

reg  [31:0] prom_data[1023:0];

  initial

    $readmemb("../data/mem_file.dat", prom_data);

Или $readmemh если данные записаны байтами в хекс

Или смотрите ксайлинсовские примитивы RAMB, там есть примеры инициализации через дефайны...

Share this post


Link to post
Share on other sites
35 minutes ago, iosifk said:

reg  [31:0] prom_data[1023:0];

  initial

    $readmemb("../data/mem_file.dat", prom_data);

Или $readmemh если данные записаны байтами в хекс

Или смотрите ксайлинсовские примитивы RAMB, там есть примеры инициализации через дефайны...

Благодарю, буду пробовать.

Share this post


Link to post
Share on other sites
On 8/3/2019 at 1:35 PM, iosifk said:

reg  [31:0] prom_data[1023:0];

  initial

    $readmemb("../data/mem_file.dat", prom_data);

Или $readmemh если данные записаны байтами в хекс

Или смотрите ксайлинсовские примитивы RAMB, там есть примеры инициализации через дефайны...

Это по JTAG в кристал что-ли? Или просто в тестбенче в виртуальной среде?

З.Ы. Немного оффтоп, как через SDK посмотреть содержимое памяти, которая подключена к AXI шине? Видел там монитор памяти, но она только для дебага и видимо для внутренней памяти АРМа. Плата Zynq MPSoC

Share this post


Link to post
Share on other sites
11 минут назад, Nick_K сказал:

Это по JTAG в кристал что-ли? Или просто в тестбенче в виртуальной среде?

Верилог, тестбенч или инициализация при компиляции.

Share this post


Link to post
Share on other sites

Приветствую

2 minutes ago, Kostochkin said:

А можно ли читать файл плисой во время работы? И как это сделать?

Можно!  Нужно только реализовать  внутри FPGA  контроллер IDE / SCSI / SATA / NVMe / ... / ...   и подключить к нему диск с нужным файлом. :biggrin:

Удачи! Rob.

Share this post


Link to post
Share on other sites
3 минуты назад, Kostochkin сказал:

А можно ли читать файл плисой во время работы? И как это сделать?

Выделяете 4 вывода, на них вешаете стартовый набор микроконтроллера, который и подключаете к хосту. Микроконтроллер получает файл от хоста и по SPI например гонит его в ПЛИС. Можно даже в микроконтроллере сделать ТАР-контроллер и его подключить к JTAG. Правда тогда будет драка за программные драйверы между ксайлинсовскими и своими.. 

Share this post


Link to post
Share on other sites
1 hour ago, Kostochkin said:

А можно ли читать файл плисой во время работы? И как это сделать? 

Вариантов куча. Из того, что сходу пришло в голову:

  • Поднять Ethernet и слать даные UDP-пакетами
  • Взять IP-ядро JTAG2AXI и подключить его к двухпортовой памяти.
  • Использовать UART, если нет требований к скорости

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this