Skip to content

yuri-panchul/systemverilog-homework

Repository files navigation

Сборник задач на SystemVerilog для Школы Синтеза Цифровых Схем

Ни дня без строчки на Верилоге

Сборник задач увеличивающейся сложности

Юрий Панчул, 2021-2023

Ссылки

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

Задачи можно решать с любым симулятором верилога, который поддерживает SystemVerilog. А также c бесплатным симулятором Icarus Verilog, который хотя и не поддерживает весь SystemVerilog, но поддерживает Verilog 2005 с некоторыми элементами SystemVerilog, достаточных для решения наших задач. Icarus Verilog что используют с GTKWave, программой для работы с временными диаграммами. Для первых десяти задач GTKWave нам не понадобится, но его стоит установить вместе с Icarus Verilog на будущее.

Установка на Linux

Под Ubuntu и Simply Linux можно установить Icarus Verilog и GTKWave с помощью команды:

sudo apt-get install verilog gtkwave


Замечание:

Если у вас старая версия дистрибутива Linux (Ubuntu), то при установке Icarus Verilog вы получите старую версию, которая не поддерживает always_comb, always_ff и многие другие конструкции SystemVerilog. Как решить эту проблему:

  1. Проверка версии iverilog

    iverilog -v

    Если версия iverilog меньше 11, переходим к пункту 2.

  2. Установка предварительных пакетов

    sudo apt-get install build-essential bison flex gperf readline-common libncurses5-dev nmon autoconf
  3. Скачивание последней версии iverilog

    На сегодняшний момент (12.10.2023) последняя версия iverilog: 12.0 Переходим по ссылке и скачиваем архив.

  4. Сборка iverilog

    • Распакуйте архив:

      tar -xzf verilog-12.0.tar.gz
    • Войдите в разархивированную папку:

      cd verilog-12.0
    • Сконфигурируйте iverilog:

      ./configure --prefix=/usr
    • Протестируйте сборку Icarus

      make check

      В результате, в терминале появится несколько надписей Hello, world!

    • Установите Icarus

      sudo make install

Установка на Windows

Версию Icarus Verilog для Windows можно загрузить с данного сайта

Видео инструкция по установке Icarus Verilog на Windows

Установка на Apple Mac

Icarus можно поставить даже на Apple Mac, что необычно для EDA инструментация (EDA - Electronic Design Automation). Это можно сделать в консоли с помощью программы brew:

brew install icarus-verilog

Видео инструкция по установке Icarus Verilog на MacOS

Выполнение и проверка заданий

Для проверки задач под Linux и MacOS, необходимо открыть консоль в папке с заданиями и запустить скрипт ./run_all_using_iverilog_under_linux_or_macos_brew.sh. Он создаст файл log.txt с результатами компиляции и симуляции всех задач набора.

Для проверки задач под Windows необходимо открыть консоль в папке с заданиями и запустить пакетный файл run_all_using_iverilog_under_windows.bat. Он так же создаст файл log.txt с результатами проверки.

После того, как тест для всех задачек покажет PASS, вы можете передать его на проверку преподавателю.

Рекомендуемая литература, которая поможет в решении задач

  1. Харрис Д.М., Харрис С.Л., «Цифровая схемотехника и архитектура компьютера: RISC-V». К ней есть версия для планшета для предыдущего издания (на основе архитектуры MIPS), а к той есть более короткие слайды для лекций.

  2. Романов А.Ю., Панчул Ю.В. и коллектив авторов. «Цифровой синтез. Практический курс»