kvadrat (Ещё один неизвестный вариант курсового проекта)
Описание файла
Файл "kvadrat" внутри архива находится в папке "Ещё один неизвестный вариант курсового проекта". Документ из архива "Ещё один неизвестный вариант курсового проекта", который расположен в категории "". Всё это находится в предмете "системы автоматизированного проектирования (сапр)" из 5 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "системы автоматизированного проектирования (сапр)" в общих файлах.
Онлайн просмотр документа "kvadrat"
Текст из документа "kvadrat"
Возведение в квадрат
module ALU(
input [3:0] OPER_1,
input [3:0] OPER_2,
input [3:0] FUN,
input ALU_EN,
input CLK,
output reg [7:0] RESULT
);
reg [7:0] kvadr;
always @(posedge CLK)
begin
if (FUN == 4'b0101)
begin
kvadr = (OPER_2[0]!=0)? OPER_2 : 0;
kvadr = (OPER_2[1]!=0)? kvadr + (OPER_2 << 2'b01) : kvadr;
kvadr = (OPER_2[2]!=0)? kvadr + (OPER_2 << 2'b10) : kvadr;
kvadr = (OPER_2[3]!=0)? kvadr + (OPER_2 << 2'b11) : kvadr;
end
end
always @(posedge CLK)
begin
if(ALU_EN == 1'b1)
begin
case(FUN)
4'b0000 : RESULT = OPER_1;
4'b0001 : RESULT = OPER_2;
4'b0010 : RESULT = OPER_1 & OPER_2;
4'b0011 : RESULT = OPER_1 | OPER_2;
4'b0100 : RESULT = OPER_1 <<< OPER_2;
4'b0101 : RESULT = kvadr;
4'b0110 : RESULT = OPER_2 - 1;
endcase
end
else
begin
RESULT = 8'b00000000;
end
end
endmodule