Журнал Эмбеддед-Инженера

Работа с IP-XACT на примере Kactus2 в CentOS7

IEEE1685

Сборка и установка

Устанавливаем зависимости:

sudo yum install -y  qt-devel qt5-qttools-devel qt5-qhelpgenerator

Скачиваем и собираем:

$ wget https://netcologne.dl.sourceforge.net/project/kactus2/kactus2-3.4.0.tar.gz
$ tar xzf kactus2-3.4.0.tar.gz
$ cd kactus2-3.4.0
$ ./configure
Configuring Kactus2...

Generating compressed help files...
./configure: line 21: qhelpgenerator: command not found
./configure: line 22: qcollectiongenerator: command not found
Qmake not found. Please set variable QTBIN_PATH to Qt binary files.


 

Долго не мог понять в чём же дело, прописал все переменные:

export QTDIR=/usr/lib64/qt5
export QTINC=/usr/lib64/qt5/include
export QTLIB=/usr/lib64/qt5/lib
export QTBIN_PATH=/usr/lib64/qt5/bin

Однако по-прежнему не собиралось с тем же анамнезом, дело оказалось в том, что configure — простой баш-скрипт и там надо (для CentOS7) прописать вместо QTBIN_PATH=»» →  QTBIN_PATH=»/usr/lib64/qt5/bin/» (последний слэш обязателен!). Теперь собираем еще раз:

./configure
make
sudo make install
sudo ldconfig

Запускаем из CLI:

Kactus2

либо из меню Applications → Programming:  

 

Использование

Основное использование Kactus2 мной — это набивка такой вот регистровой карты в xml:

CAN FD bus IP-core CSR-map description

 

Ниже некоторые рецепты и гайдлайны по заполнению регистровой карты согласно IEEE1685:

Для заполнения регистров полезно использовать следующие поля:

Note:   даже если у регистра всего одно поле — оно должно быть заведено как поле

Для заполнения полей регистров полезно использовать следующие ключи:

! — выделенное надо очень аккуратно и тщательно переносить из программной модели, в будущем это упростит и автогенерацию RTL и верификацию (по факту для полей описаны готовые ассершены).

В следующих частях опишу какой инструментарий я применяю для получения различных описаний из подготовленного таким способом xml согласно стандарта «IEEE-1685: Standard for IP-XACT, Standard Structure for Packaging, Integrating and Re-Using IP Within Tool-Flows».

Ссылки

 

PS: если заметка помогла Вам, поделитесь ей с друзьями или коллегами: