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

экз

.pdf
Скачиваний:
2
Добавлен:
16.09.2023
Размер:
13.37 Mб
Скачать

SPLD – Simple Programmable Logic Devices – простые программируемые логические устройства

Программируемые логические матрицы (ПЛМ) – PLA (Programmable Logic Arrays) Программируемая матричная

логика (ПМЛ) – PAL ( Programmable Array Logic)

Основные характеристики: Появились раньше всех,

изначально были однократно программируемыми

Реализуют ДНФ булевых функций в базисе «И-ИЛИ» В

настоящее время являются основой для более сложных

схем

CPLD

CPLD – Complex Programmable Logic Device (Сложные программируемые логические устройства) – развитие SPLD

Состоят из: ПМЛ-подобных функциональных блоков, Программируемой матрицы соединений, Портов ввод-вывода, Блоков ФАПЧ и прочих

FPGA FPGA – Field Programmable Gate Arrays (программируемые пользователем вентильные матрицы) Основные характеристики: Способ задания булевой функции – табличный (LUT) Функциональных блоков много и они меньшего размера Другая система межсоединений по сравнению с CPLD. Энергозависимая память конфигурации

2-НОМЕР

module shift_register( input clk,

input reset, input data_in,

output reg [3:0] data_out );

always @(posedge clk or posedge reset) begin if (reset) begin

data_out <= 4'b0000; end else begin

data_out <= {data_out[2:0], data_in}; end

end

endmodule

Если подать reset то обнулится (0000) и пойдет заново, старший разряд при смещении будет пропадать всегда

Багров 5

1. Приведите классификацию ПЛИС по уровню интеграции.

2.Опишите на Verilog HDL сдвиговый регистр на 5 разрядов при помощи блокирующего присваивания. Ввод данных и сброс – синхронные. Проиллюстрируйте его работу с помощью временных диаграмм.

module Bilety( input clk,rst,en,

output reg[4:0]shiftreg );

reg extrashiftreg;

always@(posedge clk) begin

if(rst)

shiftreg = 5'b00000; else if(en)

shiftreg = 5'b10110; else

begin

extrashiftreg =shiftreg[0]; shiftreg[0] = shiftreg[4]; shiftreg[4] = shiftreg[3]; shiftreg[3] = shiftreg[2]; shiftreg[2] = shiftreg[1]; shiftreg[1] = extrashiftreg; end

end endmodule

стадо Баранов 6

1.Приведите классификацию ПЛИС по возможностям программирования. Опишите особенности каждого из приведенных классов.

2. Опишите на Verilog HDL 8-разрядный реверсивный счётчик с асинхронным сбросом

и синхронной параллельной загрузкой при помощи процедурного присваивания. Проиллюстрируйте его работу с помощью временных диаграмм.

1 задание (лекции)

(24 билет одно и тоже)

2 задание исправлено!

module bilet6( input clk, input rst,

input en, //флаг для условия 1-работает 0-нет input load, //для ввода данных

input [7:0] data, output reg [7:0] count );

initial count =8'b11111111;

always @(posedge clk or posedge rst) begin

if (rst) begin

count <= 8'b11111111; end

else if (load) begin count <= data;

end

else if (en) begin

count <= count - 1;

end

else begin

count <= count;

end

end endmodule