Цифровой частотный тройник

Как я могу реализовать цифровую схему, используя логические логические элементы? введите описание изображения здесь
Как видите, на каждом нарастающем фронте происходит колебание, и после колебания сигнал возвращается к ВЫСОКОМУ логическому уровню. Это также относится и к падающему фронту.

У вас есть тактовый сигнал в вашем дизайне? Какова частота часов по сравнению с входом?
Нет, у меня нет тактового сигнала. Входной сигнал этой схемы является выходом чистой комбинационной логической схемы. Переходы происходят за счет изменения входов схемы комбинационного источника.
Вам разрешено использовать реактивные компоненты или все должно быть полностью цифровым?
Я думаю, что это связано с другим его вопросом - electronics.stackexchange.com/questions/150209/… - может быть, другая проблема для того же курса? Если на курс?
@pkp Я хочу использовать результаты каждого вопроса в одной и той же задаче, однако это разные вопросы с разными деталями.
VSB, Хорошо, можете ли вы использовать дискретные компоненты, такие как резисторы и конденсаторы, или вам нужно сделать все это в кремнии?

Ответы (3)

Попробуйте создать два новых сигнала с помощью RC-цепи задержки и триггера Шмитта:

введите описание изображения здесь

Затем используйте вентили исключающего ИЛИ для трех сигналов, чтобы создать желаемый выходной сигнал.

Хм ... Я не думаю, что вы отвечаете именно на его вопрос ... он спросил , как это сделать с (только?) логическими вентилями, и его другой вопрос ( electronics.stackexchange.com/questions/150209/… ) приводит меня поверить, что он проходит какой-то курс по элементам цифровой микроэлектроники. Тем не менее, хороший ответ на общий вопрос, и, ну, на самом деле, в некоторой степени задержки распространения микроэлектронных схем можно рассматривать как задержки RC.
Я разместил желаемый ответ.
@PkP - это сложно, потому что слово «только» можно использовать для исключения источников питания и развязывающих конденсаторов. Хорошо, я немного настаиваю на этом, но я также хотел бы отметить, что задержка логического элемента в основном связана с зарядкой конденсаторов через устройства с ограниченным током, и это очень похоже на резисторно-конденсаторные элементы. Ага, я вижу, что вы сказали это выше.

Если это чисто асинхронный дизайн, как вы говорите, вам нужно генерировать собственные сигналы синхронизации. Если это вопрос университетских исследований, то ожидаемый ответ, вероятно, состоит в том, чтобы использовать задержки распространения независимых вентилей для передачи сигналов вверх и вниз; подключить несколько логических элементов (например, инверторов) друг за другом, чтобы сделать сигналы с различными задержками распространения. Затем используйте независимые логические элементы, чтобы объединить задержанные сигналы в нужную вам форму выходного сигнала. Этот метод возможен с полностью индивидуальной конструкцией ИС или с использованием отдельных логических элементов (таких как логические ИС серии 74HCxxx). Но эта методология проектирования невозможна с FPGA, потому что FPGA не имеют отдельных вентилей. (Если только вы не разместите и не проложите ПЛИС вручную, используя вентили из отобранных вручную макроячеек, свойства которых вам известны.)

Другие методы проектирования требуют создания тактового сигнала с помощью какого-либо генератора. Затем вы можете использовать этот тактовый сигнал для создания синхронного проекта, который можно реализовать с помощью любой методологии проектирования по вашему выбору, например, с помощью ПЛИС. (Я упоминаю FPGA, потому что вы говорите о них в другом своем вопросе).

Я реализовал схему sktechd на схеме ниже:

схематический

смоделируйте эту схему - схема, созданная с помощью CircuitLab

Реализация его в Verilog и моделирование на Xilinx ISE с учетом задержек ворот приводит к следующему результату:введите описание изображения здесь

Благодарю за разъяснение. Так в основном вы сделали, как я предложил?
Да, однако я думаю, что практический результат в FIELD будет намного лучше, так как я думаю, что задержка распределительных коробок и проводов не отслеживается в моделировании полностью.
Хорошо спасибо. Просто помните, что если вы реализуете это в FPGA, это может работать или не работать, в зависимости от того, как отображаются вентили. Обычно логический оптимизатор удаляет эти инверторы (порты «НЕ»), и вы получите «исключающее или исключающее или а», которое является таковым , так что исключающее ИЛИ также будет оптимизировано, а выход будет напрямую подключен к входу (без выработанная логика).
Я добавил (* KEEP = "TRUE" *)вентили INV, чтобы они не удалялись во время синтеза.