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

Программирование для 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;

• ………

• …….

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

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

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

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

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