Вы правильно заметили, что отличий в названий блоков по сравнению с традиционными HDL нет. За счёт этого сгенерированный код получается достаточно компактный и вполне себе человекочитаемый по сравнению с высокоуровневыми генерилками типа C-to-HDL.
Основной плюс myHDL — как раз тесты. Поскольку он работает в экосистеме python, тесты достаточно легко организуются и запускаются. Кроме того, можно подключить множество библиотек для проверки правильности работы HDL-модели: например, в обработке сигналов пригодится numpy. Ещё есть режим ко-симуляции в случае разработки тестов на MyHDL, а кода — на verilog/systemverilog.
Пример организации тестов на MyHDL в более-менее серьёзном проекте можно посмотреть здесь.
Я прочитал такую инструкцию на страницах рокетбоардс, но этот метод как-то не очень работает (совсем не работает). Для себя я понял, что единственно работающий метод — это вручную исправлять существующий пример DTS файла адаптируя его под свой аппаратный проект.
Рабочий метод, я использую. Позволяет автоматизировать получение dts с помощью makefile и не перепроверять их при изменении адресов периферии лишний раз. Специфичные настройки, вроде номеров прерываний, можно занести в существующий или новый xml-файлик. Надо учитывать, что порядок параметров "--board" важен, из-за этого может неправильно генерироваться dts. Ну и не хватает ещё двух параметров, надо вызывать так:
Но ведь после сортировки общие 990 длин отрезков вовсе не обязаны оказаться на тех же положениях в обоих дескрипторах, не так ли? Ведь между ними окажутся некоторые из оставшихся 235 отрезков.
Работал с LP8K, позволю себе немного дополнить статью.
В целом и ПЛИС, и набор инструментов порадовали своей минималистичностью. iCECube тоже использовал сначала, но затем перешёл на вызов скриптов сборки. Кстати, в комплекте с iCECube поставляется синтезатор Synplify, и его графическим интерфейсом (который вызывается как из iCECube, так и отдельно) довольно удобно пользоваться для анализа критических путей.
Из недостатков серии по сравнению с Altera хочу отметить отсутствие jtag и аналогов SignalTap, что несколько усложняет отладку на рабочей плате.
Для прошивки использовал FT232H, с его помощью можно прошить как загрузочную флешку (через flashrom), так и ПЛИС в режиме SPI Slave. Если кому надо, программку для прошивки в режиме SPI Slave через libftdi можно скачать здесь https://bitbucket.org/vasiliev/ice40_ftdi.
Information
Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Основной плюс myHDL — как раз тесты. Поскольку он работает в экосистеме python, тесты достаточно легко организуются и запускаются. Кроме того, можно подключить множество библиотек для проверки правильности работы HDL-модели: например, в обработке сигналов пригодится numpy. Ещё есть режим ко-симуляции в случае разработки тестов на MyHDL, а кода — на verilog/systemverilog.
Пример организации тестов на MyHDL в более-менее серьёзном проекте можно посмотреть здесь.
Рабочий метод, я использую. Позволяет автоматизировать получение dts с помощью makefile и не перепроверять их при изменении адресов периферии лишний раз. Специфичные настройки, вроде номеров прерываний, можно занести в существующий или новый xml-файлик. Надо учитывать, что порядок параметров "--board" важен, из-за этого может неправильно генерироваться dts. Ну и не хватает ещё двух параметров, надо вызывать так:
Но ведь после сортировки общие 990 длин отрезков вовсе не обязаны оказаться на тех же положениях в обоих дескрипторах, не так ли? Ведь между ними окажутся некоторые из оставшихся 235 отрезков.
В целом и ПЛИС, и набор инструментов порадовали своей минималистичностью. iCECube тоже использовал сначала, но затем перешёл на вызов скриптов сборки. Кстати, в комплекте с iCECube поставляется синтезатор Synplify, и его графическим интерфейсом (который вызывается как из iCECube, так и отдельно) довольно удобно пользоваться для анализа критических путей.
Из недостатков серии по сравнению с Altera хочу отметить отсутствие jtag и аналогов SignalTap, что несколько усложняет отладку на рабочей плате.
Для прошивки использовал FT232H, с его помощью можно прошить как загрузочную флешку (через flashrom), так и ПЛИС в режиме SPI Slave. Если кому надо, программку для прошивки в режиме SPI Slave через libftdi можно скачать здесь https://bitbucket.org/vasiliev/ice40_ftdi.