СХЕМА.RU - Радиолюбительский портал » Другие новости радиолюбителя » Задержка На Заранее Неизвестное Колличество Периодов Тактовой

Задержка На Заранее Неизвестное Колличество Периодов Тактовой

27-11-2012, 00:30 От: admin Посмотрели: 905
Здравствуйте!

Нужно реализовать подсчёт длительности нахождения входного сигнала в '1' (в периодах тактовой частоты), а затем в этом же процессе реализовать задержку на такое же количество периодов тактовой частоты.

Пробовал сделать подсчёт сделать так:


if (CLK'event and CLK='0') then
if RESET='1' then
..............
else
if CONVERT = '1' then
sample_length := sample_length +1;
end if;
end if;
end if;


А задержку так:


if (CLK'event and CLK='0') then
if RESET='1' then
..............
else
if sample_length = 1 then
sample_length := 0;
state <= idle;
else
sample_length := sample_length - 1;
end if;
end if;
end if;

Весь процесс выглядит так:


MAIN: process (CLK)
variable clk_count : clk_count_type := 0;
variable sample_length : natural := 0;
begin
if (CLK'event and CLK='0') then
if RESET='1' then
state <= idle;
DATA_RDY <= '0';
DATA_OUT <= "0000000000";
else
if CONVERT = '1' then
state <= wiat_coorect_ADC_data;
sample_length := sample_length +1;
end if;
case (state) is
when idle =>
DATA_RDY <= '0';
DATA_OUT <= "0000000000";
when wiat_coorect_ADC_data =>
if clk_count < (adc_propagation - 2) then
clk_count := clk_count+1;
else
clk_count := 0;
state <= coorect_ADC_data;
end if;
when coorect_ADC_data =>
DATA_RDY <= '1';
DATA_OUT <= DATA_IN;
if sample_length = 1 then
sample_length := 0;
state <= idle;
else
sample_length := sample_length - 1;
end if;
end case;
end if;
end if;
end process;


Но при этом схема приобретает устрашающе большие размеры, и при симуляции на Post-Translate уровне работа схемы неудовлетворительная, хотя на Behavioral уровне всё было супер. Мне нужно чтоб счётчик тактов успевал обработать как короткие входные импульсы на входе CONVERT, так и длинные, до 10000000 тактов.

Как правильно сделать такую задержку?

Если нужно, могу выложить весь проект или нужные скриншоты.

Заранее спасибо.
Раздел: ПЛИС

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться, либо войти на сайт под своим именем.

Обсудить на форуме


На момент добавления Задержка На Заранее Неизвестное Колличество Периодов Тактовой все ссылки были рабочие.
Все публикации статей, книг и журналов, представлены на этом сайте, исключительно для ознакомления,
авторские права на эти публикации принадлежат авторам статей, книг и издательствам журналов!
Подробно тут | Жалоба

Добавление комментария

Ваше имя:*
E-Mail:*
Текст:
Вопрос:
Решите уравнения x+2x=789
Ответ:*
Введите два слова, показанных на изображении:



Опрос

Ваши предпочтения в TRX


Одинарное преобразование
Двойное преобразование
Прямое преобразование
SDR
Другое
Мне всё равно

Популярные новости
Календарь новостей
«    Май 2024    »
ПнВтСрЧтПтСбВс
 12345
6789101112
13141516171819
20212223242526
2728293031