Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
HepoH3 committed Nov 7, 2023
1 parent 1fb51df commit 8b87042
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 15 deletions.
Binary file removed .pic/Labs/l4.png
Binary file not shown.
Binary file modified .pic/Labs/labs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
28 changes: 13 additions & 15 deletions Labs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@
- [ПИН, ПМ](#пин-пм)
- [ИВТ](#ивт)
- [Обзор лабораторных работ](#обзор-лабораторных-работ)
- [1. Сумматор. Verilog HDL (Adder)](#1-сумматор-verilog-hdl-adder)
- [1. Сумматор. SystemVerilog (Adder)](#1-сумматор-systemverilog-adder)
- [2. Арифметико-логическое устройство (ALU)](#2-арифметико-логическое-устройство-alu)
- [3. Регистровый файл и память (RF)](#3-регистровый-файл-и-память-rf)
- [3. Регистровый файл и внешняя память (RF)](#3-регистровый-файл-и-внешняя-память-rf)
- [4. Простейшее программируемое устройство (PPD)](#4-простейшее-программируемое-устройство-ppd)
- [5. Основной дешифратор команд (MD)](#5-основной-дешифратор-команд-md)
- [6. Тракт данных (DP)](#6-тракт-данных-dp)
Expand Down Expand Up @@ -77,21 +77,21 @@

![../.pic/Labs/labs.png](../.pic/Labs/labs.png)

Курс *Архитектур процессорных систем* включает в себя цикл из 13 лабораторных работ (10 основных + 3 вспомогательных), в течение которых используя язык описания аппаратуры **Verilog HDL** на основе **FPGA** (ПЛИС, программируемая логическая интегральная схема), с нуля, последовательно, создается система, под управлением процессора с архитектурой **RISC-V**, управляющего периферийными устройствами и программируемого на языке высокого уровня **C++**.
Курс *Архитектур процессорных систем* включает в себя цикл из 13 лабораторных работ (10 основных + 3 вспомогательных), в течение которых используя язык описания аппаратуры **SystemVerilog** на основе **FPGA** (ПЛИС, программируемая логическая интегральная схема), с нуля, последовательно, создается система, под управлением процессора с архитектурой **RISC-V**, управляющего периферийными устройствами и программируемого на языке высокого уровня **C++**.

Создаваемая система на ПЛИС состоит из: процессора, памяти, контроллера прерываний и контроллеров периферийных устройств.

![../.pic/Labs/ldone.png](../.pic/Labs/ldone.png)

Выполнение лабораторных работ это последовательный процесс в результате которого будет освоен ряд различных инструментов и средств. В общих словах это:

**Verilog HDL** - язык описания аппаратуры, благодаря которому схемы не рисуются, а описываются с помощью текста (кода).
**SystemVerilog** - язык описания аппаратуры, благодаря которому схемы не рисуются, а описываются с помощью текста (кода).

**Testbench** - тестовые окружения, которые представляют собой несинтезируемые (то есть не существующие в реальном физическом мире) блоки, созданные на языке Verilog HDL для автоматического тестирования разрабатываемых устройств и проверки их корректной работоспособности.
**Testbench** - тестовые окружения, которые представляют собой несинтезируемые (то есть не существующие в реальном физическом мире) блоки, созданные на языке SystemVerilog для автоматического тестирования разрабатываемых устройств и проверки их корректной работоспособности.

**FPGA** - программируемая логическая интегральная схема (ПЛИС), изменяя внутреннюю конфигурацию которой можно создать любые цифровые устройства (в рамках предоставляемых ресурсов).

**Vivado** - система автоматизированного проектирования, которая превращает Verilog-код в конфигурацию и прошивает ей ПЛИС на отладочной плате.
**Vivado** - система автоматизированного проектирования, которая превращает SystemVerilog-код в конфигурацию и прошивает ей ПЛИС на отладочной плате.

**Архитектура RISC-V** - открытая и свободная система команд и процессорная архитектура на основе концепции RISC для микропроцессоров и микроконтроллеров.

Expand All @@ -101,32 +101,30 @@

Далее приводится краткое описание и цель каждой отдельной лабораторной работы.

## 1. Сумматор. Verilog HDL (Adder)
## 1. Сумматор. SystemVerilog (Adder)

![../.pic/Labs/l1.png](../.pic/Labs/l1.png)
На первой лабораторной работе изучаются базовые конструкции языка описания аппаратуры Verilog HDL, с помощью которого разрабатывается цифровой сумматор из примитивных логических вентилей, который, в последствии, конфигурируется в ПЛИС и его работа проверяется на отладочном стенде.
На первой лабораторной работе изучаются базовые конструкции языка описания аппаратуры SystemVerilog, с помощью которого разрабатывается цифровой сумматор из примитивных логических вентилей, который, в последствии, конфигурируется в ПЛИС и его работа проверяется на отладочном стенде.

## 2. Арифметико-логическое устройство (ALU)

![../.pic/Labs/l2.png](../.pic/Labs/l2.png)
На второй лабораторной изучаются новые конструкции языка Verilog HDL, на основе которых разрабатывается блок арифметико-логического устройства (АЛУ). АЛУ - это устройство, на входы которого подаются операнды, над которыми нужно выполнить некоторую операцию (сложение, вычитание и тому подобное) и код операции, которую нужно выполнить, а на выходе появляется результат этой операции. Проще говоря АЛУ - это "калькулятор" процессора.
На второй лабораторной изучаются новые конструкции языка SystemVerilog, на основе которых разрабатывается блок арифметико-логического устройства (АЛУ). АЛУ это устройство, на входы которого подаются операнды, над которыми нужно выполнить некоторую операцию (сложение, вычитание и тому подобное) и код операции, которую нужно выполнить, а на выходе появляется результат этой операции. Проще говоря АЛУ - это "калькулятор" процессора.

Для проверки правильной работоспособности АЛУ в конце лабораторной работы, на языке Verilog HDL, пишется testbench (тестовое окружение), которое автоматически проверяет корректность его реализации.

## 3. Регистровый файл и память (RF)
## 3. Регистровый файл и внешняя память (RF)

![../.pic/Labs/l3.png](../.pic/Labs/l3.png)
На третьей лабораторной разрабатываются элементы памяти для будущего процессора: память команд, память данных и регистровый файл. В памяти команд будет храниться программа, которую будет выполнять процессор. В памяти данных хранятся данные, которые будут обрабатываться процессором. Регистровый файл - это маленькая память, тоже с данными, которые могут быть поданы непосредственно на АЛУ. Особенность RISC-архитектур в том, что данные перед обработкой необходимо перенести из памяти данных в регистровый файл, только после этого к ним можно применять различные операции.
На третьей лабораторной разрабатываются элементы памяти для будущего процессора: память команд, память данных и регистровый файл. В памяти команд будет храниться программа, которую будет выполнять процессор. В памяти данных хранятся данные, которые будут обрабатываться процессором. Регистровый файл это маленькая память, тоже с данными, которые могут быть поданы непосредственно на АЛУ. Особенность RISC-архитектур в том, что данные перед обработкой необходимо перенести из памяти данных в регистровый файл, только после этого к ним можно применять различные операции.

## 4. Простейшее программируемое устройство (PPD)

![../.pic/Labs/l4.png](../.pic/Labs/l4.png)
![../.pic/Labs/lab_04_cybercobra/ppd_6.drawio.png](../.pic/Labs/lab_04_cybercobra/ppd_6.drawio.png)
Эта работа – небольшое отступление от реализации процессора с архитектурой RISC-V и нужна для более глубокого понимания принципов работы и организации программируемых устройств. В рамках четвертой лабораторной работы из реализованных блоков собирается примитивное программируемое устройство, для которого пишется программа в машинных кодах.

## 5. Основной дешифратор команд (MD)

![../.pic/Labs/l5.png](../.pic/Labs/l5.png)
Пятая лабораторная посвящена разработке устройства управления – основному дешифратору команд. Функция основного дешифратора - получать на вход коды выполняемых операций и преобразовывать их в управляющие сигналы для всех блоков процессора (АЛУ, память, регистровый файл, мультиплексоры). Работа требует внимательности в реализации, а ее результат проверяется заранее подготовленными автоматическими тестами.
Пятая лабораторная посвящена разработке устройства управления – основному дешифратору команд. Функция основного дешифратора получать на вход коды выполняемых операций и преобразовывать их в управляющие сигналы для всех блоков процессора (АЛУ, память, регистровый файл, мультиплексоры). Работа требует внимательности в реализации, а ее результат проверяется заранее подготовленными автоматическими тестами.

## 6. Тракт данных (DP)

Expand Down

0 comments on commit 8b87042

Please sign in to comment.