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

экз

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

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

module sync_rst( 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 load) begin

if (load) begin count <= data;

end

else if (rst) begin count <= 8'b11111111;

end

else if (en) begin

count <= count - 1;

end

else begin

count <= count;

end

end endmodule

Vagapova 17

Охарактеризуйте интерфейс JTAG

Тестирование соединений и внутрисистемное программирования(In-System Programming — ISP) — вот два применения

История возникновения. Развитие микросхем, например, повышение плотности элементов или появление корпусов BGA, сократило эффективность традиционных методов тестирования. Для преодоления этих проблем, несколько компаний объединили усилия и создали объединение Joint Test Action Group.

Состав сигналов

Задание 2. Опишите на Verilog HDL модуль, вычисляющий бит четности

32-разрядного слова при помощи оператора свертки. Проиллюстрируйте его

работу с помощью временных диаграмм. Модуль должен иметь полностью синхронную структуру. Ввод числа производится по сигналу WR. Сброс

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

module ParityCalculator (

input wire clk,

// Входной тактовый сигнал

input wire rst,

// Асинхронный сброс

input wire wr,

// Сигнал записи входного числа

input wire [31:0] data, // Входное 32-разрядное слово output wire parity // Выходной бит четности

);

reg [31:0] data_reg; // Регистр для хранения входных данных wire [31:0] xor_result; // Результат операции XOR

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

data_reg <= 32'h0; // Сброс регистра данных end else if (wr) begin

data_reg <= data; // Запись входных данных в регистр end

end

assign xor_result = ^data_reg; // Оператор свертки для вычисления XOR всех бит assign parity = xor_result[0]; // Выходной бит четности - младший бит результата XOR

endmodule

Blinov 18

ВОПРОС 1

Интерфейс JTAG (Joint Test Action Group) - это стандартный интерфейс, который используется для проверки и отладки электронных устройств, таких как микросхемы, платы и другие устройства на их основе. Он был разработан группой Joint Test

Action Group в 1985 году и с тех пор стал широко используемым в индустрии электроники.

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

Существуют несколько стандартов, связанных с интерфейсом

JTAG, включая IEEE 1149.1, IEEE 1149.4, IEEE 1149.6 и IEEE 1149.7. IEEE 1149.1 является наиболее распространенным стандартом и определяет основные функции интерфейса JTAG, такие как чтение и запись данных в цепочку регистров.

IEEE 1149.4 расширяет стандарт JTAG, позволяя проверять и программировать аналоговые и цифровые компоненты, которые не могут быть проверены с помощью стандартного интерфейса

JTAG.

IEEE 1149.6 определяет интерфейс JTAG для использования в условиях высокой помехозащищенности, таких как на радиочастотных платах.

IEEE 1149.7 является более новым стандартом, который позволяет уменьшить количество проводов, необходимых для подключения к устройству, и уменьшить потребление энергии.

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

ВОПРОС 2

module prok(

input clk, // тактовый сигнал input en,

input rst,// сброс

input ISr, //входнной бит вдвигаемый

output reg OSr, //вsходнной бит выдвигаемый

output reg [7:0] shift_rg // выходные данные сдвигового регистра

);

initial shift_rg = 8'b10101010; // изначальное значение на сдвиговом регистре

always @(posedge clk) begin if (rst) begin

shift_rg <= 8'd0; OSr <= 1'b0; end else begin if (en) begin

shift_rg <= {ISr, shift_rg[7:1]}; OSr <= shift_rg[0];

end else begin OSr <= 1'b0;

shift_rg <= shift_rg; end

end end

endmodule

Алкаев 19

Опишите маршрут проектирования устройств на основе ПЛИС.

(ПОЯСНЕНИЯ К ПУНКТАМ):

1)Получение и/или анализ технического задания: на этом этапе определяются требования к устройству, его функциональность, производительность, интерфейсы и другие параметры. Также анализируются возможные ограничения, такие как бюджет, время разработки, доступность компонентов и т.д.

2)Создание нового проекта: на этом этапе выбирается семейство ПЛИС и тип устройства, которые наилучшим образом соответствуют требованиям технического задания. Также выбираются средства синтеза, которые будут использоваться для создания описания устройства на языке Verilog HDL или другом языке описания аппаратуры.

3)Подготовка описания проектируемого устройства в графической и/или текстовой форме: на этом этапе создается описание проектируемого устройства, включающее в себя блок-схемы, диаграммы и другие графические элементы, а также текстовое описание его функциональности и характеристик.

4)Функциональное моделирование: на этом этапе создается модель устройства, которая позволяет проверить его функциональность и корректность работы. Моделирование проводится с помощью специальных программных средств, которые позволяют проверить работу устройства в различных условиях.

5)Синтез: на этом этапе создается файл описания устройства на языке Verilog HDL или другом языке описания аппаратуры. Этот файл содержит описание логической структуры устройства и его функциональности.

6)Верификация: на этом этапе проводятся тесты и симуляции для проверки корректности работы устройства. Верификация позволяет выявить ошибки и недочеты в работе устройства на ранних этапах разработки.

7)Размещение и трассировка проекта в кристалле: на этом этапе происходит размещение компонентов на ПЛИС и проведение маршрутизации сигналов между ними. Это позволяет оптимизировать расположение компонентов и сигнальных линий для достижения максимальной производительности устройства.

8)Верификация: на этом этапе проводятся тесты для проверки корректности работы устройства после размещения и маршрутизации. Верификация на этом этапе позволяет выявить ошибки, связанные с размещением и маршрутизацией компонентов.

9)Программирование ПЛИС: на этом этапе создается файл конфигурации ПЛИС, который содержит информацию о расположении компонентов и сигнальных линий. Этот файл загружается в ПЛИС для конфигурации устройства.

10)Отладка на аппаратном уровне: на этом этапе проводятся тесты и проверки на аппаратном уровне для проверки корректности работы устройства. Отладка может включать в себя измерение времени отклика, потребляемой мощности, работы интерфейсов и других параметров.

11)Получение проекта, соответствующего заданной спецификации: на этом этапе происходит окончательная проверка устройства и его соответствия требованиям технического задания. Если устройство соответствует спецификации, то оно готово к производству и выпуску на рынок.

Объясните отличия с точки зрения синтезируемой аппаратуры условной конструкции if и конструкции ветвления case. Приведите пример, нарисуйте схемы элементов, синтезируемых в том и другом случае.

(Лучше проверить!)Что написано на chipverify:

Выражения, данные в if-else блоке, являются более общими, в то время как в case блоке одно выражение сопоставляется с несколькими элементами.

Case даст окончательный результат, когда в выражении есть значение X и Z.

Схема case

Схема if