Спец курс (Верификация цифровых схем)/Практические задания 2
Материал из Wiki
Лекции ВЦС
Лекции
Практические задания
|
Тесты
Табель успеваемости
Экзамен
Доп. материалы
1. Записать ограничения на рандомизацию параметров транзакции в соответствии с требованиями спецификации.
- Вариант 1. Спецификация 1
- Транзакция содержит поля data, addr, strob, mode
- Ширина данных 32 бита (data)
- Ширина адреса 32 бита (addr)
- Для поля Addr используется побайтовая адресация
- Ширина строба 4 бита (strob), каждый строб отвечает за один байт в data
- Поле mode имеет четыре значения Чтение, Запись, Ожидание, Ошибка (кодирование выбрать самостоятельно)
- Поле strob имеет только непрерывное заполнение единицами, т.е. значения 0000, 1010, 1101 и др. недопустимы
- Поле data принимает значения 0101….01 и 1010….10 с вероятностью 10% каждое, выпадение остальных значений равновероятно
- Поле addr меньше переменной max_addr и больше min_addr
- В режиме чтения адрес должен быть выровнен на 2
- Если значение поля mode равно Запись, то addr выравнен на 4
- Вариант 2. Спецификация 2
- Транзакция содержит поля data, addr, strob, mode, status
- Ширина данных 128 бита (data)
- Ширина адреса 32 бита (addr)
- Ширина строба (strob) равна числу байт в шине данных
- Поле mode имеет четыре значения Чтение, Запись, Ожидание, Ошибка
- Поле strob имеет только непрерывное заполнение единицами, т.е. значения 0000, 1010, 1101 и др. недопустимы
- Поле data принимает значения 0101….01 и 1010….10 с вероятностью 10%
- Поле data принимает максимальное и минимальное значения с вероятностью 1%
- Поле addr меньше переменной max_user_addr и меньше максимально возможного MAX_BUS_ADDR
addr должен иметь значения адресующие только по 8 байт, если значение поля mode равно Чтение
- Заполнение 1 поля strob должно начинаться с бита, номер которого равен значению младших 3-разрядов адреса.
- Поле статус всегда равно OK, если mode равен Запись, иначе UNDEF
- Вариант 3. Спецификация 3
- Транзакция содержит поля data, addr, strob, mode, status, delay_en, write_delay, read_delay
- Ширина данных 64 бита (data)
- Ширина адреса 32 бита(addr)
- Ширина строба (strob) равна числу байт в шине данных
- Поле mode имеет четыре значения Чтение, Запись, Ожидание, Ошибка
- Поле strob имеет только непрерывное заполнение единицами
- Поле data принимает значения 0101….01 и 1010….10 с вероятностью 5%
- Поле data принимает максимальное и минимальное значения с вероятностью 1%
- Поля с именем *delay принимают целые значения большие или равные 0
- Если значение поля delay_en равно 0, то переменные write_delay, read_dealy равны 0.
- Значение поля write_delay меньше 10, если dealy_en равен 1
- Значение поля read_delay меньше 200, если dealy_en равен 1
- Вариант 4. Спецификация 4
- Транзакция содержит поля data, addr, strob, mode
- Ширина данных 64 бита, поле data - очередь из N данных
- Ширина адреса 32 бита, поле addr - очередь из N адресов
- Ширина строба равна числу байт в шине данных, strob - очередь из N стробов
- Число элементов в очередях адреса, данных и стробов должно совпадать и должно быть не более 16.
- Поле mode имеет два значения Чтение, Запись
- Поле strob имеет только непрерывное заполнение единицами, с учетом очереди слов (т.е. Множество единиц в словах составленных друг за другом не должны перемешиваться 0, другими словами все стробы со 2-го и до предпоследнего всегда равны всем 1, если 1-й и последний стробы больше 0)
- Поле data принимает значения 0101….01 и 1010….10 с вероятностью 25%
- Поле data принимает максимальное и минимальное значения с вероятностью 6%
2. Задать группу покрытия для сбора функционального покрытия в соответствии с требованиями плана верификации (В конце моделирования вывести процент покрытия ковер-группы).
- Вариант 1. Группа покрытия должна покрывать множество тестов представленных массивом строк.
- Вариант 2. Группа покрытия должна содержать точку покрытия, в которой покрываются последовательности событий: Проверить что было чтение по адресу 0,1,2,3,4,F после записи по этим же адресам, по-очереди по каждому адресу. Проверить, что во время команды чтения был произведен сброс, затем команда чтения, затем снова сброс.
- Вариант 3. Сделать ковер-группу, которая проверяет, что все размеры очереди в режиме чтения и записи транзакции из Спецификации 4 были проверены в тесте.