Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лаба 2 / Лабораторная работа 2 Никитина Дарья ПИН 31Д

.docx
Скачиваний:
9
Добавлен:
16.07.2021
Размер:
115.4 Кб
Скачать

Лабораторная работа 2.

микропроцессорные средства и системы

дарья Никитина пин-31Д

Разработка Verilog-описания РАЛУ.

module RALU ( input clk,

input reset,

input [3:0] DataIn,

input [3:0] S,

input M,

input P0,

input A,

input [3:0] v,

input wr,

input [2:0] adr,

output reg OSR,

output reg OSL,

input ISR,

input ISL,

output P4,

output [3:0] R);

reg [3:0] RgA, RgB;

wire [4:1] P;

reg [3:0] BRON [7:0];

always@(posedge clk)

begin

if(reset)

begin

RgA = 0;

RgB = 0;

end

if(v[0]) RgA = A ? DataIn : BRON[adr];

case(v[2:1])

2 'b01:

begin

OSL = RgB[3];

RgB = RgB << 1;

RgB[0] = ISL;

end

2 'b10:

begin

OSR = RgB[0];

RgB = RgB >> 1;

RgB[3] = ISR;

end

2 'b11: RgB = BRON[adr];

endcase

if(wr) BRON[adr] = R;

end

assign P4 = P[4];

ALU_ParallelCarry ALU ( .A(RgA),

.B(RgB),

.S(S),

.M(M),

.P0(P0),

.R(R),

.P(P) );

endmodule

Проверка работы РАЛУ в симуляторе.

Индивидуальное задание (вариант 1)