Управление сведодиодом при помощи sr защелки

Программируемая логика - это не так уж и сложно. Разберемся вместе.
Ответить
AngelicQuasar
Родился
Сообщения: 11
Зарегистрирован: Ср фев 08, 2023 01:13:37

Управление сведодиодом при помощи sr защелки

Сообщение AngelicQuasar »

У меня есть плата Altera C4E6/E10-CORE с Altera Cyclone IV. Я ее сконфигурировал такой реализацией триггера:

Код: Выделить всё

module sr_latch(input s, r, output p, q);
    assign q = ~(r | p);
    assign p = ~(s | q);
endmodule

Код: Выделить всё

module top(input clk,
			  input [1:0] key,
			  output [7:0] ledr);
			  
	assign ledr[7:2] = 6'b0;
	sr_latch sr_latch
	(
		.s(~key[0]),
		.r(~key[1]),
		.q(ledr[0]),
		.p(ledr[1])
	);
endmodule
Почему при нажатии на кнопки (две штуки) загорается то один диод, то другой, чередуясь, и не гаснут, если кнопку отпустить? Вроде если кнопку отпускаешь, тогда сигнал на входе триггера меняется и триггер переходит в другое состояние. Если с s и r убрать инверсию, то тогда диоды загораются только в момент нажатия и гаснут, если кнопку отпустить:

Код: Выделить всё

module top(input clk,
			  input [1:0] key,
			  output [7:0] ledr);
			  
	assign ledr[7:2] = 6'b0;
	sr_latch sr_latch
	(
		.s(key[0]),
		.r(key[1]),
		.q(ledr[0]),
		.p(ledr[1])
	);
endmodule
Объясните, пожалуйста, почему такая разница? В первом случае диод не гаснет, если кнопку отпустить, во втором гаснет.
Аватара пользователя
electroget
Друг Кота
Сообщения: 4651
Зарегистрирован: Ср сен 30, 2020 16:51:47
Откуда: РФ

Re: Управление сведодиодом при помощи sr защелки

Сообщение electroget »

В ПЛИС я не разбираюсь. :(
Есть 2 типа RS-триггеров. Есть на элементах И-НЕ и есть на элементах ИЛИ-НЕ.Логика работы у них одинаковая, а хранение состояния при обратном состоянии входов.
AngelicQuasar
Родился
Сообщения: 11
Зарегистрирован: Ср фев 08, 2023 01:13:37

Re: Управление сведодиодом при помощи sr защелки

Сообщение AngelicQuasar »

У меня там два элемента ИЛИ-НЕ. При каком состоянии он хранит значение?
Аватара пользователя
electroget
Друг Кота
Сообщения: 4651
Зарегистрирован: Ср сен 30, 2020 16:51:47
Откуда: РФ

Re: Управление сведодиодом при помощи sr защелки

Сообщение electroget »

При 2-х логических "0" на входах он будет сохранять своё предыдущее состояние.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Управление сведодиодом при помощи sr защелки

Сообщение Gudd-Head »

[uquote="AngelicQuasar",url="/forum/viewtopic.php?p=4377906#p4377906"]такой реализацией триггера[/uquote]
Не увидел ни одного триггера — одна комбинаторика.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Ответить

Вернуться в «ПЛИС»