Как бы потихонечку освоить работу с FPGA

Печатные платы, программируемая логика, разработка и изготовление аппаратуры

Moderator: Shaos

User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Starting with FPGA

Post by Lavr »

Shaos wrote:Вот ещё вам фпгашной нестандартности:

Image

Image
Здесь подробное описание этого изделия:
Xyloni - Отладочная плата на ПЛИС Efinix Trion T8
Xy52947048.jpg
И вот здесь на эту тему материал есть:
Welcome to the Xyloni® Development Kit Github repo
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Starting with FPGA

Post by Shaos »

Цитата из статьи:
Особенности
  • ПЛИС Efinix® T8F81C2 в 81-шариковом корпусе FineLine BGA
  • 128 Мбит SPI или флэш-память
  • Выделенный интерфейс UART через micro-USB type B
  • 41-контактный высокоскоростной разъем для пользовательского ввода-вывода
  • 12-контактный PMOD-совместимый разъем GPIO
  • Слоты для карт Micro-SD
  • 4 пользовательских светодиода и 2 пользовательских кнопочных переключателя
  • Генератор 33.33 МГц
  • Выбираемые пользователем напряжения от 1,8 в, 2,5 В и 3,3 В
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Starting with FPGA

Post by Shaos »

Ой, а слот Micro-SD я как-то и не заметил :)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
FizikS
Maniac
Posts: 264
Joined: 11 Oct 2018 00:52
Location: г. Клинцы, Брянская обл.

Re: Starting with FPGA

Post by FizikS »

Знатоки, подскажите: имеются ли средства визуальной разработки для FPGA. т.е. рисуем схему, потом компилируем из нее прошивку?
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Starting with FPGA

Post by Shaos »

Ну дык схемный ввод - в родных средах разработки от Альтеры (для Альтеры) и у Xilinx (для Xilinx) оно было

P.S. Перенёс тему в Hardware, как собственно и хотел изначально да заодно переименовал заголовок по русски...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
FizikS
Maniac
Posts: 264
Joined: 11 Oct 2018 00:52
Location: г. Клинцы, Брянская обл.

Re: Как бы потихонечку освоить работу с FPGA

Post by FizikS »

Спасибо, попробую...
Нужно не отставать от прогресса.
belfegor96
Senior
Posts: 106
Joined: 09 Jun 2022 00:49

Re: Как бы потихонечку освоить работу с FPGA

Post by belfegor96 »

А подскажите по HDL?

Вот я процессор проектирую, в нём будет машина состояний (конечный автомат). Устроен он просто: несколько флип-флопов обозначают конкретное состояние и автомат может переключаться в другие состояния согласно комбинационной логике, зависящей от этих флип-флопов и других факторов. То есть, всё обычно, как я понимаю, именно так их и делают.

И так получается по логике работы процессора, что в каждом состоянии автомата делается много нужных, но не связанных между собой по смыслу вещей. Например, в некоторых стадиях его работы сбрасывается АЛУ чтобы начать считать (АЛУ 4-битый, поэтому чтобы обсчитать слово происходит цикл, который требует предварительной инициализации). При этом в этой же стадии происходит сохранение каких-то данных, полученных на предыдущем состоянии (не связанных с АЛУ). Всё это приводит как запутанности кода и ошибкам.

Вопрос: как такое грамотно организовывать в коде? Как тестировать?

Пока предполагаю (но не уверен) что надо бы сделать несколько параллельных конечных автоматов, у которых будут совпадать значения некоторых состояний. Тогда можно будет по смыслу разбить деятельность по разным модулям.
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Как бы потихонечку освоить работу с FPGA

Post by Shaos »

Надо мыслить на верилоге (или сразу на SystemVerilog, который ещё более универсальный), предоставляющем несколько стандартных подходов программирования, которые все используют - сразу иметь ввиду, что будет общее тактирование, и что будут регистры, которые защёлкивают новое состяние в каждом такте и т.д. При этом всякие процессоры и многоуровневые конвейеры строятся легко и непринуждённо...
Я тут за главного - если что шлите мыло на me собака shaos точка net
belfegor96
Senior
Posts: 106
Joined: 09 Jun 2022 00:49

Re: Как бы потихонечку освоить работу с FPGA

Post by belfegor96 »

Shaos wrote:Надо мыслить на верилоге (или сразу на SystemVerilog, который ещё более универсальный), предоставляющем несколько стандартных подходов программирования, которые все используют - сразу иметь ввиду, что будет общее тактирование, и что будут регистры, которые защёлкивают новое состяние в каждом такте и т.д. При этом всякие процессоры и многоуровневые конвейеры строятся легко и непринуждённо...
У меня нет конвееров, все стадии зависимы между собой. Это одна из причин этой сложности. Пишу на SystemVerilog

С другой стороны, непонятно также как тестировать правильность переходов по состояниям (покрытие). Сейчас есть только общий тест всех команд ну и вскоре подключу уже исполнение бинарников из файлов
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Как бы потихонечку освоить работу с FPGA

Post by Shaos »

Я когда свой RISC-V городил 5 лет назад (с конвейером в 1.5 ступени), то чисто по программистки всё компилировал через Verilator и нахлобучивал на это свой тестовый код, написанный на родимом C++ :lol:

А "настоящие железячники" прям на том же верилоге (да даже и на VHDL) городят тесты...
Я тут за главного - если что шлите мыло на me собака shaos точка net
belfegor96
Senior
Posts: 106
Joined: 09 Jun 2022 00:49

Re: Как бы потихонечку освоить работу с FPGA

Post by belfegor96 »

Shaos wrote:Я когда свой RISC-V городил 5 лет назад (с конвейером в 1.5 ступени), то чисто по программистки всё компилировал через Verilator и нахлобучивал на это свой тестовый код, написанный на родимом C++ :lol:

А "настоящие железячники" прям на том же верилоге (да даже и на VHDL) городят тесты...
О, значит я настоящий :-)

Просто не понял как ещё там можно тесты сделать внешние на С++. Делаю "как по книжке" - получается. Кроме beans (накопления заходов) и ещё каких-то мелочей - верилятор этого не умеет

(Код покажу когда полностью заработает)
Last edited by belfegor96 on 02 Mar 2024 15:11, edited 1 time in total.
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Как бы потихонечку освоить работу с FPGA

Post by Shaos »

Я не настоящий, поэтому я по старинке на C++ тесты клепаю :roll:
Я тут за главного - если что шлите мыло на me собака shaos точка net