eddddy писал(а): Пт авг 14, 2026 7:54 amзадержка конкретного элемента, повторю, определена с точностью +/-лапоть
Ну и ладно, во многих случаях такой точности достаточно.
eddddy писал(а): Пт авг 14, 2026 7:54 amкомпилятор выкинет из дизайна
Значит надо описать так, чтобы не выкинул

А может я ring oscillator делаю на длинной цепочке LE?
eddddy писал(а): Пт авг 14, 2026 7:54 amвсегда будет
Смешно. Хотим - подаем тактовый сигнал на ПЛИС, хотим - не подаем. ПЛИС может работать просто как комбинаторная логика.
eddddy писал(а): Пт авг 14, 2026 7:54 amнельзя вот так прямо перекладывать логику рассыпной цифровой схемотехники на ПЛИС, вот так вот в лоб
Ноансы, конечно, есть, например, разница в типах триггеров. Еще часто рассыпная логика проектируется из экономии асинхронной, может сказаться разница задержек. Но основные проблемы бывают в случаях, если используются RC-цепочки для формирования импульсов. И то в большинстве случаев работает, только номиналы подкорректировать. Делал и кварцевые генераторы на элементах CPLD, и даже VCO. А в моем
частотомере прямо на элементах CPLD и трех внешних транзисторах собран аналоговый интерполятор с разрешением 1 нс. На FPGA вообще делают преобразователи время-код (TDC) с разрешением в десятки пикосекунд на задержках LE, вот можете ознакомиться по
ссылке.
eddddy писал(а): Пт авг 14, 2026 7:54 amреализация ЧФД по аналогии с Э004 заставила помучаться
Я этого не делал, но особых проблем быть не должно. Заменить пары 2И-НЕ на RS-триггеры, реализовать две задержки в формирователях коротких импульсов, и получится полный аналог штатной схемы без необходимости подавать быстрый клок. Могу попробовать на макетке с CPLD, но пользы от этого мало, потому что предлагать людям собирать БУВД на CPLD - плохая идея. Мало кто с ними работает, гораздо удобней микроконтроллер. Когда-то на CPLD делал ЧФД без мертвой зоны (аналог внутреннего из AD9901), прекрасно работал, это всего 6 строчек.
eddddy писал(а): Пт авг 14, 2026 7:54 amпопробую еще раз - задержка на нужное количество тактов организовывается легко и просто
Конечно, делал такое не раз. Но это если есть такты.
eddddy писал(а): Пт авг 14, 2026 7:54 amCPLD у Альтеры, например, физически это обрезанный по функциям Циклон
Это про новые. А мне больше всего довелось работать с семейством MAX3000, использовал его с начала 2000-х. Там не так. В последнее время почти ничего на ПЛИС не делаю, нет таких проектов, где они были бы нужны. В основном использую микроконтроллеры.
eddddy писал(а): Пт авг 14, 2026 7:54 amshareable expanders в старых максах совсем не для организации задержек
А кто запрещает их так использовать? Получается задержка, плюс инверсия сигнала без расхода LCs - это же прекрасно!
eddddy писал(а): Пт авг 14, 2026 7:54 amэто костыли, которые обычно приводят к рандомности работы
Задержка на LE - это наименьшее зло, которое только можно придумать.
Странный Вы человек. Как будто я не понимаю, что лучше всего строить полностью синхронный дизайн, так и поступаю в большинстве случаев. Но есть и другие случаи, где может быть асинхронная логика, могут использоваться внутренние задержки, входы могут работать как компараторы и прочее. Если знать ограничения всех этих приемов, получится не менее надежная система, чем спроектированная по всем канонам.