обратная связь в D-триггере со срабатыванием по фронту.

Печатные платы, программируемая логика, разработка и изготовление аппаратуры

Moderator: Shaos

zaicev9797
Novelist
Posts: 38
Joined: 19 Jun 2014 08:22
Location: 82.200.108.70

обратная связь в D-триггере со срабатыванием по фронту.

Post by zaicev9797 »

Экспмерементирую со схемами из книжки "Код" Чарльза Петцольда.
Сначала делал все в логисиме, пока не встал на моменте, когда из восьми Д-триггеров со срабатыванием по фронту собрали счетчик. В логисиме он не работал, т.к. на выходе каждого триггера получалсчя неопределенный сигнал - ни ноль, ни единица. Плюс логисим медленный был, т.к. написан на джаве, максимальная частота симуляции была 4Кгц, а реальная и того меньше оказывалась.
Перешел в по этой причине в протеус, т.к. не придумал как можно обойти этот прикол с неопределенностью. И обнаружил что тут тоже самое происходит.
Почему по умолчанию в проводнике идет не 0 а неопределенное число? Как это можно исправить. Изза этого в дальнейшем становится невозможно реализовать более сложные схемы из книжки.
ПС я все собираю на примитивах, т.к. меня покачто интересует устройство Процессора на логическом уровне.

 
Image
Это его кишки
Image
Вот Первый на старте не определенный. Но достаточно один раз Clk-шнуть и выходы определяются (как на втором)
Image
А вот откуда я эт все взял
Image

User avatar
Shaos
Admin
Posts: 24088
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: обратная связь в D-триггере со срабатыванием по фронту.

Post by Shaos »

А D-триггеры как построены? Надо библиотечные элементы брать (это я про логисим), тогда будет шанс, что оно заведётся

P.S. Потом уже увидел "его кишки" - не, так не полетит (либо полетит, но будет сваливаться в самовозбуд)
Я тут за главного - если что шлите мыло на me собака shaos точка net
r2020
Writer
Posts: 19
Joined: 06 Jul 2019 04:32

Re: обратная связь в D-триггере со срабатыванием по фронту.

Post by r2020 »

Так все правильно, у вас же на входе резистора нет и при включении триггер не знает в какое из состояний переключиться.
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: обратная связь в D-триггере со срабатыванием по фронту.

Post by Lavr »

zaicev9797 wrote:Перешел в по этой причине в протеус, т.к. не придумал как можно обойти этот прикол с неопределенностью. И обнаружил что тут тоже самое происходит.
Триггеры на идеальных элементах обычно не работают ни в одном пакете расчетов.
Это происходит потому, что они (идеальные логические элементы) совершенно идентичны.
В реальной жизни, триггер принимает исходное состояние из-за асимметрии, поскольку
совершенно идентичных логических элементов нет.
В реальной жизни также есть помехи по питанию и наводки, в расчетах их нет.

Поэтому, чтобы триггеры работали в расчетах им необходимо искусственно задать асимметрию.
В проекте ниже я добавил в каждое плечо динамического MS-триггера ёмкость 1 пФ - это
пренебрежимо мало.
Но эта ёмкость помогает триггеру установиться изначально. В противном случае получается
сумасшедший генератор... :wink: Что, собственно, и есть неопределённость.
MS-TRIG.gif
Это не единственный способ задать асимметрию, но другие способы описаны в Хелп Протеус,
который всё же полезно иногда читать... :lol:

Счетный триггер на идеальных элементах работать не будет, поскольку у идеальных элементов
нет задержки распространения, а счетный триггер из D-триггера задержку для своей правильной
работы предполагает априори...

Поэтому для корректного моделирования лучше брать готовые модели D-триггеров и Т-триггеров.
В них обычно начальное состояние выходов предопределено заранее чисто математически.
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: обратная связь в D-триггере со срабатыванием по фронту.

Post by Lavr »

Lavr wrote:Это не единственный способ задать асимметрию, но другие способы описаны в Хелп Протеус,
который всё же полезно иногда читать... :lol:
MS-TRIG1.gif
Так что, если кого смущают "лишние" конденсаторы в схеме, можно задать асимметрию,
указав начальные условия в какой-либо цепи.
MS-TRIG2.gif
Конденсаторы, кстати, делают то же самое: в начальный момент они разряжены и притягивают
точку подключения к потенциалу "0".
Но, используя лэйбл IC=... , можно задать произвольное число вольт в нужной точке схемы
в качестве начальных условий.
You do not have the required permissions to view the files attached to this post.
iLavr