mirror of
https://github.com/MPSU/APS.git
synced 2025-09-16 01:30:10 +00:00
ЛР1. Обновление тб и порядка выполнения задания
This commit is contained in:
@@ -285,26 +285,30 @@ module fulladder32(
|
||||
|
||||
### Порядок выполнения задания
|
||||
|
||||
1. Согласно [руководству по созданию проекта в Vivado](../../Vivado%20Basics/Vivado%20trainer.md):
|
||||
1. Создайте проект;
|
||||
2. В `Design Sources` проекта создайте `SystemVerilog`-файл `fulladder`.
|
||||
2. Опишите в файле модуль `fulladder`, схема которого представлена на _[Рис. 2](../../.pic/Labs/lab_01_adder/fig_02.drawio.svg)_.
|
||||
3. В `Simulation Sources` проекта создайте `SystemVerilog`-файл `tb_fulladder`.
|
||||
4. Вставьте содержимое файла [`tb_fulladder.sv`](tb_fulladder.sv), расположенного рядом с данным документом.
|
||||
5. Запустите моделирование. Для запуска симуляции воспользуйтесь [`этой инструкцией`](../../Vivado%20Basics/Run%20Simulation.md).
|
||||
6. Убедитесь по сигналам временной диаграммы, что модуль работает корректно.
|
||||
7. В `Design Sources` проекта создайте `SystemVerilog`-файл `fulladder4`.
|
||||
8. Опишите модуль `fulladder4`, схема которого представлена на _Рис. 5 и 6_, используя [`иерархию модулей`](../../Basic%20Verilog%20structures/Modules.md#%D0%B8%D0%B5%D1%80%D0%B0%D1%80%D1%85%D0%B8%D1%8F-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D0%B5%D0%B9), чтобы в нем выполнялось поразрядное сложение двух 4-разрядных чисел и входного бита переноса. Некоторые входы и выходы модуля будет необходимо описать в виде `векторов`.
|
||||
9. Обратите внимание, что входной бит переноса должен подаваться на сумматор, выполняющий сложение нулевого разряда, выходной бит переноса соединяется с выходным битом переноса сумматора, выполняющего сложение 4-го разряда.
|
||||
10. В `Simulation Sources` проекта создайте `SystemVerilog`-файл `tb_fulladder4`.
|
||||
11. Вставьте содержимое файла [`tb_fulladder4.sv`](tb_fulladder4.sv). Нажмите по нему в окне `Sources` ПКМ и выберите `Set as Top`.
|
||||
12. Запустите моделирование. Для запуска симуляции воспользуйтесь [`этой инструкцией`](../../Vivado%20Basics/Run%20Simulation.md).
|
||||
13. Убедитесь по сигналам временной диаграммы, что модуль работает корректно.
|
||||
14. В `Design Sources` проекта создайте `SystemVerilog`-файл `fulladder32`.
|
||||
15. Опишите модуль `fulladder32` так, чтобы в нем выполнялось поразрядное сложение двух 32-разрядных чисел и входного бита переноса. Его можно реализовать через последовательное соединение восьми 4-битных сумматоров, либо же можно соединить 32 однобитных сумматора (как вручную, так и с помощью конструкции `generate for`).
|
||||
16. Обратите внимание, что входной бит переноса должен подаваться на сумматор, выполняющий сложение нулевого разряда, выходной бит переноса соединяется с выходным битом переноса сумматора, выполняющего сложение 31-го разряда.
|
||||
17. В `Simulation Sources` проекта создайте `SystemVerilog`-файл `tb_fulladder32`.
|
||||
18. Вставьте содержимое файла [`tb_fulladder32.sv`](tb_fulladder32.sv). Нажмите по нему в окне `Sources` ПКМ и выберите `Set as Top`.
|
||||
19. Запустите моделирование.
|
||||
20. Убедитесь, что модуль работает корректно.
|
||||
21. Следующим шагом вы можете проверить работоспособность вашей цифровой схемы в ПЛИС [здесь](https://github.com/MPSU/APS/tree/master/Labs/01.%20Adder/board%20files).
|
||||
1. Создайте проект, согласно [руководству по созданию проекта в Vivado](../../Vivado%20Basics/Vivado%20trainer.md)
|
||||
2. В `Design Sources` проекта создайте `SystemVerilog`-файл `fulladder`.
|
||||
3. Опишите в файле модуль `fulladder`, схема которого представлена на _[Рис. 2](../../.pic/Labs/lab_01_adder/fig_02.drawio.svg)_.
|
||||
4. Проверьте 1-битный сумматор. Для этого:
|
||||
1. В `Simulation Sources` проекта создайте `SystemVerilog`-файл `tb_fulladder`.
|
||||
2. Вставьте содержимое файла [`tb_fulladder.sv`](tb_fulladder.sv), расположенного рядом с данным документом.
|
||||
3. Запустите моделирование. Для запуска симуляции воспользуйтесь [`этой инструкцией`](../../Vivado%20Basics/Run%20Simulation.md).
|
||||
4. Убедитесь по сигналам временной диаграммы, что модуль работает корректно.
|
||||
5. В `Design Sources` проекта создайте `SystemVerilog`-файл `fulladder4`.
|
||||
6. Опишите модуль `fulladder4`, схема которого представлена на _Рис. 5 и 6_, используя [`иерархию модулей`](../../Basic%20Verilog%20structures/Modules.md#%D0%B8%D0%B5%D1%80%D0%B0%D1%80%D1%85%D0%B8%D1%8F-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D0%B5%D0%B9), чтобы в нем выполнялось поразрядное сложение двух 4-разрядных чисел и входного бита переноса. Некоторые входы и выходы модуля будет необходимо описать в виде [`векторов`](../../Basic%20Verilog%20structures/Modules.md#векторы).
|
||||
1. Обратите внимание, что входной бит переноса должен подаваться на сумматор, выполняющий сложение нулевого разряда, выходной бит переноса соединяется с выходным битом переноса сумматора, выполняющего сложение 4-го разряда.
|
||||
7. Проверьте 4-битный сумматор. Для этого:
|
||||
1. В `Simulation Sources` проекта создайте `SystemVerilog`-файл `tb_fulladder4`.
|
||||
2. Вставьте содержимое файла [`tb_fulladder4.sv`](tb_fulladder4.sv). Нажмите по нему в окне `Sources` ПКМ и выберите `Set as Top`.
|
||||
3. Запустите моделирование. Для запуска симуляции воспользуйтесь [`этой инструкцией`](../../Vivado%20Basics/Run%20Simulation.md).
|
||||
4. Проверьте содержимое TCL-консоли. Убедитесь в появлении сообщения о завершении теста. В случае, если в tcl-консоли написано `CLICK THE BUTTON 'Run All'`, вам необходимо нажать соответствующую кнопку на панели моделирования.
|
||||
5. Убедитесь по сигналам временной диаграммы, что модуль работает корректно.
|
||||
8. В `Design Sources` проекта создайте `SystemVerilog`-файл `fulladder32`.
|
||||
9. Опишите модуль `fulladder32` так, чтобы в нем выполнялось поразрядное сложение двух 32-разрядных чисел и входного бита переноса. Его можно реализовать через последовательное соединение восьми 4-битных сумматоров, либо же можно соединить 32 однобитных сумматора (как вручную, так и с помощью конструкции `generate for`).
|
||||
1. Обратите внимание, что входной бит переноса должен подаваться на сумматор, выполняющий сложение нулевого разряда, выходной бит переноса соединяется с выходным битом переноса сумматора, выполняющего сложение 31-го разряда.
|
||||
10. Проверьте 32-битный сумматор. Для этого:
|
||||
1. В `Simulation Sources` проекта создайте `SystemVerilog`-файл `tb_fulladder32`.
|
||||
2. Вставьте содержимое файла [`tb_fulladder32.sv`](tb_fulladder32.sv). Нажмите по нему в окне `Sources` ПКМ и выберите `Set as Top`.
|
||||
3. Запустите моделирование.
|
||||
4. Проверьте содержимое TCL-консоли. Убедитесь в появлении сообщения о завершении теста. В случае, если в tcl-консоли написано `CLICK THE BUTTON 'Run All'`, вам необходимо нажать соответствующую кнопку на панели моделирования.
|
||||
5. Если в tcl-консоли были сообщения об ошибках, разберитесь в причине ошибок по временной диаграмме и [исправьте их](../../Vivado%20Basics/Debug%20manual.md).
|
||||
11. Проверьте работоспособность вашей цифровой схемы в ПЛИС [здесь](https://github.com/MPSU/APS/tree/master/Labs/01.%20Adder/board%20files).
|
||||
|
Reference in New Issue
Block a user