Skip to content

Commit

Permalink
ЛР2. Обновление порядка выполнения задания
Browse files Browse the repository at this point in the history
  • Loading branch information
HepoH3 committed Oct 14, 2024
1 parent f47397b commit 0a8a21c
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions Labs/02. Arithmetic-logic unit/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -294,6 +294,9 @@ _Рисунок 4. Пример схемы, реализующей АЛУ._
### Порядок выполнения задания

1. Добавьте в `Design Sources` проекта файл [`alu_opcodes_pkg.sv`](alu_opcodes_pkg.sv). Этот файл содержит объявление пакета `alu_opcodes_pkg`, в котором прописаны все опкоды АЛУ.
1. Поскольку данный файл не содержит описания модулей, он не отобразится во вкладке `Hierarchy` окна `Sources` Vivado (исключением может быть ситуация, когда в проекте вообще нет ни одного модуля). Добавленный файл можно будет найти во вкладках `Libraries` и `Compile Order`.
2. Обратите внимание, что имена параметров кодов операций АЛУ, объявленных в добавляемом пакете имеют префикс `ALU_`, которого не было в _таблицах 1 и 2_.
3. В случае, если вы добавили пакет в проект и импортировали его в модуле АЛУ, однако Vivado выдает ошибку о том, что используемые параметры не объявлены, попробуйте сперва исправить все остальные синтаксические ошибки и сохранить файл. Если и это не помогло, можно перейти на вкладку `Compile Order`, нажать правой кнопкой мыши по файлу `alu_opcodes_pkg.sv` и выбрать `Move to Top`. Таким образом, мы сообщаем Vivado, что при компиляции проекта, этот файл всегда необходимо собирать в первую очередь. Это вариант "последней надежды" и должен использоваться только в самом крайнем случае. Когда в проекте нет никаких проблем, Vivado всегда может самостоятельно определить правильный порядок компиляции файлов. Тот факт что вам приходится менять этот порядок означает, что в проекте есть какие-то проблемы, не позволяющие Vivado определить правильный порядок самостоятельно.
2. Опишите модуль `alu` с таким же именем и портами, как указано в [задании](#задание).
1. Поскольку у вас два выходных сигнала, зависящих от сигнала `alu_op_i`, вам потребуется описать два разных [мультиплексора](../../Basic%20Verilog%20structures/Multiplexors.md) (их лучше всего описывать через два отдельных блока `case`). При описании, используйте `default` на оставшиеся комбинации сигнала `alu_op_i`.
2. Следите за разрядностью ваших сигналов.
Expand Down

0 comments on commit 0a8a21c

Please sign in to comment.