mirror of
https://github.com/MPSU/APS.git
synced 2025-09-15 09:10:10 +00:00
* Переработка лабораторных работ, связанных с памятью Существенно переработаны ЛР3 и ЛР7: Из ЛР3 убрано задание реализовать память данных. Эта память использовалась только студентами ИВТ и только в рамках одной лабы. В итоге использовалась готовая память, и ничего не мешает использовать ее с самого начала. Задание по реализации памяти инструкций также претерпело изменения. Теперь код памяти инструкций предоставляется сразу. Это объясняется тем, что код модуля состоит в общем-то из 4х строк, на которые тратится слишком много времени (с учетом добавления тестбенча и проверок). Кроме того, использование готового кода позволяет дать модуль чуть посложнее (с параметризацией размера). По итогу правок, третья лабораторная работа превращается чисто в лабораторную по написанию регистрового файла, что должно положительно сказаться на кривой сложности лаб. После второй лабы происходит слишком резкий скачок в объемах работы. Соответственно, в связи с тем, что память данных больше не делается на третьей лабе, дополнительная ЛР по памяти данных с byte enable необходимо перенести до реализации тракта данных. * ЛР3, 5, 6. Правки из ревью * ЛР7. Добавление иллюстраций
38 lines
1.1 KiB
Systemverilog
38 lines
1.1 KiB
Systemverilog
/* -----------------------------------------------------------------------------
|
|
* Project Name : Architectures of Processor Systems (APS) lab work
|
|
* Organization : National Research University of Electronic Technology (MIET)
|
|
* Department : Institute of Microdevices and Control Systems
|
|
* Author(s) : Andrei Solodovnikov
|
|
* Email(s) : hepoh@org.miet.ru
|
|
|
|
See https://github.com/MPSU/APS/blob/master/LICENSE file for licensing details.
|
|
* ------------------------------------------------------------------------------
|
|
*/
|
|
package alu_opcodes_pkg;
|
|
localparam ALU_OP_WIDTH = 5;
|
|
|
|
localparam ALU_ADD = 5'b00000;
|
|
localparam ALU_SUB = 5'b01000;
|
|
|
|
localparam ALU_XOR = 5'b00100;
|
|
localparam ALU_OR = 5'b00110;
|
|
localparam ALU_AND = 5'b00111;
|
|
|
|
// shifts
|
|
localparam ALU_SRA = 5'b01101;
|
|
localparam ALU_SRL = 5'b00101;
|
|
localparam ALU_SLL = 5'b00001;
|
|
|
|
// comparisons
|
|
localparam ALU_LTS = 5'b11100;
|
|
localparam ALU_LTU = 5'b11110;
|
|
localparam ALU_GES = 5'b11101;
|
|
localparam ALU_GEU = 5'b11111;
|
|
localparam ALU_EQ = 5'b11000;
|
|
localparam ALU_NE = 5'b11001;
|
|
|
|
// set lower than operations
|
|
localparam ALU_SLTS = 5'b00010;
|
|
localparam ALU_SLTU = 5'b00011;
|
|
|
|
endpackage |