FPGA > САПР > Тестирование и верификация цифровых систем: Курс лабораторных работ

ЛР3 > Зчитування / запис даних більших за 32 біт

Тема: Застосування PLI структури t_vpi_value для зчитування та запису даних, що більші за 32 біти

1. Теоретичні відомості

VPI використовує структуру ‘t_vpi_value’ для передачі даних з / в симулятор.

Рис. 1 Структура t_vpi_value для передачі даних

Для передачі даних, більших за 32-біт в структурі t_vpi_value передбачено поле ‘value.vector’. Поле value.vector використовується, коли значення поля ‘format’ дорівнює ‘vpiVectorVal’. Це вказівник на заздалегідь виділену пам’ять з структурами ‘t_vpi_vecval’.

Рис. 2 Структура ‘t_vpi_vecval’, що використовується в ‘t_vpi_value’ для передачі даних більших за 32 біт

Рис. 3 Поля aval \ bval структури ‘t_vpi_vecval’ для передачі даних більших за 32 біт

2. Порядок виконання роботи

1. Створіть файл test_wide.v та введіть код модуля (рис. 3). Зверніть на розмір регістрів opA, opB.

Рис. 4 Код модуля test_wide.v

2. Створіть файл cosim_wide.c, де визначте користувацьку calltf функцію:

Рис. 5 Розробка користувацької функції calltf

3. Визначте користувацьку compiletf функцію:

Рис. 6 Розробка користувацької compiletf функції

4. Виконайте компіляцію, створіть динамічну бібліотеку, яка буде підключена до симулятора ModelSim під час симуляції та виконайте симуляцію в ModelSim.

3. Самостійна робота

Модифікуйте демонстраційний приклад та створіть додаток PLI, який виконує арифметичні операції (наприклад, розрахунок ХЕШ-функції або кодування) із даними більшими за 32 біт.

Автор: Александр Романов


Комментарии: