Angel 0 9 марта, 2005 Опубликовано 9 марта, 2005 · Жалоба На вход ПЛИС приходит сигнал неизвестной длинны. Как поймать его конец, точнее переход с 1 в 0. По которому мне нужно сгенереровать строб. Строб должен стать активным только в конце сигнала (когда он еще в 1) и сниматся когда внешний сигнал станет 0. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
v_mirgorodsky 0 9 марта, 2005 Опубликовано 9 марта, 2005 · Жалоба Не достаточно информации для решения данного вопроса. Если неизвестный сигнал и строб должны перекрываться, то это не возможно. Причинно-следственную связь еще никто не отменял. ПЛИС не знает когда надо начать выставлять строб, т.к. по Вашему описанию никакой информации о длительности входящего сигнала нет. Возможно только среагировать на падающий фронт неизвестного сигнала и выставить строб на некоторое время. При этом неминуемо при резких фронтах между ппадающим фронтом неизвестного сигнала и нарастающим фронтом строба будет пробел. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
v_mirgorodsky 0 9 марта, 2005 Опубликовано 9 марта, 2005 · Жалоба Можно еще поиграться с уровнями срабатывания входных триггеров - искусственно задрать порог между нулем и единицей для некоторого банка, так, что для внешнего устройства это все еще будет единица, а ФПГА уже воспримет этотт сигнал как нуль. Тогда может получиться перекрытие в небольшом диапазоне, если неизвестный входной сигнал имеет пологий спадающий фронт, однако такое решение черевато пониженной помехоустойчивостью всего устройства. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vovic 0 9 марта, 2005 Опубликовано 9 марта, 2005 · Жалоба Решение первое (некрасивое): а - вход сигнала, b - выход строба, b=a xor lcell(a) Количеством lcell-ов регулируется длина строба. Решение второе (еще хуже): поставить на входе ПЛИС схемку из инвертора и дифференцирующей RC-цепочки... И долго развлекаться с величинами R и C. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Grumbler_2002 0 9 марта, 2005 Опубликовано 9 марта, 2005 · Жалоба Лучше написать, зачем понадобился такой изврат. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vetal 0 10 марта, 2005 Опубликовано 10 марта, 2005 · Жалоба Длительность сигнала - константа? или как? Для решения нужно знать больше о запускающем импульсе. Какие у него фронты? Если константа, то можно померять длину, и на следующем импульсе выдать результат. Еще как вариант - поставить лз на сигнал, и отдавать во внешннее устройство его, а импульс формировать по его окончании. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zvs 0 10 марта, 2005 Опубликовано 10 марта, 2005 · Жалоба Присоединяюсь к v_mirgorodsky как в смысле того что мало данных для решения задачи так и в смысле того что закон причинно-следственных связей никто не отменял. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khach 33 10 марта, 2005 Опубликовано 10 марта, 2005 · Жалоба Линию задержки на сигнал (аналоговую). Компаратор на входе, компаратор на выходе. Величина задержки равна длине импульса строба. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Angel 0 10 марта, 2005 Опубликовано 10 марта, 2005 · Жалоба Неизвестный сигнал и строб должны перекрываться, и это действительно не возможно. Строб нужен для сдвигового ресгитра, тоесть инициировать сдвиг. Я просто себе усложнил жизнь. Потому что, поскольку внешний сигнал периодический (такты) то я просто подал его на тактовый вход сдвигового регистра и по спаду делаю сдвиг. Все оказалось очень просто :) Прошу прощения за то что недостаточно информативно описал проблему. И спасибо за советы ;-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Wilde 0 18 марта, 2005 Опубликовано 18 марта, 2005 · Жалоба Непонятно зачем такой строб нужен, если по этому стробу происходит работа с сигналом на некоторой шине, ну например запись с нее я бы сделал так: этот длительный сигнал подал бы на цепочку из триггеров (те сдвиговый регистр). Сигнал на шине пропустил бы по цепочке такой же длины. По внутреннему синхросигналу происходит сдвиг в обеих цепочках. Как только на выходе предпоследнего триггера сигнала 0, формируется строб, захлопывающий данные на выходе последнего триггера шины. В следующем такте происходит захлопывание. Цепочка из триггеров может иметь длину 2 и более, я бы взял 3 -4, тк. твой внутренний такт вероятнее всего асинхронен с внешними сигналами и может возникнуть метастабильное состояние . Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Grumbler_2002 0 18 марта, 2005 Опубликовано 18 марта, 2005 · Жалоба Проще завести внешний тактовый сигнал WR на СЕ триггера через инвертор,а на клоковый вход - внутреннюю высокую тактовую. Глюков гарантированно не будет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k_george 0 20 марта, 2005 Опубликовано 20 марта, 2005 · Жалоба Была как-то необходимость фронты ловить - делал так. Синтезиться в DFF+Latch то ли наоборот - точно уже не помню, но работает железно. Get_Edge.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
net 0 20 марта, 2005 Опубликовано 20 марта, 2005 · Жалоба Неизвестный сигнал и строб должны перекрываться, и это действительно не возможно. Строб нужен для сдвигового ресгитра, тоесть инициировать сдвиг. Я просто себе усложнил жизнь. Потому что, поскольку внешний сигнал периодический (такты) то я просто подал его на тактовый вход сдвигового регистра и по спаду делаю сдвиг. Все оказалось очень просто :) Прошу прощения за то что недостаточно информативно описал проблему. И спасибо за советы ;-) <{POST_SNAPBACK}> в цифровой технике причинно следственная связь не работает- и сигнал со стробом можно сдвигать во времени как угодно!!! цифровая линия задержки (фифо,сдвиговый регистр и тд ) позволяют делать любые причинно следственные связи :ninja: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 192 20 марта, 2005 Опубликовано 20 марта, 2005 · Жалоба в цифровой технике причинно следственная связь не работает- и сигнал со стробом можно сдвигать во времени как угодно!!! цифровая линия задержки (фифо,сдвиговый регистр и тд ) позволяют делать любые причинно следственные связи :ninja: <{POST_SNAPBACK}> А как Вы тогда объясните существование событийного метода моделирования цифровых схем? ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
net 0 20 марта, 2005 Опубликовано 20 марта, 2005 · Жалоба в цифровой технике причинно следственная связь не работает- и сигнал со стробом можно сдвигать во времени как угодно!!! цифровая линия задержки (фифо,сдвиговый регистр и тд ) позволяют делать любые причинно следственные связи :ninja: <{POST_SNAPBACK}> А как Вы тогда объясните существование событийного метода моделирования цифровых схем? ;) <{POST_SNAPBACK}> одно не исключает другого - важно определить относительно чего вы хотите рассматривать объект и что является базисом времени - поскольку событийный метод моделирования не является чисто событийным а привязан к абсолютному времени поэтому о событийном моделировании в чистом виде говорить неи приходится - поскольку введение генераторов внутрь событий лишает такое моделирование его чистого определения для того чтобы обсудить эти понятия - сначала необходимо дать ОПРЕДЕЛЕНИЕ используемых терминов :maniac: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться