Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Лабораторная работа 4

Цель работы

Цель этой работы — освоить принципы представления отрицательных и положительных чисел в прямом коде, исследовать особенности арифметических операций в этом формате


Задание

Необходимо разработать на языке SystemVerilog комбинационный сумматор для выполнения сложения таких чисел с учётом знака, модуля, переполнения и нормализации нулевого результата.

Предметная постановка

Разрядность сумматора должна быть задана параметром SIZE. Заданы два входа слагаемых [SIZE-1:0]a и [SIZE-1:0]b, выходы суммы [SIZE-1:0]s и переполнения overflow. Представление всех чисел - sign-magnitude, см., например, https://en.wikipedia.org/w/index.php?title=Signed_number_representations#Sign%E2%80%93magnitude В представлении суммы должен выдаваться в нормализованной форме: только +0.


Порядок выполнения

Предполагается, что студенты в достаточной мере знакомы с языком SystemVerilog и средой Vivado. Можно использовать все известные вам средства языка, как структурное, так и поведенческое описание схемы. Разумеется, можно и нужно задавать вопросы языковым моделям и преподавателю.


Тестбенч обязателен

Для проверки корректности работы создайте тестбенч. Он должен содержать набор тестовых векторов, охватывающий сложение чисел одинакового и разного знака, получение нулевого результата, нормализацию нуля к +0, а также случай переполнения. Для каждого теста должны проверяться выходной код результата и флаг переполнения, с выводом диагностического сообщения при несовпадении ожидаемого и фактического значений. Если студент предпочитает wave diagrams в окне симулятора печати $display в консоли, так тоже можно. Хотя это методически менее правильно.


Что сдается

Что сдаётся: репозиторий GitHub Classroom, содержащий синтезированный и верифицированный проект.


Критерии выполнения лабораторной работы

Лабораторная работа считается выполненной, если:

  • результат принимает корректные значения для всех комбинаций входов;
  • проект синтезируется без ошибок;
  • студент может устно объяснить ход решения.
  • студент может исследовать свойства синтезированной схемы и общими словами охарактеризовать ее структуру.

About

Sign-magnitude numbers adder

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages