«Случай — это псевдоним Бога, когда Он не хочет подписываться своим собственным именем.» А. Франс

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

Материал из Wiki
Перейти к: навигация, поиск
Лекции ВЦС

Лекции

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

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

Экзамен

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

Правила оформления

  1. Задания выполнять в одном файле с названием  : vds_lab1__<firstname_lastname>.v
  2. Для каждого задания должен быть реализован отдельный модуль  : module task__<number> ();
  3. Для запуска каждого отдельного модуля использовать параметр симулятора : -top <top_module_name>
  4. Файл с лабораторной должен содержать заголовок в виде комментария  : //// -> Фамилия Имя Отчество
  5. Перед выводом результатов выполнения всегда добавлять сообщение вида  : START_TASK__<number>
  6. После того как работа модуля завершилась выводить сообщение вида  : END_TASK__<number>
  7. СМ. доп правила оформления для каждого задания отдельно

Задания

  1. Вывести в консоль значения литералов в десятичном, двоичном, шестнадцатиричном и строковом форматах.
    • Вывод литералов осуществлять в порядке указанном в задании, каждый вывод в отдельной строке, в каждой строке вывода должны быть сообщения об выводимом формате:
      HEX: x01,
      DEC: 'd98 ....
  2. Создать тип данных структура, содержащую 4 различных поля. Поля должны иметь тип целочисленный, строковый, бит-вектор. Создать две переменные полученного типа. Проинвертировать все битовые поля в первой переменной. Значение всех полей первой и второй переменных типа структуры вывести в консоль.
    1. Перед выводом первой переменной добавить сообщение вида VAR1FIELD1: VAR1FIELD2: ......
    2. Перед выводом второй переменной добавить сообщение вида VAR2FIELD1: VAR2FIELD2: ......
  3. Объявить и заполнить строковую переменную. Вывести на экран первый и последний элемент строки. Длинна строки должна быть больше 10 символов.
    • Формат вывода:
      String = "<your string>"
      First symbol = '*'
      Last symbol = '*'
  4. Объявить строковую переменную mystr. По умолчанию переменная должна быть инициализирована строкой содержащей больше 30 символов. Заполнить строку используя функцию $value$plusargs("MYSTR=%s",mystr) Строка может содержать любое количество символов пробела, разделяющие строку на слова, слов более одного. Создать массив строковых переменных и заполнить их словами из исходной переменной. Размер строки может изменяться в ходе проверки задания и передаваться через +MYSTR параметр. В конце и начале строки могут быть доп пробелы. Слова могут быть разделены множеством пробелов.
    1. В консоль вывести содержимое строки в формате: MYSTR=<строка>
    2. В консоль вывести содержимое массива, MYSTR[1]=<строка> MYSTR[2]=<строка> ....
  5. Создать 2-х мерный массив целочисленных переменных размера 10 на 10, заполнить случайными значениями в диапазоне от 2 до 23 и после отсортировать элементы в порядке возрастания в каждой строке массива.
    1. Вывести исходный массив в консоль каждый элемент занимает 2 позиции EX:
       А1:
      

2 3 4 21 20 17 12 12 1 12 3 4 12 16 17 22 22 23 ... ... 2 3 4 2 6 7 2 2 3

    1. Вывести сортированный массив в консоль каждый элемент занимает 2 позиции EX:
        А2:
      

1 2 3 4 12 12 17 20 21 ... ... 2 2 2 2 3 3 4 6 7