Скачиваний:
0
Добавлен:
27.11.2025
Размер:
655.74 Кб
Скачать

Программирование для LUT и для регистра.

LUT не имеет входа синхронизации. Адрес ячейки определяется по состоянию входов LUT, определяющих входную комбинацию КЦУ. Программирование производится в блоке always с использованием оператора case.

Регистр имеет вход синхронизации, поэтому каждая запись информации должна происходить во время фронта синхроимпульса. Сигнал асинхронного сброса обнуляет регистр, делая невозможным запись по синхроимпульсу.

Пример программы 4- разрядного регистра.

module rg

#(parameter N=4)

(input[N-1:0]d_in, input clk, reset, output [N-1:0]d_out);

reg[N-1:0]q;

assign d_out=q;

always@(posedge clk, posedge reset)

begin

if(reset) q<=0;

else

begin q<=d_in; end

end endmodule

Объявление генерации частоты

localparam T=20; (3-я строка)

//localparam T=20;

• always

initial

begin

begin

clk=1’b0;

clk=1’b0;

forever

#(T/2);

#10

clk=1’b1;

 

 

#(T/2);

clk=~clk;

end

end

 

Объявление интервалов

тестирования с заданными параметрами.

• initial

• initial

• begin

• begin

• reset<=1; #(T/4);

• reset<=1; #5;

• reset<=0;

• reset<=0;

• end

• end

• initial

• initial

• begin

• begin

• d_in<=4’d9;

• d_in<=4’d9;

• @(negedge clk);

• #20;

• d_n<=4’d5;

• d_n<=4’d5;

• @(negedge clk);

• #20;

• ………

• …….

Общая структура АЛУ

Одноразрядный сумматор

Одноразрядный сумматор

Сумматор с ускоренным переносом.

Соседние файлы в папке Лекции. Неелова