Цитата(Ramillka1983 @ Apr 3 2007, 10:14)

такие вопросы:
1.у меня есть узел в устройстве, который в определенные моменты должен сбрасываться. У него есть собственная тактовая частота, которая в других узлах не используется. Как осуществлять сброс узла, если у меня тактовые частоты этого узла и внешнего узла, который выдает сброс, не совпадают?
2.Что такое сброс по питанию, как он реализуется на ПЛИС при разработке на HDL, какие сбросы лучше, синхронные или асинхронные?
3.Возможно ли триггерам одного узла работать и на прямом, и на обратном фронте тактовой частоты? Если да, то можно ли как-то сгенерировать сигналы сбросов и для тех, и для других триггеров? Опять таки это при реализации на ПЛИС.
1) Ну тут решение может быть например такое: узел, генерирующий сигнал сброса (для примера, пусть будет лог. 1), записывает его в триггер по своему клоку, узел, который должен быть сброшен этим сигналом, непрерывно прописывает его по своему клоку в сдвиговый регистр из 2-х триггеров, выход второго триггера служит сигналом сброса, аналогично выход этого же триггера обрабатывается устройством, генерирующим сброс, и как только генератор сброса получает в ответ лог. единицу, сброс с его стороны снимается. В принципе, можно попросту загонять сбрасываемое устройство в начальное состояние по асинхронке, но это вроде как не совсем гуд: в FPGA вообще вроде как рекомендуют не применять без крайней нужды асинхронные схемы, к тому же ведь ваше устройство возможно должно будет совершить какие-то действия перед тем как по сигналу от генератора перейти в начальное состояние. Ну, в общих чертах я бы сделал так, но я далеко не профи.
2) Не очень понял о чем речь, видимо, имеется ввиду начальная установка триггеров устройства после включения питания. Если да, то реализуется как и любой другой сброс по внешнему сигналу. Асинхронно или синхронно- это вопрос сложный, я делаю синхронно в основном. Тут вроде много тем было на этот счет, используйте поиск, где-то на форуме когда-то нашел вот этот докУмент
http://www.rapidshare.ru/234255 3) Опять не совсем понятно, если имеются ввиду одни и те же триггеры, то нет))) А вообще конечно можно использовать оба фронта, но тут могут возникнуть проблемы с производительностью, если драйвер комбинаторной цепи работает по переднему фронту, а принимающий триггер по заднему, то предельное время распространения сигнала по ней, соответственно, будет сокращено в 2 раза по сравнению со случаем, если бы все трггеры устройства работали по одному и тому же фронту. Вообще вот тема:
http://electronix.ru/forum/index.php?showtopic=27893