legotron 0 8 сентября, 2008 Опубликовано 8 сентября, 2008 · Жалоба Доброго времени суток! Altera, Quartus Schematic. Хочу заставить работать следующюю схему: sig_in - любой асинхронный сигнал (например _WR) Проблема заключается в том, что если убрать reset_sig, этот триггер переносит 1(vcc) безо всякого sig_in. Стоит добавить любой reset_sig и 1 переносится по фронту sig_in. Это результат какой-то оптимизации? Как заставить правильно работать эту схему, если принципиально нет никакого reset_sig? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
shamray 0 8 сентября, 2008 Опубликовано 8 сентября, 2008 · Жалоба А почеу вы уверены что триггер дложен инициализироваться при включении именно 0? На сколько я помню нн может с равной вероятностью быть как в 0 так и в 1. Надо при старте инициализировать все схемы которые дложны быть в определенном состочнии специальной схемой сброса Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
legotron 0 8 сентября, 2008 Опубликовано 8 сентября, 2008 · Жалоба А почеу вы уверены что триггер дложен инициализироваться при включении именно 0? На сколько я помню нн может с равной вероятностью быть как в 0 так и в 1. Надо при старте инициализировать все схемы которые дложны быть в определенном состочнии специальной схемой сброса Ну не знаю, не встречал я еще триггеров в 1-м состоянии при включении. (согласен, может быть, но у меня все триггера во всех схемах по умолчанию в нуле) В данной схеме 1 выставляется сразу и на симуляции и в железе, поставлю gnd на D-вход и будет на Q ноль. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 8 сентября, 2008 Опубликовано 8 сентября, 2008 · Жалоба А сделать обычную синхронную схему фиксации сигнала никак не возможно? Асинхронные схемы это самый типичный источник глюков и багов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 3 8 сентября, 2008 Опубликовано 8 сентября, 2008 · Жалоба Это результат какой-то оптимизации? Так оно и есть. По умолчанию опция синтезатора // Power-Up Don't Care - on. И так как получается Вам все равно, что по включению питания, синтезатор заменяет триггер на константу. (Смотрите хелп. Там даже рисунок есть). Поставьте опцию в off и триггер появится.(затраченные ресурсы смотрите) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ledmaster 0 8 сентября, 2008 Опубликовано 8 сентября, 2008 · Жалоба Проблема заключается в том, что если убрать reset_sig, этот триггер переносит 1(vcc) безо всякого sig_in. Стоит добавить любой reset_sig и 1 переносится по фронту sig_in. Это результат какой-то оптимизации? Как заставить правильно работать эту схему, если принципиально нет никакого reset_sig? Если принципиально нет никакого сброса, то постоянная 1 - самая правильная работа этой схемы. Даже если при включении в 0 случайно встанет, все равно безвозвратно упадет в 1 при первом же косом взгляде. :unsure: :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
legotron 0 9 сентября, 2008 Опубликовано 9 сентября, 2008 · Жалоба А сделать обычную синхронную схему фиксации сигнала никак не возможно? Асинхронные схемы это самый типичный источник глюков и багов. Подсажите пожалуйста, как будет выглядеть правильный вариант схемы, которая раз и навсегда защелкнет триггер из 0 -> 1 по фронту принципиально асинхронного сигнала? Или у меня вообще подход неправильный, я так и не понял.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ledmaster 0 9 сентября, 2008 Опубликовано 9 сентября, 2008 · Жалоба Подсажите пожалуйста, как будет выглядеть правильный вариант схемы, которая раз и навсегда защелкнет триггер из 0 -> 1 по фронту принципиально асинхронного сигнала? Или у меня вообще подход неправильный, я так и не понял.. Хотя смысл неясен совершенно ( если это не учебная задача, конечно), но Ваша схема имеет право на существование, но при условии, что сброс все-таки есть. Это может быть глобальный сброс при включении питания, который гарантирует известное состояние системы в момент начала отсчета времени. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kuzis 0 9 сентября, 2008 Опубликовано 9 сентября, 2008 · Жалоба Подсажите пожалуйста, как будет выглядеть правильный вариант схемы, которая раз и навсегда защелкнет триггер из 0 -> 1 по фронту принципиально асинхронного сигнала? Или у меня вообще подход неправильный, я так и не понял.. Классический RS триггер на двух логических элементах. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rv3dll 0 9 сентября, 2008 Опубликовано 9 сентября, 2008 · Жалоба А почеу вы уверены что триггер дложен инициализироваться при включении именно 0? На сколько я помню нн может с равной вероятностью быть как в 0 так и в 1. Надо при старте инициализировать все схемы которые дложны быть в определенном состочнии специальной схемой сброса Или проектировать такие , которые не критичны к начальным условиям Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Michael58 2 10 сентября, 2008 Опубликовано 10 сентября, 2008 · Жалоба Доброго времени суток! Altera, Quartus Schematic. Хочу заставить работать следующюю схему: sig_in - любой асинхронный сигнал (например _WR) Проблема заключается в том, что если убрать reset_sig, этот триггер переносит 1(vcc) безо всякого sig_in. Стоит добавить любой reset_sig и 1 переносится по фронту sig_in. Это результат какой-то оптимизации? Как заставить правильно работать эту схему, если принципиально нет никакого reset_sig? Не совсем понятно, что должна делать Ваша схема. Если нужно получить sig_out при поступлении sig_in, то поменяйте местами входы D и CLK триггера. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 17 10 сентября, 2008 Опубликовано 10 сентября, 2008 · Жалоба Если нужно получить sig_out при поступлении sig_in, то поменяйте местами входы D и CLK триггера. И что? Навечно подвешенный к 1 клок - довольно нестандартное "решение"... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Michael58 2 10 сентября, 2008 Опубликовано 10 сентября, 2008 · Жалоба И что? Навечно подвешенный к 1 клок - довольно нестандартное "решение"... Да. прошу прощения, поторопился. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
legotron 0 10 сентября, 2008 Опубликовано 10 сентября, 2008 · Жалоба Вообщем, думаю что надо пояснить для чего я это все делал.. (задача не учебная) Мне необходимо записать регистры при включении плис значениями по умолчанию из ROM. А при первой попытке их перезаписать (сигнал wr, по "И" с сигналом дешифратора адресса) снять режим записи значениями по умолчанию. Согласен, выглядет неэлегантно, но думаю, претендовать на работоспособность может. Соответственно следующяя запись из ROM только при сбросе питания (зачем мне reset в этом случае?). Думаю, что более правильно было бы сделать сигнал init и запустиь на него какой-нить сигнал, вырабатываемый при загрузке плис (может выход на режим pll, может еще какой-нить есть...) а лучше всего подать на этот вход осознанный сигнал (в моем случае с ПК). а про триггер в таком режиме хотелось узнать просто из любопытства. Кстати, если я все таки поставлю Power-Up Don't Care - on на чем это еще может сказаться? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 3 10 сентября, 2008 Опубликовано 10 сентября, 2008 · Жалоба Вообщем, думаю что надо пояснить для чего я это все делал.. (задача не учебная) Мне необходимо записать регистры при включении плис значениями по умолчанию из ROM. А при первой попытке их перезаписать (сигнал wr, по "И" с сигналом дешифратора адресса) снять режим записи значениями по умолчанию. Вам нужен примитив dffe. По включению питания он устанавливается в 0. Потом по выбранному адресу в цикле записи записываете с шины данных лог. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться