Перейти к содержанию
    

Коллеги, добрый день.

 

Есть предложение обсудить относительно новую иннициативу IEEE 1685.

 

Предпосылки ее понятны: каждый из вас наверняка делал в том или ином виде свой замечательный генератор блока интерфейсных регистров для модуля либо из форматированного текстового описания, либо из описания в виде электронной таблицы. Или как минимум пользовался таковым. Многие наверняка останавливали работу по созданию такого конвертера на полпути, ограничиваясь только генератором блока регистров для включения в RTL описание и генератором интерфейсных структур для программистов. В итоге при добавлении или изменении регистра и/или поля приходится дополнительно делать еще 2 механические операции

- править документацию

- править testbench для шинного интерфейся.

 

Стандарт призван унифицировать "исходное" описание использованием XML, и все вышеописанные производные создавать автоматизированными стредствами.

 

Сама идея более-менее понятна. Вопросы в инструментарии.

 

Какие front-end редакторы уже поддерживают ip-xact?

Какие backend утилиты есть? Каковы их возможности?

Есть ли какая-то поддерка в симуляторах (например автоматическое создание раскладки для waveform viewer)?

Кроме проверки синтаксиса и XML-схемы, нужны ли еще проверки ip-xact описания? кто их делает?

 

Любые конструктивные замечания интересны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я пытался как-то в Synplify сконфигурировать IP-XACT ядро (кажется, USB HS контроллера), но не получилось. Не смог/не понял/не разобрался... Но synplify точно имеет средства для подключения IP-XACT ядер в проекты (Import IP..., System Designer)

 

Также имеются coreBuilder / coreConsultant у Synopsys для генерации ip-xact описаний для ядра, и конфигурации ip-xact совместимого ядра, на сколько я себе представляю, это наиболее полная оболочка для работы с такими ядрами.

 

Ну а симулятор... А симулятору об ip-xact знать ничего не надо, для него генераторы-конфигураторы ядер все подготавливают, что надо (как и для синтеза).

 

В общем, покрутил я в руках эту игрушку, и плюнул... А для писателей и поставщиков IP-ядер, наверное, актуально, унификация системы конфигурирования параметров ядер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

хотелось бы конечно послушать мнение "внедренцев" - подводные камни и вообще выстроение всего flow....

 

к тому же Kaсtus2 есть нарекания:

кто как описывает RESERVED-поля регистров??

их надо бы описывать (некоторых по сбросу ххх,а некоторые 000 - это хотят проверять верификаторы)

Kaсtus2 не поддерживает (или не разобрались как включить из коробки) такой тип поля как reserved, который как раз и предназначен для заполнения пустот между значащими полями регистров.

поэтому как использовать без этого функционала Kaсtus2 - это надо какие-то костыли городить, которые не факт, что другие тулы для IP-XACT поймут :-/

 

А Так, конечно, версия стандарта от 2014г радует такими типами полей как ReadAction, ModifiedWriteValue, EnumeratedValues

Стандарт стал более продуманный и инженер-фриндли.

 

PS: Есть еще тула от индусов на джаве - DesignPlayer http://www.edautils.com/ip-xact.html (cli + gui, запускается в редхате), бесплатная, но требует получения лицензии по hostid

по описанию тул производит впечатление на порядок более чем достойного продукта, чем Kaсtus2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

нет в жизни счастья... для честного инженера при пользовании бесплатными тулами:

 

DesignPlayer оказался редскостным г....: тормозящей прогой на джаве (которая даже в CLI запускается по 30секунд) и поддержкой стандарта только 2009г:

$ ipxactinterface2svinterface -in  CANFD.1.xml -out canfd.sv
ipxactinterface2svinterface: Note: 59000: Running with option:  -in CANFD.1.xml -out canfd.sv 
ipxactinterface2svinterface: Warning: 56633: Ensure that the input file is indeed IP-XACT 1685-2009 Abstraction Definition : CANFD.1.xml
ipxactinterface2svinterface: Fatal Error: 51880: Only IEEE 1685-2009 compliant IP-XACT file is supported, make sure the input IP-XACT comply to this.
ipxactinterface2svinterface: Fatal Error: 51888: Internal compiler error SIGNAL number 1101, contact [email protected] preferably with a small testcase, or 
        downloand and try with the latest release ... 
ipxactinterface2svinterface: Note: 51921: Found 2 error(s) and 1 warning(s) ...

 

$ ipxactreg2xlsreg -in CANFD.1.xml  -out CANFD.xls
ipxactreg2xlsreg: Fatal Error: 51880: Only IEEE 1685-2009 compliant IP-XACT file is supported, make sure the input IP-XACT comply to this.
ipxactreg2xlsreg: Fatal Error: 51888: Internal compiler error SIGNAL number 1101, contact [email protected] preferably with a small testcase, or downloand and try with the latest release ... 
ipxactreg2xlsreg: Error: 53912: Failed to read IP-XACT Register Definition File : CANFD.1.xml
ipxactreg2xlsreg: Note: 51921: Found 3 error(s) and 0 warning(s) ...

 

Kaсtus2 - вполне бодро можно использовать для быстрой набивки XML, но не более того. Помимо RESERVED отсутствует поддержка атрибута modify для ReadAction, ModifiedWriteValue

 

-----------------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------------

 

проблемы/вопросы:

 

1. Возникли споры по назначению некоторых элементов IP-XACT при описании регистров и полей:

Name - сокр.обозначение поля/регистра (для RTL)
DisplayName - полное название поля/регистра
Description - описание (для документации или коментариев) назначения поля/регистра

или трактовать так:

Name - сокр.обозначение поля/регистра (для RTL)
DisplayName - n/a
Description - полное название поля/регистра

?

 

2. Из-за отсутствия поддержки/примеров использования атрибута modify для ReadAction, ModifiedWriteValue непонятно какие значения может принимать атрибут.

согласно xsd файлу у него тип xs:Name, а не string - это как-то влияет/ограничивает возможные значения?

 

3. uvm & IP-XACT скачиваются с Accelera, но между собой не соотносятся от слова никак - разные подходы для описания режимов доступа к битовым полям и регистрам

* у IP-XACT задаются аж в трёх местах: Access, ReadAction, ModifiedWriteValue

* у uvm единый атрибут access, который может включать аж 26 различных значений.

-> нужен маппинг IP-XACT -> UVM

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Kactus2 активно развивается (последняя версия от 2017-03-22), может там уже добавили RESERVED и пр?

Ну и в крайнем случае его можно допилить - сорцы доступны :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

собирал из исходников под RHEL 17марта. Пишет версия: kactus2 3.3.0

судя по релиз-ноутс https://kactus2.cs.tut.fi/news/10 ничего революционного не добавлено, большая часть направлена на юзабилити gui

насколько я понял в декабре разработку перенесли на https://github.com/kactus2/kactus2dev

но там открыть фич-реквест не могу - похоже проект запртил эту функциональность в настройках аккаунта на гитхабе

 

 

ЗЫЖ Если какую свою кастомную генерилку к IP-XACT прикручивать - то по идее RESERVED-биты можно самому заполнять (для документации например),

сейчас это скорее требовние верификаторов - чтобы они были указаны явно и прописаны значения по сбросу.

 

Kactus2 активно развивается (последняя версия от 2017-03-22), может там уже добавили RESERVED и пр?

Ну и в крайнем случае его можно допилить - сорцы доступны :rolleyes:

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...