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

Спец курс (Верификация цифровых схем)/Практические задания 3 — различия между версиями

Материал из Wiki
Перейти к: навигация, поиск
(Как выбрать варинат)
(Создание интерфейса)
Строка 1: Строка 1:
 
{{ВЦС_TOC}}
 
{{ВЦС_TOC}}
 
== Создание интерфейса ==
 
== Создание интерфейса ==
1. Объявить интерфейс который содержит тактовый сигнал clk, сигнал сброса rst, и сигнал test.
+
# Объявить интерфейс который содержит тактовый сигнал clk, сигнал сброса rst, и сигнал test.
2. Создать модуль и в нем инстанциировать интерфейс
+
# Создать модуль и в нем инстанциировать интерфейс
3. Объявить переменную типа reg по имени  clk_i, rst_i.
+
# Объявить переменную типа reg по имени  clk_i, rst_i.
4. В initial блоке создать генератор тактового сигнала и сброса используя переменные clk_i,rst_i;
+
# В initial блоке создать генератор тактового сигнала и сброса используя переменные clk_i,rst_i;
5. Подключить сигналы clk_i, rst_i к интерфейсу.
+
# Подключить сигналы clk_i, rst_i к интерфейсу.
 +
 
 
== Создание класса конвертации транзакции в воздействия на  проводном интерфейсе==
 
== Создание класса конвертации транзакции в воздействия на  проводном интерфейсе==
 
1. Создать класс с названием driver_t.
 
1. Создать класс с названием driver_t.

Версия 18:01, 30 октября 2018

Лекции ВЦС

Лекции

Практические задания
Тесты

Табель успеваемости

Экзамен

Доп. материалы

Содержание

Создание интерфейса

  1. Объявить интерфейс который содержит тактовый сигнал clk, сигнал сброса rst, и сигнал test.
  2. Создать модуль и в нем инстанциировать интерфейс
  3. Объявить переменную типа reg по имени clk_i, rst_i.
  4. В initial блоке создать генератор тактового сигнала и сброса используя переменные clk_i,rst_i;
  5. Подключить сигналы clk_i, rst_i к интерфейсу.

Создание класса конвертации транзакции в воздействия на проводном интерфейсе

1. Создать класс с названием driver_t. 2. В классе объявить переменную типа virtual interface. 3. Объявить event get_next_item_e; 4. Реализовать task run_phase в этом классе.(должен содержать бесконечный цикл, который ожидает события get_next_item_e). После получения события класс должен ожидать события posedge на сигнале clk(на интерфейсе), после брать значения из объекта транзакции и печатать их в консоль.

Запуск конвертации

5. Создать объект в модуле, объявленом в предыдущем задании. 6. Передать указатель на интерфейс в обьект driver 7. Запустить task run_phase 8. Создать в модуле класс транзакции из лаб2, передать указатель на транзакцию в класс driver. 9. Вызвать триггер для события get_next_item_e. 10. Повторить генерацию транзакций 10 раз со случайным интервалом от 1 до 10 us.

Как выбрать вариант

Bombilla amarilla - yellow Edison lamp.pngДля задания 1 варианты выбираются согласно табелю успеваемости.

Например: если вариант 3.2 - это значит что необходимо разработать транзакцию SPI без использования UVM макросов.

Спецификации

  1. APB
  2. UART
  3. SPI

Задание

  1. По спецификации интерфейса (*) блока разработать транзакцию, позволяющую описать все доступные операции на заданном интерфейсе:
    1. с использованием UVM макросов.
    2. без использования UVM макросов.
  2. Создать пакет, реализующий весь функционал агента (сиквенсер, драйвер, монитор) из существующих файлов описания всех составных блоков и скомпилировать его. (Использовать файлы из проекта https://www.edaplayground.com/x/3ru7)
  3. Реализовать объект конфигурации агента, который содержит методы настройки в три режима: по умолчанию активный ведущий, пассивный, активный ведомый режимы

Дополнительно

  1. Реализовать фазу сброса в драйвере
  2. Реализовать фазу, предшествующую фазе сброса
  3. Подменить драйвер в агенте, из окружения в фазе создания компонент
  4. Создать домен фазы выполнения для агента и подключить агент к этому домену

Спецификация APB интерфейса

  • IHI0024C_amba_apb_protocol_spec.pdf

Спецификация UART интерфейса

Спецификация SPI интерфейса