Проблема из-за смены источника входного сигнала

Программируемая логика - это не так уж и сложно. Разберемся вместе.
Ответить
Plazmoid
Встал на лапы
Сообщения: 97
Зарегистрирован: Пн дек 31, 2012 02:36:32

Проблема из-за смены источника входного сигнала

Сообщение Plazmoid »

Приветствую!
Написал на верилоге модуль, осуществляющий задержку входного сигнала. Для его проверки в той же ПЛИС (EPM240T100C5) сделал модуль генератора меандра, посмотрел сигналы - все работало правильно и стабильно. Потом взял сигнал от внешнего генератора - появились плавающие баги. После нескольких попыток оптимизации кода добиться корректной работы схемы так и не удалось.
Спойлер

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

module delay
	(
	input wire clk,
	input wire sgn,
	 
	output reg out
   );

localparam 		phase = 1;
				
reg[7:0]			pos_cnt = 0,
				     neg_cnt = 0;
					
always @ (posedge clk)
	begin
		if (sgn)
			begin
				pos_cnt <= pos_cnt + 1;
				if (neg_cnt > phase) neg_cnt <= neg_cnt - 1;
				else
					begin
						neg_cnt <= 0;
						out <= 1;
					end
			end
		else
			begin
				neg_cnt <= neg_cnt + 1;
				if (pos_cnt > phase) pos_cnt <= pos_cnt - 1;
				else
					begin
						pos_cnt <= 0;
						out <= 0;
					end
			end
	end
	
endmodule
Реклама
Enman
Друг Кота
Сообщения: 7774
Зарегистрирован: Сб янв 29, 2011 00:28:48

Re: Проблема из-за смены источника входного сигнала

Сообщение Enman »

Фронты внешнего сигнала должны быть идеально сформированы...
Реклама
Plazmoid
Встал на лапы
Сообщения: 97
Зарегистрирован: Пн дек 31, 2012 02:36:32

Re: Проблема из-за смены источника входного сигнала

Сообщение Plazmoid »

Фронты там крутые - генератор сделан на 74HC132 и находится на плате рядом с ПЛИС.
Plazmoid
Встал на лапы
Сообщения: 97
Зарегистрирован: Пн дек 31, 2012 02:36:32

Re: Проблема из-за смены источника входного сигнала

Сообщение Plazmoid »

Проблема была в метастабильности и оказалась решена двумя триггерами на входе внешнего сигнала.
Реклама
Эиком - электронные компоненты и радиодетали
Ответить

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