<?xml version="1.0"?>
<rss version="2.0"><channel><title>&#x420;&#x430;&#x437;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x43A;&#x430; &#x446;&#x438;&#x444;&#x440;&#x43E;&#x432;&#x44B;&#x445;, &#x430;&#x43D;&#x430;&#x43B;&#x43E;&#x433;&#x43E;&#x432;&#x44B;&#x445;, &#x430;&#x43D;&#x430;&#x43B;&#x43E;&#x433;&#x43E;-&#x446;&#x438;&#x444;&#x440;&#x43E;&#x432;&#x44B;&#x445; &#x418;&#x421; Latest Topics</title><link>https://electronix.ru/forum/forum/111-razrabotka-tsifrovyh-analogovyh-analogo-tsifrovyh-is/</link><description>&#x420;&#x430;&#x437;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x43A;&#x430; &#x446;&#x438;&#x444;&#x440;&#x43E;&#x432;&#x44B;&#x445;, &#x430;&#x43D;&#x430;&#x43B;&#x43E;&#x433;&#x43E;&#x432;&#x44B;&#x445;, &#x430;&#x43D;&#x430;&#x43B;&#x43E;&#x433;&#x43E;-&#x446;&#x438;&#x444;&#x440;&#x43E;&#x432;&#x44B;&#x445; &#x418;&#x421; Latest Topics</description><language>en</language><item><title>&#x41D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x439;&#x43A;&#x430; &#x440;&#x435;&#x433;&#x438;&#x441;&#x442;&#x440;&#x43E;&#x432; AD9361</title><link>https://electronix.ru/forum/topic/165931-nastroyka-registrov-ad9361/</link><description><![CDATA[
<p>
	Приветствую всех форумчан! Встала задача на основе трансивера AD9361 реализовать SDR приемник. Для начала был закуплен кит ANTSDR E310. С гита закачал линуксовый загрузчик для ZYNQ, который из ANTSDR делает FMCCOMS. Запустил на компе под Ubuntu и проверил работу в IIO Oscilloscope и GNU RADIO. Задача разрабатываемого устройства: прием и генерация сигнала с AD9361. Интерфейс обмена Ethernet 1G под Win10. Как я понял, библиотека LibIIO от Analog Device работает только под Linux. Также Analog предлагает No-OS Software, но он требует для настройки регистров UART (поправьте если не прав). Каким образом мне лучше организовать настройку регистров AD9361, при условии, что интерфейс обмена Ethernet 1G (UDP) ? Сложно-ли настроить чип самому по SPI?
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">165931</guid><pubDate>Mon, 28 Mar 2022 17:21:45 +0000</pubDate></item><item><title>I/O &#x442;&#x440;&#x430;&#x43D;&#x437;&#x438;&#x441;&#x442;&#x43E;&#x440;&#x44B;: &#x43F;&#x43E;&#x434;&#x441;&#x43A;&#x430;&#x436;&#x438;&#x442;&#x435; &#x43F;&#x440;&#x43E; &#x438;&#x445; &#x43F;&#x430;&#x440;&#x430;&#x43C;&#x435;&#x442;&#x440;&#x44B;</title><link>https://electronix.ru/forum/topic/206073-io-tranzistory-podskazhite-pro-ih-parametry/</link><description><![CDATA[<p>
	Скажу сразу, у меня образование совсем не в направлении электроники. Все изучал сам, т.к. было интересно.<br />
	Сейчас пишу на базе QtCreator свою САПР*, которая будет очень ограничена относительно "нормальных" - там нельзя будет что угодно начертить, а только в рамках 3-4 подходов. <br />
	*)по поводу это невозможно/это не сделать/блаблабла - я не спрашиваю что я могу напрограммировать а что нет. Я спрашиваю совета на что ориентироваться при разработке. САПР будет очень ограничивать пользователя но за счет этого будет сильно проще сама по себе. Лично мне этого будет достаточно, делаю для себя. <br />
	<br />
	Есть два момента которые я не могу выяснить достоверно, но догадываюсь.<br />
	<br />
	Core транзисторы бывают с обычным порогом и повышенным. Например 0.4вольт и 0.7вольт для 1.2вольт питания.<br />
	А вот I/O транзисторы - бывают ли с повышенным порогом? Обычный порог - это когда их можно использовать в линейном режиме(Vgs - Vth &gt; Vds). Повышенный порог - это значит что области "закрытости" p и n транзисторов перекрываются(Vgs-Vth всегда &lt; Vds) и аналоговые схемы на них не сделать. <br />
	<br />
	Я покопался в тех источниках которые доступны бесплатно без смс и регистрации и мне показалось что у буржуев вроде бы они все "стандартные".<br />
	Тот же вопрос если возможно по микроновским 90нм. Нужны именно "обычные" транзисторы, а вдруг у микрона только "убогие". <br />
	Если не можете ответить прямо: просто скажите: рассчитывать ли мне на то, что I/O транзисторы будут гарантированно с "обычным порогом"?<br />
	<br />
	Второе: а могут ли на одном кристалле быть I/O транзисторы на разное напряжение питания?<br />
	Т.е. часть I/O на 2.5 вольт но побыстрее, а часть на 3.3 но помедленнее. Я подозреваю что нет, а спрашиваю потому что если в САПР сходу заложиться на только одно напряжение Vio, то многое сильно упростится. Потом можно усложнить. А если такая возможность есть + I/O транзисторы не тугие а обычные, то наоборот надо закладывать с ходу поддержку разных напряжений ввода-вывода чтоб потом 10 раз не переписывать.<br />
	<br />
	Заранее спасибо за помощь.
</p>
]]></description><guid isPermaLink="false">206073</guid><pubDate>Wed, 06 Aug 2025 19:59:41 +0000</pubDate></item><item><title>&#x421;&#x43C;&#x435;&#x448;&#x430;&#x43D;&#x43D;&#x430;&#x44F; (&#x430;&#x43D;&#x430;&#x43B;&#x43E;&#x433;&#x43E;&#x432;&#x43E;-&#x446;&#x438;&#x444;&#x440;&#x43E;&#x432;&#x430;&#x44F;) &#x441;&#x438;&#x43C;&#x443;&#x43B;&#x44F;&#x446;&#x438;&#x44F; &#x438;&#x43D;&#x442;&#x435;&#x433;&#x440;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x439; &#x441;&#x445;&#x435;&#x43C;&#x43E;&#x442;&#x435;&#x445;&#x43D;&#x438;&#x43A;&#x438; &#x43F;&#x440;&#x438; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x438; &#x431;&#x440;&#x438;&#x434;&#x436;&#x430; &#x43C;&#x435;&#x436;&#x434;&#x443; Icarus Verilog &#x438; NGSpice</title><link>https://electronix.ru/forum/topic/220141-smeshannaya-analogovo-tsifrovaya-simulyatsiya-integralnoy-shemotehniki-pri-pomoschi-bridzha-mezhdu-icarus-verilog-i-ngspice/</link><description><![CDATA[<h2 style="font-size:1.25rem;line-height:1.625rem;font-family:'Fira Sans', sans-serif;font-weight:500;margin:56px 0px 0px;padding:0px;color:rgb(51,51,51);font-style:normal;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	Смешанная (аналогово-цифровая) симуляция интегральной схемотехники при помощи бриджа между Icarus Verilog и NGSpice: две разных реализации архитектуры.
</h2>

<h3 style="font-size:1.125rem;line-height:1.4375rem;font-family:'Fira Sans', sans-serif;font-weight:500;margin:32px 0px 0px;padding:0px;color:rgb(51,51,51);font-style:normal;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	<span style="font-size:14px;">При разработке аналогово-цифровой схемотехники (например микросхемы состоящей из нескольких ЦАП или АЦП и цифрового интерфейса) возникает потребность верифицировать работу цифрового интерфейса совместно с аналоговой схемой.<br />
	Аналоговая часть как всегда выполнена в схематике SPICE а цифровая скорее всего на verilog.<br />
	Симуляторы аналогвой и цифровой части <em>устроены сильно поразному</em> <em>и работают сильно поразному</em>, а хочется совместить два в одном чтобы отлаживать работу схематики своего чипа целиком.<br />
	<br />
	Конечно финальную верификацию мы проведем в громоздких неповоротливых симуляторах коммерческих кадов или в импортозаместительных кадах (которые по заданию Минпромторга у нас в РФ делаются из OpenRoad). Но хочется иметь подрукой легковесное средство без тормозной проверки лицензий при запуске и необходимости платить за его использование (в конце концов мы можем арендовать небольшое количество рабочих мест коммерческого  CAD на небольшое время и только для финализации проекта). А все время разработки все инженеры могут иметь под рукой свободную версию ПО И это вполне возможно уже сейчас!</span><br />
	<br />
	<br />
	Что такое событийная и непрерывная симуляция?
</h3>

<p style="margin:12px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	В мире симуляции электронных систем существуют два принципиально разных подхода.
</p>

<p style="margin:24px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	<strong style="font-weight:bolder;">Событийная симуляция (event‑driven)</strong> используется для цифровых схем. Логические элементы меняют своё состояние только в моменты, когда на их входах происходят изменения – фронты тактового сигнала, переключения триггеров, задержки вентилей. Между этими событиями ничего не происходит, симулятор «спит» и не тратит ресурсы. Именно так работают Icarus Verilog, Modelsim, VCS и другие цифровые симуляторы. Это быстро и эффективно, потому что цифровые сигналы имеют лишь два (или несколько дискретных) состояния.
</p>

<p style="margin:24px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	<strong style="font-weight:bolder;">Непрерывная симуляция</strong> (или псевдонепрерывная) используется для аналоговых схем. Ток через транзистор, напряжение на конденсаторе, фаза генератора – всё это меняется плавно по законам дифференциальных уравнений. Симулятор (SPICE, NGSpice, Spectre) разбивает время на очень маленькие шаги, решает системы уравнений на каждом шаге и выдаёт результаты в виде кривых. Точность требует мельчайших шагов, особенно при резких фронтах или обратных связях. Это медленно, но другого способа получить «почти как в жизни» аналоговое поведение пока нет.
</p>

<h3 style="font-size:1.125rem;line-height:1.4375rem;font-family:'Fira Sans', sans-serif;font-weight:500;margin:32px 0px 0px;padding:0px;color:rgb(51,51,51);font-style:normal;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	Проблема смешанного моделирования
</h3>

<p style="margin:12px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	Порой возникает задача совместной симуляции (ко‑симуляции) взаимодействующих аналоговой и цифровой систем. Представьте, что вы разрабатываете SAR ADC. Аналоговая часть – компаратор, ЦАП на конденсаторах, входной буфер – требует SPICE‑моделирования с точностью до микровольт и пикосекунд. Цифровая часть – управляющая логика, калибровка, интерфейс – прекрасно считается в Icarus Verilog. Как заставить их работать вместе?
</p>

<p style="margin:24px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	Можно использовать готовые коммерческие решатели (Cadence, Synopsys), но они стоят дорого и не всегда доступны. А можно написать свой мост – VPI‑модуль, который свяжет Icarus и NGSpice через общую память и семафоры. Именно этим я и занялся.
</p>

<p style="margin:24px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	Эту задачу можно решить, запрягши два разных симулятора в одну упряжку, управляя ими попеременно и обмениваясь данными между ними. Вот мы взяли пару таких стандартных симуляторов – Icarus Verilog и NGSpice – и сделали управляемый мост.
</p>

<p style="margin:24px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	В процессе родилось две реализации:
</p>

<ul style="margin:32px 0px;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-size:16px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	<li style="line-height:1.5rem;margin:0px 0px 6px;padding:0px;">
		<p style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
			<strong style="font-weight:bolder;">«Классическая»</strong> – простая, синхронная, где Verilog явно запрашивает аналоговые данные ("digital oversampling").
		</p>
	</li>
	<li style="line-height:1.5rem;margin:12px 0px 0px;padding:0px;">
		<p style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
			<strong style="font-weight:bolder;">«Альтернативная»</strong> – с упреждающим анализом (lookahead) и инжекцией событий из SPICE в Verilog.
		</p>
	</li>
</ul>

<p style="margin:0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	Казалось бы, вторая – эволюция первой. Но на деле у каждой оказались фундаментальные архитектурные недостатки, которые невозможно исправить косметическими патчами.
</p>

<p style="margin:24px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	В этой статье я разберу обе реализации, их компромиссы и покажу, почему идеального open‑source решения для смешанного моделирования пока не существует.<br />
	<strong style="font-weight:bolder;">Спойлер:</strong> несмотря на все недостатки, инструмент уже сейчас вполне пригоден для реальных задач – от формальной верификации цифровых блоков в обвязке с аналоговыми IP до подсчёта импульсов сигма‑дельта ADC.<br />
	<br />
	<br />
	<img alt="GTKWave и gnuplot — аналоговые и цифровые сигналы на одной оси" data-ratio="75.12" width="639" src="https://habrastorage.org/r/w1560/getpro/habr/upload_files/2f9/3b2/1aa/2f93b21aae6bff3b73d6fc78b9d2c751.jpg" />
</p>

<p style="margin:24px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	Рис. 1 — GTKWave (цифровые + аналоговые) и встроенный gnuplot NGSpice. Совмещённые временные шкалы, те же сигналы.
</p>

<h3 style="font-size:1.125rem;line-height:1.4375rem;font-family:'Fira Sans', sans-serif;font-weight:500;margin:32px 0px 0px;padding:0px;color:rgb(51,51,51);font-style:normal;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	Как устроен мост: общая архитектура
</h3>

<p style="margin:12px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	Обе реализации базируются на одном и том же наборе технологий: VPI (Verilog Procedural Interface) Icarus,<span> </span><a href="http://libngspice.so/" rel="external nofollow" style="text-decoration:none;">libngspice.so</a>, пайповые семафоры, отдельный поток NGSpice. Схема работы (упрощённо):
</p>

<pre style="font-family:monospace, monospace;font-size:0.875rem;border:1px solid;line-height:1.6;margin:32px 0px 0px;padding:17px 10px 10px 20px;white-space:pre;word-spacing:0px;color:rgb(51,51,51);font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;"><code style="font-family:Menlo, Monaco, Consolas, 'Courier New', Courier, monospace;font-size:inherit;background:none;padding:0px;white-space:pre;word-spacing:normal;">Icarus (главный поток)          NGSpice (поток)
       |                              |
  $spice_sync()  (или $get_...)       |
       |                              |
   state.target = t_now               |
       |                              |
   wait(analog_done) &lt;----------------+ post(analog_done)
       |                              |
   обновить real-переменные           |
   применить alter (DAC)              |
       |                              |
   post(digital_done) -------------&gt; wait(digital_done)
       |                              |
   вернуть управление                 |
       |                              | (продолжает моделирование)</code></pre>

<p style="margin:12px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	 
</p>

<p style="margin:32px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	Проблема в том, что SPICE выдаёт результаты только в моменты своего внутреннего временного шага. А Verilog живёт событиями, которые могут быть в любые моменты времени.
</p>

<h4 style="font-size:16px;line-height:1.25rem;font-family:'Fira Sans', sans-serif;font-weight:500;margin:32px 0px 0px;padding:0px;color:rgb(51,51,51);font-style:normal;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	Важное упрощение для тестбенча: $spice_sync()
</h4>

<p style="margin:12px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	В обеих реализациях присутствует системная задача $spice_sync(). Её вызов (например, по каждому фронту быстрого тактового сигнала) выполняет полный цикл обмена: передаёт текущие цифровые значения в SPICE (через alter), запрашивает свежие аналоговые напряжения, обновляет real-переменные в Verilog. При этом не нужно вызывать $get_analog_voltage() для каждого сигнала вручную.
</p>

<pre style="font-family:monospace, monospace;font-size:0.875rem;border:1px solid;line-height:1.6;margin:32px 0px 0px;padding:17px 10px 10px 20px;white-space:pre;word-spacing:0px;color:rgb(51,51,51);font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;"><code style="font-family:Menlo, Monaco, Consolas, 'Courier New', Courier, monospace;font-size:inherit;background:none;padding:0px;white-space:pre;word-spacing:normal;">always @(posedge clk_fast) begin
    $spice_sync();   // синхронизация и обновление всех expose-переменных
    if (tb.Vcmp &gt; vref_th) begin
        // digital reaction on event
         ...
    end
end</code></pre>

<p style="margin:32px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	Благодаря expose_analog_N, real-переменные автоматически обновляются и видны в GTKWave на одной временной оси с цифровыми сигналами.
</p>

<h4 style="font-size:16px;line-height:1.25rem;font-family:'Fira Sans', sans-serif;font-weight:500;margin:32px 0px 0px;padding:0px;color:rgb(51,51,51);font-style:normal;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	Моделирование задержек и фронтов
</h4>

<p style="margin:12px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	Часто в смешанных схемах важны не только статические уровни, но и время установления цифрового сигнала и скорость нарастания аналогового фронта. В обеих реализациях это легко моделируется с помощью «обёрточных» объектов на стороне Verilog и SPICE.
</p>

<h3 style="font-size:1.125rem;line-height:1.4375rem;font-family:'Fira Sans', sans-serif;font-weight:500;margin:32px 0px 0px;padding:0px;color:rgb(51,51,51);font-style:normal;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	Классическая реализация: синхронный опрос
</h3>

<p style="margin:12px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	Каждый раз, когда Verilog нужны свежие аналоговые данные, мост узнаёт текущее время Icarus, блокируется на семафоре, SPICE считает до этого времени и возвращает значения.
</p>

<p style="margin:24px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	<strong style="font-weight:bolder;">Плюсы:</strong> простота, детерминизм, предсказуемая производительность.<br />
	<strong style="font-weight:bolder;">Минусы (главный недостаток):</strong> аналоговые события, произошедшие между тактами Verilog, полностью игнорируются. Пример: компаратор переключается в момент 5.2 нс, а следующий положительный фронт тактового сигнала — в 10.0 нс. Verilog узнает об этом только в 10 нс, что ломает логику обратной связи в SAR ADC, DC-DC преобразователях. Приходится оверсэмплить обмен данными между двумя симуляторами повшая частоту срабатывания системной задачи clk_fast.
</p>

<h3 style="font-size:1.125rem;line-height:1.4375rem;font-family:'Fira Sans', sans-serif;font-weight:500;margin:32px 0px 0px;padding:0px;color:rgb(51,51,51);font-style:normal;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	Альтернативная реализация: упреждающий анализ (lookahead)
</h3>

<p style="margin:12px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	Идея: разрешить SPICE бежать вперёд на небольшой интервал, следить за аналоговыми триггерами (пороги, окна, длительности, пики) и, если что-то произошло, остановиться и вызвать Verilog раньше. В конфиг‑файле mixed_bridge.cfg появляются строки вида:
</p>

<pre style="font-family:monospace, monospace;font-size:0.875rem;border:1px solid;line-height:1.6;margin:32px 0px 0px;padding:17px 10px 10px 20px;white-space:pre;word-spacing:0px;color:rgb(51,51,51);font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;"><code style="font-family:Menlo, Monaco, Consolas, 'Courier New', Courier, monospace;font-size:inherit;background:none;padding:0px;white-space:pre;word-spacing:normal;">analog_event_0 = threshold outp rising 1.2  | time_var=tb.analog_event_time  id_var=tb.analog_event_id
analog_event_1 = duration outp above 0.8 for 10ns energy 1e-12</code></pre>

<p style="margin:32px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	<strong style="font-weight:bolder;">Плюсы:</strong> SPICE может инициировать событие, точность в идеальных условиях, гибкость.<br />
	<strong style="font-weight:bolder;">Недостатки (фундаментальные):</strong>
</p>

<ul style="margin:32px 0px;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-size:16px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	<li style="line-height:1.5rem;margin:0px 0px 6px;padding:0px;">
		<p style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
			Sentinel-ы проверяются только на шагах SPICE — возможен пропуск события между шагами.
		</p>
	</li>
	<li style="line-height:1.5rem;margin:12px 0px 0px;padding:0px;">
		<p style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
			Эвристика длины окна может провалиться (слишком мало — опоздание, слишком много — падение производительности).
		</p>
	</li>
	<li style="line-height:1.5rem;margin:12px 0px 0px;padding:0px;">
		<p style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
			Нарушение причинности для ЦАП: alter-команда выполнится только в следующей фазе A, после того как SPICE уже проскочил момент события.
		</p>
	</li>
	<li style="line-height:1.5rem;margin:12px 0px 0px;padding:0px;">
		<p style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
			Только одно событие за окно.
		</p>
	</li>
	<li style="line-height:1.5rem;margin:12px 0px 0px;padding:0px;">
		<p style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
			Недетерминизм из-за эвристик.
		</p>
	</li>
</ul>

<p style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
	<img alt="gwave — аналоговый вьювер" data-ratio="75.12" width="639" src="https://habrastorage.org/r/w1560/getpro/habr/upload_files/da3/4c0/559/da34c05597d8b9c43c4b9fe322785f0f.jpg" />
</p>

<p style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
	 
</p>

<p style="margin:24px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	Рис. 2 — gwave: просмотр аналоговых сигналов Sigma Delta модулятора (те же vbuck, vbucki, Qbar, что и в GTKWave).
</p>

<h3 style="font-size:1.125rem;line-height:1.4375rem;font-family:'Fira Sans', sans-serif;font-weight:500;margin:32px 0px 0px;padding:0px;color:rgb(51,51,51);font-style:normal;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	Сравнительная таблица
</h3>

<p>
	 
</p>

<div style="color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-size:16px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	<div>
		<div style="margin-bottom:24px;">
			<table style="border:1px solid;text-indent:0px;border-collapse:collapse;margin:32px 0px 0px;min-width:100%;table-layout:fixed;width:auto;">
				<tbody>
					<tr>
						<th style="border:1px solid;line-height:1.5;padding:6px 12px 9px;min-width:50px;vertical-align:top;">
							<p align="left" style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
								Характеристика
							</p>
						</th>
						<th style="border:1px solid;line-height:1.5;padding:6px 12px 9px;min-width:50px;vertical-align:top;">
							<p align="left" style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
								Классическая
							</p>
						</th>
						<th style="border:1px solid;line-height:1.5;padding:6px 12px 9px;min-width:50px;vertical-align:top;">
							<p align="left" style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
								Альтернативная
							</p>
						</th>
					</tr>
					<tr>
						<td style="border:1px solid;line-height:1.5;padding:6px 12px 9px;min-width:50px;vertical-align:top;">
							<p align="left" style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
								Обнаружение аналоговых событий между тактами
							</p>
						</td>
						<td style="border:1px solid;line-height:1.5;padding:6px 12px 9px;min-width:50px;vertical-align:top;">
							<p align="left" style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
								<span class="ipsEmoji">❌</span> Нет
							</p>
						</td>
						<td style="border:1px solid;line-height:1.5;padding:6px 12px 9px;min-width:50px;vertical-align:top;">
							<p align="left" style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
								<span class="ipsEmoji">⚠️</span> Частично (с пропусками)
							</p>
						</td>
					</tr>
					<tr>
						<td style="border:1px solid;line-height:1.5;padding:6px 12px 9px;min-width:50px;vertical-align:top;">
							<p align="left" style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
								Инжекция событий из SPICE в Verilog
							</p>
						</td>
						<td style="border:1px solid;line-height:1.5;padding:6px 12px 9px;min-width:50px;vertical-align:top;">
							<p align="left" style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
								<span class="ipsEmoji">❌</span> Невозможно
							</p>
						</td>
						<td style="border:1px solid;line-height:1.5;padding:6px 12px 9px;min-width:50px;vertical-align:top;">
							<p align="left" style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
								<span class="ipsEmoji">✅</span> Да (через cbAfterDelay)
							</p>
						</td>
					</tr>
					<tr>
						<td style="border:1px solid;line-height:1.5;padding:6px 12px 9px;min-width:50px;vertical-align:top;">
							<p align="left" style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
								Производительность
							</p>
						</td>
						<td style="border:1px solid;line-height:1.5;padding:6px 12px 9px;min-width:50px;vertical-align:top;">
							<p align="left" style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
								<span class="ipsEmoji">✅</span> Предсказуемая
							</p>
						</td>
						<td style="border:1px solid;line-height:1.5;padding:6px 12px 9px;min-width:50px;vertical-align:top;">
							<p align="left" style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
								<span class="ipsEmoji">⚠️</span> Может взлететь (но maxstep помогает)
							</p>
						</td>
					</tr>
					<tr>
						<td style="border:1px solid;line-height:1.5;padding:6px 12px 9px;min-width:50px;vertical-align:top;">
							<p align="left" style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
								Детерминизм
							</p>
						</td>
						<td style="border:1px solid;line-height:1.5;padding:6px 12px 9px;min-width:50px;vertical-align:top;">
							<p align="left" style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
								<span class="ipsEmoji">✅</span> Полный
							</p>
						</td>
						<td style="border:1px solid;line-height:1.5;padding:6px 12px 9px;min-width:50px;vertical-align:top;">
							<p align="left" style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
								<span class="ipsEmoji">⚠️</span> Зависит от эвристик
							</p>
						</td>
					</tr>
					<tr>
						<td style="border:1px solid;line-height:1.5;padding:6px 12px 9px;min-width:50px;vertical-align:top;">
							<p align="left" style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
								Причинность DAC→аналог
							</p>
						</td>
						<td style="border:1px solid;line-height:1.5;padding:6px 12px 9px;min-width:50px;vertical-align:top;">
							<p align="left" style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
								<span class="ipsEmoji">✅</span> Корректна
							</p>
						</td>
						<td style="border:1px solid;line-height:1.5;padding:6px 12px 9px;min-width:50px;vertical-align:top;">
							<p align="left" style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
								<span class="ipsEmoji">❌</span> Нарушается во время фазы B
							</p>
						</td>
					</tr>
					<tr>
						<td style="border:1px solid;line-height:1.5;padding:6px 12px 9px;min-width:50px;vertical-align:top;">
							<p align="left" style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
								Поддержка множественных событий
							</p>
						</td>
						<td style="border:1px solid;line-height:1.5;padding:6px 12px 9px;min-width:50px;vertical-align:top;">
							<p align="left" style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
								<span class="ipsEmoji">❌</span> Нет
							</p>
						</td>
						<td style="border:1px solid;line-height:1.5;padding:6px 12px 9px;min-width:50px;vertical-align:top;">
							<p align="left" style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
								<span class="ipsEmoji">❌</span> Только одно за окно
							</p>
						</td>
					</tr>
					<tr>
						<td style="border:1px solid;line-height:1.5;padding:6px 12px 9px;min-width:50px;vertical-align:top;">
							<p align="left" style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
								Сложность кода
							</p>
						</td>
						<td style="border:1px solid;line-height:1.5;padding:6px 12px 9px;min-width:50px;vertical-align:top;">
							<p align="left" style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
								~2000 строк
							</p>
						</td>
						<td style="border:1px solid;line-height:1.5;padding:6px 12px 9px;min-width:50px;vertical-align:top;">
							<p align="left" style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
								~3500 строк + грамматика конфига
							</p>
						</td>
					</tr>
				</tbody>
			</table>
		</div>
	</div>
</div>

<p style="margin:0px;padding:0px;font-size:1rem;line-height:1.5rem;">
	<img alt="JavaElectric EDA — смешанная схема и SPICE нетлист" data-ratio="75.12" width="639" src="https://habrastorage.org/r/w1560/getpro/habr/upload_files/45b/489/1d1/45b4891d12002718901ed70e9f7e8539.jpg" />
</p>

<p style="margin:12px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	 
</p>

<p style="margin:24px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	Рис. 3 — JavaElectric EDA: принципиальная схема смешанного устройства (Sigma Delta modulator ADC + цифровой счётчик) и фрагмент SPICE нетлиста с описанием аналоговых событий.
</p>

<h3 style="font-size:1.125rem;line-height:1.4375rem;font-family:'Fira Sans', sans-serif;font-weight:500;margin:32px 0px 0px;padding:0px;color:rgb(51,51,51);font-style:normal;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	Несмотря на всё: это уже работает и приносит пользу
</h3>

<p style="margin:12px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	Пример: сигма-дельта модулятор с цифровым счётчиком импульсов. Аналоговая часть выдаёт короткие импульсы с переменным (в следствии изименения входного сигналя) шагом. Цифровой счётчик должен считать каждый импульс, даже если он приходит в произвольный момент между фронтами тактового сигнала. Классическая реализация с вызовом $spice_sync() по каждому фронту быстрого такта (например, 500 МГц) вполне способна задетектировать импульс, если его длительность больше периода такта. Альтернативная реализация позволяет ещё точнее фиксировать момент прихода импульса и может работать с более редкими вызовами $spice_sync(), экономя ресурсы.
</p>

<p style="margin:24px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	В обоих случаях разработчик получает возможность наблюдать аналоговые сигналы в GTKWave на одной временной оси с цифровыми сигналами, моделировать задержки и фронты через обёрточные объекты, проводить формальную верификацию цифровой логики в связке с реальными аналоговыми IP.
</p>

<pre style="font-family:monospace, monospace;font-size:0.875rem;border:1px solid;line-height:1.6;margin:32px 0px 0px;padding:17px 10px 10px 20px;white-space:pre;word-spacing:0px;color:rgb(51,51,51);font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;"><code style="font-family:Menlo, Monaco, Consolas, 'Courier New', Courier, monospace;font-size:inherit;background:none;padding:0px;white-space:pre;word-spacing:normal;">module DSMCounter(
    input i_clk,
    input i_rst,
    input i_Qbar,
    output reg[31:0] o_cntQbar,
    output reg o_ready
);
parameter CNT_CLK = 22;
reg [31:0] cnt;
reg [31:0] cntQbar;
reg [31:0] cntTotal;

always @(posedge i_clk) begin
    if(i_rst) begin
        cnt &lt;= 0;
        cntQbar &lt;= 0;
        o_cntQbar &lt;= 0;
        o_ready &lt;= 0;
        cntTotal &lt;= 0;
    end else begin
        o_ready &lt;= 0;
        cntTotal &lt;= cntTotal + 1;
        if(i_Qbar == 1) begin
            cntQbar &lt;= cntQbar + 1;
        end
        if(cnt == CNT_CLK-1) begin
            o_cntQbar &lt;= cntQbar;
            o_ready &lt;= 1;
            cnt &lt;= 0;
            cntQbar &lt;= 0;
        end else begin
            cnt &lt;= cnt + 1;
        end
    end
end
endmodule</code></pre>

<p style="margin:32px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	Рис. 4 — цифровая часть: счётчик импульсов на Verilog (модуль DSMCounter), интегрируемый в смешанную симуляцию через VPI мост.
</p>

<h3 style="font-size:1.125rem;line-height:1.4375rem;font-family:'Fira Sans', sans-serif;font-weight:500;margin:32px 0px 0px;padding:0px;color:rgb(51,51,51);font-style:normal;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	 
</h3>

<h3 style="font-size:1.125rem;line-height:1.4375rem;font-family:'Fira Sans', sans-serif;font-weight:500;margin:32px 0px 0px;padding:0px;color:rgb(51,51,51);font-style:normal;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	Что дальше? Перспективы улучшения
</h3>

<p style="margin:12px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	Я планирую добавить диагностику недостоверных результатов, реализовать очередь событий вместо одного флага, исследовать cbNextSimTime в Icarus, интегрировать ограничение maxstep прямо в конфиг моста. Возможно, когда-нибудь NGSpice обзаведётся полноценным событийным API, и тогда мост можно будет переписать «правильно».
</p>

<p style="margin:24px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	<strong style="font-weight:bolder;">P.S. Где взять код?</strong> Обе реализации лежат в открытом доступе (<span style="font-size:20px;"><strong><a href="https://github.com/cyberflex/MixFighter" rel="external nofollow" style="text-decoration:none;">https://github.com/cyberflex/MixFighter</a></strong></span>) : классическая — IcarusNGSpice/, альтернативная — IcarusNGSpice.alternative/. Конфигурация через mixed_bridge.cfg. Для компиляции нужна shared-библиотека NGSpice (./configure --with-ngshared). Используйте на свой страх и риск, но, как показала практика, для многих задач его уже достаточно.
</p>

<p style="margin:24px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	Если у вас есть идеи, как обойти описанные ограничения при текущих возможностях API симуляторов — Welcome to "issues". Успешных симуляций!
</p>

<p style="margin:24px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	<span style="font-weight:700;margin-right:4px;font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-size:16px;font-style:normal;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">Теги:</span>
</p>

<ul style="list-style:none;margin:0px;padding:0px;color:rgb(84,142,171);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-size:16px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	<li style="font-size:1rem;font-weight:500;line-height:1.75rem;text-decoration:none;padding:0px;">
		<a href="https://habr.com/ru/search/?target_type=posts&amp;order=relevance&amp;q=%5BIcarusVerilog%5D" rel="external nofollow" style="text-decoration:none;"><span>IcarusVerilog</span></a>, <a href="https://habr.com/ru/search/?target_type=posts&amp;order=relevance&amp;q=%5BSPICE%5D" rel="external nofollow" style="text-decoration:none;"><span>SPICE</span></a>, <a href="https://habr.com/ru/search/?target_type=posts&amp;order=relevance&amp;q=%5BNGSPIice%5D" rel="external nofollow" style="text-decoration:none;"><span>NGSPIice</span></a>, <a href="https://habr.com/ru/search/?target_type=posts&amp;order=relevance&amp;q=%5BCo-simulation%5D" rel="external nofollow" style="text-decoration:none;"><span>Co-simulation</span></a>, <a href="https://habr.com/ru/search/?target_type=posts&amp;order=relevance&amp;q=%5BMixed+simulation%5D" rel="external nofollow" style="text-decoration:none;"><span>Mixed simulation</span></a>, ASIC, <a href="https://habr.com/ru/search/?target_type=posts&amp;order=relevance&amp;q=%5Bverilog%5D" rel="external nofollow" style="text-decoration:none;"><span>verilog</span></a>, <a href="https://habr.com/ru/search/?target_type=posts&amp;order=relevance&amp;q=%5Bnetlist%5D" rel="external nofollow" style="text-decoration:none;"><span>netlist</span></a>
	</li>
</ul>

<p style="margin:24px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	 
</p>

<p style="margin:12px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	 
</p>

<p style="margin:12px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	 
</p>

<p style="margin:24px 0px 0px;padding:0px;font-size:16px;line-height:1.5rem;color:rgb(51,51,51);font-family:'-apple-system', BlinkMacSystemFont, Arial, sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;">
	 
</p>
]]></description><guid isPermaLink="false">220141</guid><pubDate>Mon, 13 Apr 2026 20:45:48 +0000</pubDate></item><item><title>MCP9601 &#x43D;&#x435;&#x43F;&#x440;&#x435;&#x440;&#x44B;&#x432;&#x43D;&#x43E; &#x432;&#x438;&#x434;&#x438;&#x442; Open Circuit &#x438; &#x43D;&#x435; &#x438;&#x437;&#x43C;&#x435;&#x440;&#x44F;&#x435;&#x442;.</title><link>https://electronix.ru/forum/topic/216178-mcp9601-nepreryvno-vidit-open-circuit-i-ne-izmeryaet/</link><description><![CDATA[<p>
	Всем привет !
</p>

<p>
	MCP9601 непрерывно видит Open Circuit и не измеряет. Схема включения изначально на основе референса из даташита "E" (в последствии оказалось что даташитов как минимум два)<br />
	<img alt="image.png.dbbcd2cf14e26fecde726d5f7cd10cb2.png" class="ipsImage ipsImage_thumbnailed" data-fileid="178736" data-ratio="79.17" width="480" src="https://electronix.ru/forum/uploads/monthly_2026_02/image.png.dbbcd2cf14e26fecde726d5f7cd10cb2.png" />
</p>

<p>
	При таком включении она перманентно считает, что термопары нет и ничего не хочет измерять, при этом RAW ADC кажет вполне адекватные цифры и они коррелируют с нагревом самой термопары (кстати, K-типа) 
</p>

<p>
	Так же если коротить термопару, ИС корректно видит Short-Circuit и выход из него.
</p>

<p>
	Порывшись по сети наткнулся на Errata, где описан "близкий" косяк в чипах ревизии 0x4110 и необходимость руководствоваться другим даташитом (а вот и второй) версии F, где другие номиналы резисторов.
</p>

<p>
	<img alt="image.png.f41d4c7f836d3c8f41cee0a6f772fd05.png" class="ipsImage ipsImage_thumbnailed" data-fileid="178737" data-ratio="77.37" width="486" src="https://electronix.ru/forum/uploads/monthly_2026_02/image.png.f41d4c7f836d3c8f41cee0a6f772fd05.png" />
</p>

<p>
	Но у меня версиячипа 0x4111 и не понятно, рекомендация относилась только в 4110 или ко всем последующим тоже... Но я попробовал заменить резисторы. И... ничего. Всё так же.
</p>

<p>
	 
</p>

<p>
	Сопротивоенмие самой термопары 4 Ом.
</p>

<p>
	Вот так выглядит "работа" микросхемы в точке Vsense.<br />
	<br />
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="178738" href="https://electronix.ru/forum/uploads/monthly_2026_02/image.png.259f45d058d8a8470ea526fdec674a18.png" rel=""><img alt="image.thumb.png.f0739d1d3554b499aa2b42a5a5e1f7ef.png" class="ipsImage ipsImage_thumbnailed" data-fileid="178738" data-ratio="56.25" width="640" src="https://electronix.ru/forum/uploads/monthly_2026_02/image.thumb.png.f0739d1d3554b499aa2b42a5a5e1f7ef.png" /></a>
</p>

<p>
	В даташитах есть немного разная, но всё же информация
</p>

<p>
	<img alt="image.png.253c31f673db560f5f7ebf47e1d86ecd.png" class="ipsImage ipsImage_thumbnailed" data-fileid="178740" data-ratio="70.49" width="532" src="https://electronix.ru/forum/uploads/monthly_2026_02/image.png.253c31f673db560f5f7ebf47e1d86ecd.png" /><br />
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="178739" href="https://electronix.ru/forum/uploads/monthly_2026_02/image.png.aa878f6ffe1df9e9c25fbcb2bab55dd8.png" rel=""><img alt="image.thumb.png.a47a7cf1b2a91d74c82fc292e39aa802.png" class="ipsImage ipsImage_thumbnailed" data-fileid="178739" data-ratio="22.50" width="640" src="https://electronix.ru/forum/uploads/monthly_2026_02/image.thumb.png.a47a7cf1b2a91d74c82fc292e39aa802.png" /></a>
</p>

<p>
	Правильно ли я понимаю, что при условии питания микросхемы от 3.3В, Окно "нормальной" работы в диапазоне 1,32..1,914. Речь о каком напряжении? Вон том среднем от которого импульсы подскакивают? дык оно у меня 1.65..1.85 и всё равно Open-Circuit.<br />
	<br />
	<br />
	Есть у кого-нить понимание что можно с ней сделать, чтобы оно зааботало?<br />
	<br />
	ЗЫ. Готовых образца у меня 4 и все ведут себя одинаково.
</p>
]]></description><guid isPermaLink="false">216178</guid><pubDate>Tue, 24 Feb 2026 03:15:29 +0000</pubDate></item><item><title>&#x418;&#x449;&#x443; &#x441;&#x43F;&#x435;&#x446;&#x438;&#x430;&#x43B;&#x438;&#x441;&#x442;&#x430; &#x43F;&#x43E; &#x438;&#x437;&#x433;&#x43E;&#x442;&#x43E;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x44E; &#x43F;&#x43B;&#x430;&#x442; &#x438; &#x43F;&#x440;&#x43E;&#x448;&#x438;&#x432;&#x43E;&#x43A;</title><link>https://electronix.ru/forum/topic/209797-ischu-spetsialista-po-izgotovleniyu-plat-i-proshivok/</link><description><![CDATA[<p>
	Имеется концепция «Подача чистой, фильтрованной воды»
</p>

<p>
	Есть пример платы от «конкурента», нужно сделать подобную с оплатой картой
</p>

<p>
	Если есть специалисты желающие заработать, пишите обсудим
</p>
]]></description><guid isPermaLink="false">209797</guid><pubDate>Sat, 01 Nov 2025 04:37:41 +0000</pubDate></item><item><title>&#x428;&#x43B;&#x438;&#x444;&#x43E;&#x432;&#x43A;&#x430;</title><link>https://electronix.ru/forum/topic/201432-shlifovka/</link><description><![CDATA[<p>
	Здравствуйте коллеги!
</p>

<p>
	Возник интересный вопрос - а насколько сейчас востребованы услуги послойной шлифовки кристаллов (и МПП)? Т.е. услуга по схеме: вы даёте нам вашу микросхему на инвазивное исследование и получаете комплект изображений слоёв её последовательной сошлифовки.
</p>

<p>
	И второй более интересный вопрос - может ли за это откуда-то прилететь?
</p>
]]></description><guid isPermaLink="false">201432</guid><pubDate>Thu, 13 Mar 2025 06:01:51 +0000</pubDate></item><item><title>&#x41F;&#x440;&#x438;&#x431;&#x43B;&#x438;&#x437;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x430;&#x44F; &#x441;&#x442;&#x43E;&#x438;&#x43C;&#x43E;&#x441;&#x442;&#x44C; &#x43F;&#x440;&#x43E;&#x438;&#x437;&#x432;&#x43E;&#x434;&#x441;&#x442;&#x432;&#x430; 90&#x43D;&#x43C; &#x443; &#x43C;&#x438;&#x43A;&#x440;&#x43E;&#x43D;&#x430;</title><link>https://electronix.ru/forum/topic/205311-priblizitelnaya-stoimost-proizvodstva-90nm-u-mikrona/</link><description><![CDATA[<p>
	Добрый день.<br />
	<br />
	Меня интересует приблизительная оценка стоимости 1 пластины у микрона с 90нм техпроцессом.<br />
	Не NRE - на это деньги "дадут". Нужно грубо оценить, хотя бы порядок цифр.<br />
	Погрешность +- 100к рублей вполне устроит, допустим что заказ будет достаточно большой.<br />
	Или хотя бы оценка "дороже чем TSMC в N раз" - тоже устроит.<br />
	<br />
	Нужно это для обоснования проекта. Может быть там нет смысла и начинать что-то делать или надо сразу на 40нм нацеливаться и ждать когда ж оно появится.<br />
	<br />
	К сожалению, напрямую заданный вопрос остался без ответа. Возможно им стыдно называть цену <span><span class="ipsEmoji">🙂</span></span><br />
	 
</p>
]]></description><guid isPermaLink="false">205311</guid><pubDate>Sun, 13 Jul 2025 09:39:05 +0000</pubDate></item><item><title>ANTSDR E310. &#x41F;&#x43E;&#x434;&#x43A;&#x43B;&#x44E;&#x447;&#x435;&#x43D;&#x438;&#x435; USB flash &#x43A; OTG &#x43F;&#x43E;&#x440;&#x442;&#x443;</title><link>https://electronix.ru/forum/topic/205127-antsdr-e310-podklyuchenie-usb-flash-k-otg-portu/</link><description><![CDATA[<p>
	Работаю с ANTSDR E310 (один из клонов ADALM Pluto). Появилась необходимость подключить к разъему OTG внешнюю USB flash для запуска скриптов с нее, но что-то не определяется она в /media через OTG кабель. Кусок схемы с OTG весьма странный: нет ключа для подачи питания +5В на USB разъем. Никто не пробовал подключаться к OTG на E310 или на похожих аналогах?
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="https://electronix.ru/forum/uploads/monthly_2025_07/image.png.b844fffdb8389eb2f215b49a607290e2.png" data-fileid="174256" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="174256" data-ratio="37.19" width="640" alt="image.thumb.png.1671c6f0823ad478063d1b444ceb5438.png" src="https://electronix.ru/forum/uploads/monthly_2025_07/image.thumb.png.1671c6f0823ad478063d1b444ceb5438.png" /></a>
</p>
]]></description><guid isPermaLink="false">205127</guid><pubDate>Mon, 07 Jul 2025 19:36:22 +0000</pubDate></item><item><title>&#x41C;&#x438;&#x43D;&#x438;&#x43C;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x439; &#x434;&#x438;&#x437;&#x430;&#x439;&#x43D;-&#x446;&#x435;&#x43D;&#x442;&#x440;, &#x441;&#x43E;&#x441;&#x442;&#x430;&#x432; &#x441;&#x43F;&#x435;&#x446;&#x438;&#x430;&#x43B;&#x438;&#x441;&#x442;&#x43E;&#x432; &#x438; &#x43E;&#x431;&#x43E;&#x440;&#x443;&#x434;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F;, &#x43E;&#x446;&#x435;&#x43D;&#x43A;&#x430;</title><link>https://electronix.ru/forum/topic/151490-minimalnyy-dizayn-tsentr-sostav-spetsialistov-i-oborudovaniya-otsenka/</link><description><![CDATA[
<p>
	Добрый день!
</p>

<p>
	Прошу помощи сообщества, поручили проработать вопрос необходимых ресурсов для организации малого дизайн-центра.
</p>

<p>
	Планируется к разработке несколько изделий, связанных с синтезом частот, соответственно будут присутствовать такие блоки как DDS, PLL, кварцевый генератор, и т.п., т.е. это одновременно и цифровая и аналоговая схемотехника. В работе будут присутствовать одновременно одно-два изделия.
</p>

<p>
	Вопросы:
</p>

<p>
	1. Какой минимально достаточный состав специалистов и каково их разделение по ролям (грубо говоря, design flow в людях)?
</p>

<p>
	2. Какое минимально достаточное ПО для разработки и его диапазон стоимости?
</p>

<p>
	3. Минимально необходимое оборудование.
</p>

<p>
	4. Типовые сроки разработки (грубо умножить на расходы = стоимость проекта).
</p>

<p>
	Точных оценок не требуется, нужно назвать руководству число нулей в сумме и примерный вес по статьям, достаточный для оценок масштаба проблемы.
</p>

<p>
	Буду очень признателен за информацию, можно в ЛС или по телефону. 
</p>

<p>
	Сам в этом вопросе являюсь новичком, хотя и немного понимаю процесс разработки со стороны.
</p>
]]></description><guid isPermaLink="false">151490</guid><pubDate>Mon, 01 Apr 2019 13:23:13 +0000</pubDate></item><item><title>gdspy - &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44C; Python &#x434;&#x43B;&#x44F; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B; &#x441; GDS</title><link>https://electronix.ru/forum/topic/200091-gdspy-modul-python-dlya-raboty-s-gds/</link><description><![CDATA[<p>
	Коллеги, хочу вам рассказать о полезном модуле Python - gdspy.
</p>

<p>
	<a href="https://gdspy.readthedocs.io/en/stable/" rel="external nofollow">https://gdspy.readthedocs.io/en/stable/</a><br />
	<br />
	gdspy — это библиотека Python, предназначенная для работы с GDSII-файлами. Она позволяет создавать, модифицировать и анализировать GDSII-данные, что делает её полезной для разработки и проектирования микросхем.
</p>

<p>
	Вот основные возможности и особенности модуля gdspy:<br />
	 1. Создание и манипуляция объектами:<br />
	 • gdspy позволяет создавать такие объекты, как прямоугольники, круги, пути, полигоны и другие геометрические элементы, которые могут быть использованы для проектирования схем.<br />
	 2. Уровни и ячейки:<br />
	 • В GDSII файлах содержатся ячейки, каждая из которых может содержать несколько слоёв. gdspy поддерживает работу с этими ячейками и слоями, что позволяет организовывать и структурировать проект.<br />
	 3. Работа с массивами:<br />
	 • Модуль предоставляет возможность создавать массивы объектов, что полезно при проектировании повторяющихся структур.<br />
	 4. Запись и чтение GDSII файлов:<br />
	 • gdspy может как записывать данные в GDSII формат, так и читать существующие файлы, что позволяет интегрировать его в существующие рабочие процессы.<br />
	 5. Генерация GDSII файлов:<br />
	 • Модуль предоставляет простые средства для создания GDSII файлов с нуля, включая различные геометрические формы и их взаимодействие.<br />
	 6. Поддержка сложных преобразований:<br />
	 • В gdspy есть возможности для выполнения преобразований объектов: перевороты, масштабирование, вращение и другие трансформации.<br />
	 7. Экспорт в SVG<br />
	 • gdspy позволяет экспортировать GFDII в SVG для визуализации в WEB или полиграфии. Правда при большом размере GDSII полученный файл SVG может также оказаться слишком большим для отображения на обычных ПК.
</p>

<p>
	Пример использования:
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="kwd">import</span><span class="pln"> gdspy

</span><span class="com"># Создание новой ячейки</span><span class="pln">
cell </span><span class="pun">=</span><span class="pln"> gdspy</span><span class="pun">.</span><span class="typ">Cell</span><span class="pun">(</span><span class="str">'MyCell'</span><span class="pun">)</span><span class="pln">

</span><span class="com"># Добавление геометрии: например, прямоугольника</span><span class="pln">
rect </span><span class="pun">=</span><span class="pln"> gdspy</span><span class="pun">.</span><span class="typ">Rectangle</span><span class="pun">((</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">),</span><span class="pln"> </span><span class="pun">(</span><span class="lit">10</span><span class="pun">,</span><span class="pln"> </span><span class="lit">5</span><span class="pun">))</span><span class="pln">
cell</span><span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="pln">rect</span><span class="pun">)</span><span class="pln">

</span><span class="com"># Создание и сохранение GDSII файла</span><span class="pln">
lib </span><span class="pun">=</span><span class="pln"> gdspy</span><span class="pun">.</span><span class="typ">GdsLibrary</span><span class="pun">()</span><span class="pln">
lib</span><span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="pln">cell</span><span class="pun">)</span><span class="pln">
lib</span><span class="pun">.</span><span class="pln">write_gds</span><span class="pun">(</span><span class="str">'example.gds'</span><span class="pun">)</span></pre>

<p>
	В этом примере создаётся простая ячейка с прямоугольником, который затем сохраняется в GDSII файл.
</p>

<p>
	Я также написал несколько простых скриптов с использованием этого модуля, которыми я поделюсь в следующих постах.
</p>
]]></description><guid isPermaLink="false">200091</guid><pubDate>Mon, 10 Feb 2025 15:04:18 +0000</pubDate></item><item><title>CADENCE. &#x427;&#x442;&#x43E; &#x43B;&#x443;&#x447;&#x448;&#x435; LEGACY &#x438;&#x43B;&#x438; STYLUS ?</title><link>https://electronix.ru/forum/topic/154759-cadence-chto-luchshe-legacy-ili-stylus/</link><description><![CDATA[
<p>
	Кто работал в по методологии STYLUS в тулах cadence? Если ли смысл переходить на нее?
</p>

<p>
	По предварительному ознакомлению кроме метрик и брэнчей вроде ничего серьезного там нету.
</p>
]]></description><guid isPermaLink="false">154759</guid><pubDate>Mon, 09 Dec 2019 08:38:08 +0000</pubDate></item><item><title>Virtuoso Platform &#x43F;&#x440;&#x43E;&#x435;&#x43A;&#x442;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435;</title><link>https://electronix.ru/forum/topic/169557-virtuoso-platform-proektirovanie/</link><description><![CDATA[<p>
	Добрый день!
</p>

<p>
	 
</p>

<p>
	1. Интересно спросить, кто-нибудь пользуется языком SKILL для каких-либо целей в Virtuoso? Если да, то можно примеры и, может, пару простых (но не бесполезных с точки зрения использования) скриптов для разбора?
</p>

<p>
	2. Также, пользуется кто скриптами в Spectre? Есть ли руководства попроще для проведения смешанного моделирования (аналоговая часть + цифровая из Innovus'а)?
</p>

<p>
	3. Посоветуйте книгу по схемотехнике/топологии стандартных ячеек, периферийных ячеек (контактных площадок) если есть такие. <s>Было бы здорово с расчётами параметров транзисторов под разные нагрузки и т.п.</s>
</p>
]]></description><guid isPermaLink="false">169557</guid><pubDate>Mon, 12 Dec 2022 11:08:38 +0000</pubDate></item><item><title>Useful Skew &#x431;&#x435;&#x437; &#x431;&#x443;&#x444;&#x435;&#x440;&#x43E;&#x432; &#x437;&#x430;&#x434;&#x435;&#x440;&#x436;&#x43A;&#x438; &#x432; &#x43B;&#x438;&#x43D;&#x438;&#x438; &#x441;&#x438;&#x43D;&#x445;&#x440;&#x43E;&#x43D;&#x438;&#x437;&#x430;&#x446;&#x438;&#x438;</title><link>https://electronix.ru/forum/topic/196913-useful-skew-bez-buferov-zaderzhki-v-linii-sinhronizatsii/</link><description><![CDATA[<p>
	Коллеги, доброго времени суток!
</p>

<p>
	Предлагаю метод "Extended Useful Skew" - Useful Skew без буферов задержки в линии синхронизации. Искажения формируются только заданием правил (constreints). То есть для задержки определенного регистра во времени, создавать ему отдельный тактовый сигнал (create_generated_clock), на той же линии тактирования. А так как, для движка STA, в данном случае, будет присутствовать два тактовых сигнала, то останавливать командой "set_clock_sense -stop_propagation" на требуемых регистрах. После чего, задать взаимоотношения между этими "новыми" тактовыми сигналами через "set_clock_latency" самих клоков или  через "set_multicycle_path" между этими тактовыми сигналами.
</p>

<p>
	Также для увелечения шагов сдвига использовать возможность регистра работать на инверсном клоке (если регистр так умеет, или имеется аналог в библиотеке и инверсным входом по клоку).<br />
	<br />
	В итоге получится, что мы имеем возможность с шагом в 180° сдвигать регистры и в "прошлое" и в "будущее", на неограниченную величину, без использования буферов задержки, без использования дополнительных тактовых линий. При желании можно и комбинировать с оригинальным методом, и получить еще и тонкую подстройку к смещению.
</p>

<p>
	Интересно, но  метод становиться более применим к FPGA
</p>

<p>
	В рамках эксперимента подготовил репозиторий с примером искажённого древа, и примером скрипта для автоматического фикса временных нарушений с помощью этого метода: <a href="https://github.com/GentleFly/tardil" rel="external nofollow">https://github.com/GentleFly/tardil</a>
</p>

<p>
	Очень интересно узнать мнение коллег. Может кто уже делал, что-то подобное? Мне не удалось найти в интернетах ничего подобного. Планирую публичное выступление по этой теме (30 ноября 2024), когда будет доступна видео запись приложу ссылку здесь, если модераторы позволят.
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">196913</guid><pubDate>Thu, 28 Nov 2024 11:39:10 +0000</pubDate></item><item><title>&#x41E;&#x442;&#x435;&#x447;&#x435;&#x441;&#x442;&#x432;&#x435;&#x43D;&#x43D;&#x44B;&#x439; &#x430;&#x43D;&#x430;&#x43B;&#x43E;&#x433; AD9361/AD9364</title><link>https://electronix.ru/forum/topic/161308-otechestvennyy-analog-ad9361ad9364/</link><description><![CDATA[
<p>
	Добрый день всем! 
</p>

<p>
	Хотел поинтересоваться следующим вопросом. Перспективна ли разработка отечественного аналога трансиверам AD9361 или AD9364?
</p>

<p>
	Буду признателен, если порекомендуете потенциальных потребителей данной возможной продукции. 
</p>
]]></description><guid isPermaLink="false">161308</guid><pubDate>Mon, 26 Apr 2021 17:10:46 +0000</pubDate></item><item><title>&#x422;&#x43E;&#x43F;&#x43E;&#x43B;&#x43E;&#x433;&#x438;&#x44F; &#x432; GDSII - &#x433;&#x434;&#x435; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x43D;&#x430;&#x439;&#x442;&#x438; &#x43A;&#x43E;&#x43D;&#x43A;&#x440;&#x435;&#x442;&#x43D;&#x44B;&#x435; &#x43C;&#x438;&#x43A;&#x440;&#x43E;&#x441;&#x445;&#x435;&#x43C;&#x44B;?</title><link>https://electronix.ru/forum/topic/196765-topologiya-v-gdsii-gde-mozhno-nayti-konkretnye-mikroshemy/</link><description><![CDATA[<p>
	Собственно сабж - нужны образцы реализации более-менее мощных биполяров n-p-n, (1...3)А, (15...40) В. Замечательно было бы получить файлы в GDS 78й серии - 7805,7809,7812 или аналогичных.
</p>

<p>
	Подскажите, плз, где можно найти? И можно ли?
</p>

<p>
	Спасибо!
</p>
]]></description><guid isPermaLink="false">196765</guid><pubDate>Thu, 21 Nov 2024 09:29:17 +0000</pubDate></item><item><title>&#x410;&#x43D;&#x430;&#x43B;&#x43E;&#x433;&#x43E;&#x432;&#x44B;&#x435; &#x411;&#x41C;&#x41A;</title><link>https://electronix.ru/forum/topic/174967-analogovye-bmk/</link><description><![CDATA[<p>
	Возрождаем интерес!
</p>

<p>
	А может у кого-то сохранилась информация по БМК Енисей, Фархад и Фархад-2? Особенно интересует Енисей и, в частности, чертеж его топологии (идеально - в PCAD). В ЛЭТИ, на кафедре САПР занимались работой с ним, но... сейчас там уже другие люди и получить информацию не получилось.
</p>
]]></description><guid isPermaLink="false">174967</guid><pubDate>Wed, 22 Nov 2023 10:51:42 +0000</pubDate></item><item><title>&#x420;&#x430;&#x437;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x43A;&#x430; &#x418;&#x421; &#x438; &#x43C;&#x438;&#x43A;&#x440;&#x43E;&#x44D;&#x43B;&#x435;&#x43A;&#x442;&#x440;&#x43E;&#x43D;&#x43D;&#x44B;&#x445; &#x443;&#x441;&#x442;&#x440;&#x43E;&#x439;&#x441;&#x442;&#x432;</title><link>https://electronix.ru/forum/topic/161750-razrabotka-is-i-mikroelektronnyh-ustroystv/</link><description><![CDATA[<p>
	Доброго времени суток! Не увидел отдельную тему, хотел узнать, в каких программах происходит расчёт и в каких разводка интегральных схем. связанное вычисление и моделирование, какие существуют этапы. Как ни странно, в сети по этому поводу не так много сведений можно сходу найти. Для моделирования различных структур можно использовать программу TCAD, а как насчёт принципиальных схем и разработки печатных узлов?
</p>]]></description><guid isPermaLink="false">161750</guid><pubDate>Wed, 26 May 2021 03:44:26 +0000</pubDate></item><item><title>&#x410; &#x437;&#x430;&#x440;&#x443;&#x431;&#x435;&#x436;&#x43D;&#x44B;&#x435; &#x444;&#x430;&#x431;&#x440;&#x438;&#x43A;&#x438; &#x441;&#x435;&#x439;&#x447;&#x430;&#x441; &#x432;&#x43E;&#x43E;&#x431;&#x449;&#x435; &#x434;&#x43B;&#x44F; &#x420;&#x43E;&#x441;&#x441;&#x438;&#x438; &#x434;&#x435;&#x43B;&#x430;&#x44E;&#x442; &#x447;&#x442;&#x43E;-&#x442;&#x43E;?</title><link>https://electronix.ru/forum/topic/169602-a-zarubezhnye-fabriki-seychas-voobsche-dlya-rossii-delayut-chto-to/</link><description><![CDATA[<p>
	Всем доброго дня!
</p>

<p>
	А делают ли сейчас для России заказные чипы зарубежные фабрики(в т.ч. Китай)? Или сейчас в России чипы получить - это только Микрон?
</p>

<p>
	По какой технологии сейчас лучше делать с наименьшими затратами (партия небольшая, порядка 5000 - 10000шт) ? Частоты небольшие - порядка 150МГц, полностью цифровая схема (правда, есть ПЛЛ).
</p>

<p>
	И сколько это в настоящее время стоит оценочно? Задача перенести проект с ПЛИС в чип и изготовить опытную партию. Написано все на верилоге, IP использовались по минимуму - ПЛЛ, ФИФО, умножители и сумматоры. У всего остального есть исходники.
</p>

<p>
	Заранее благодарен!
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">169602</guid><pubDate>Fri, 16 Dec 2022 12:38:48 +0000</pubDate></item><item><title><![CDATA[post-silicon debug & status info subsystem]]></title><link>https://electronix.ru/forum/topic/185342-post-silicon-debug-status-info-subsystem/</link><description><![CDATA[<p>
	Добрый день! Стоит задача разработать аппаратную реализацию механизма сбора и выдачи ошибок, статусной и отладочной информации в ASIC'е в процессе его работы (специфические аппаратные ускорители).<br />
	Может быть, кто-то может посоветовать, какие типовые решения/подходы существуют?
</p>

<p>
	(Основной опыт связан с разработкой под fpga, в разработке asic опыт гораздо меньше)
</p>
]]></description><guid isPermaLink="false">185342</guid><pubDate>Tue, 28 May 2024 15:41:05 +0000</pubDate></item><item><title>&#x41F;&#x440;&#x43E;&#x448;&#x443; &#x43F;&#x43E;&#x43A;&#x430;&#x437;&#x430;&#x442;&#x44C;, &#x43A;&#x430;&#x43A; &#x432; genus &#x441;&#x43E;&#x431;&#x438;&#x440;&#x430;&#x442;&#x44C; &#x432;&#x435;&#x440;&#x445;&#x43D;&#x438;&#x439; &#x443;&#x440;&#x43E;&#x432;&#x435;&#x43D;&#x44C; &#x438;&#x437; &#x433;&#x43E;&#x442;&#x43E;&#x432;&#x44B;&#x445; &#x43D;&#x435;&#x442;&#x43B;&#x438;&#x441;&#x442;&#x43E;&#x432;/db (&#x438;&#x435;&#x440;&#x430;&#x440;&#x445;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x438;&#x439; &#x438;&#x43B;&#x438; bottom-up flow)</title><link>https://electronix.ru/forum/topic/180462-proshu-pokazat-kak-v-genus-sobirat-verhniy-uroven-iz-gotovyh-netlistovdb-ierarhicheskiy-ili-bottom-up-flow/</link><description><![CDATA[<p>
	не имею доступа к документации, кроме как к каким-то referenc-ам. то есть общей картины для такого флоу не имею.
</p>

<p>
	хочу следующее:
</p>

<p>
	у меня уже синтезированы субмодули (то есть констрейны приложены к этому уровню). есть структурное описание верхнего уровня. хочу получить нетлист этого верхнего уровня, проверить его STA и т.д. делал раньше такое в DC - вопросов не было.
</p>

<p>
	в идеале хотел бы посмотреть фрагмент скрипта для genus, который собирает верхний уровень из его структурного описания (SV например) и заранее синтезированых инстансов, с применением/распространением констрейнов и т.д.
</p>

<p>
	-------------------------  
</p>

<p>
	link - такого нет
</p>

<p>
	elaborate top - не находит субмодулей (unresolved), хотя в псевдо-файл-системе субмодули располагаются в типа иерархии  top/submodule
</p>

<p>
	dont_touch не работает, то есть начинает пересинтезировать субмодуль (syn_gen) и т.д.
</p>

<p>
	=============
</p>

<p>
	предполагаю, что я что-то делаю не так - напрямую DC-шный скрипт переносить нельзя
</p>

<p>
	-----------------------
</p>

<p>
	в genus есть какое-то ILM flow - но я так понимаю, что это для автоматического назначения констрейнов (bottom-up). там выбрасывается логика из субмодулей, поэтому не стал дальше смотреть. 
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">180462</guid><pubDate>Mon, 11 Mar 2024 07:15:17 +0000</pubDate></item><item><title>&#x418;&#x437;&#x433;&#x43E;&#x442;&#x43E;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x435; &#x447;&#x438;&#x43F;&#x43E;&#x432; &#x420;&#x424;</title><link>https://electronix.ru/forum/topic/166279-izgotovlenie-chipov-rf/</link><description><![CDATA[
<p>
	Всем здравствуйте,
</p>

<p>
	Возник такой вопрос: есть ли в РФ предприятие, к которому можно обратиться насчет изготовления-выпечки чипов? Я понимаю, что сейчас это достаточно болезненный вопрос, но всё-таки. Крупными мазками, что надо: 130 нм, процесс 8RF-DM. Смешанная аналого-цифровая схема (ADC-TDC). Размер 21x21 mm^2. Полный набор документации доступен.
</p>

<p>
	Может кто-то что-то посоветует?
</p>

<p>
	Спасибо.
</p>
]]></description><guid isPermaLink="false">166279</guid><pubDate>Tue, 03 May 2022 08:20:31 +0000</pubDate></item><item><title>&#x418;&#x43E;&#x43D;&#x43D;&#x43E;&#x435; &#x43B;&#x435;&#x433;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435;, &#x432;&#x43E;&#x437;&#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x43B;&#x438; &#x43D;&#x430; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x43A;&#x430;&#x445; &#x440;&#x435;&#x430;&#x43A;&#x442;&#x438;&#x432;&#x43D;&#x43E;-&#x438;&#x43E;&#x43D;&#x43D;&#x43E;&#x433;&#x43E; &#x442;&#x440;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x44F;?</title><link>https://electronix.ru/forum/topic/171201-ionnoe-legirovanie-vozmozhno-li-na-ustanovkah-reaktivno-ionnogo-travleniya/</link><description><![CDATA[<p>
	Всем доброго дня!
</p>

<p>
	Возник тут в спорах вопрос, чисто из интереса. Возможно ли на установках RIE ионное легирование? В принципе ведь там энергия ионов достаточно точно контролируется напряжением, можно маской закрыть ненужные области, открыть нужные и из какого-то (какого, кстати?) газа получить нужные легирующие ионы и направлять их на подложку. 
</p>

<p>
	Что скажут спецы в этой области?
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">171201</guid><pubDate>Sat, 20 May 2023 11:14:07 +0000</pubDate></item><item><title>AD9361 NO-OS. &#x41F;&#x43E;&#x442;&#x43E;&#x43A;&#x43E;&#x432;&#x430;&#x44F; &#x43F;&#x435;&#x440;&#x435;&#x434;&#x430;&#x447;&#x430; IQ &#x432; &#x440;&#x435;&#x436;&#x438;&#x43C;&#x435; DMA.</title><link>https://electronix.ru/forum/topic/171689-ad9361-no-os-potokovaya-peredacha-iq-v-rezhime-dma/</link><description><![CDATA[<p>
	Пытаюсь организовать потоковую передачу IQ в ЦАП в режиме DMA трансивера AD9361. В коде который предоставляет AD по умолчанию стоит циклический режим: dac_dma_write(AXI_DMAC_REG_FLAGS, DMAC_FLAGS_CYCLIC), меняю этот на непрерывный dac_dma_write(AXI_DMAC_REG_FLAGS, DMAC_FLAGS_TLAST), жду конца передачи, анализирую dac_dma_read(AXI_DMAC_REG_START_TRANSFER, &amp;reg_val), если 0, читаю dac_dma_read(AXI_DMAC_REG_IRQ_PENDING, &amp;reg_val), жду, когда 0 и 1 бит этого регистра в 1. Та вот 0 бит <span style="color:#636363;font-size:14px;text-align:left;">START_OF_TRANSFER в единице, а 1 бит END_OF_TRANSFER в нуле. Если пропускать проверку этого регистра, то при следующей передаче </span>AXI_DMAC_REG_START_TRANSFER остаётся в единице. Уже голову сломал, читал поддержку AD, вроде всё делаю правильно. Помогите решить проблему. Код прилагаю:
</p>

<pre class="ipsCode prettyprint lang-c prettyprinted"><span class="pln">dac_dma_write</span><span class="pun">(</span><span class="pln">AXI_DMAC_REG_CTRL</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">);</span><span class="pln">
dac_dma_write</span><span class="pun">(</span><span class="pln">AXI_DMAC_REG_CTRL</span><span class="pun">,</span><span class="pln"> AXI_DMAC_CTRL_ENABLE</span><span class="pun">);</span><span class="pln">
dac_dma_write</span><span class="pun">(</span><span class="pln">AXI_DMAC_REG_IRQ_MASK</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0x0</span><span class="pun">);</span><span class="pln">
dac_dma_write</span><span class="pun">(</span><span class="pln">AXI_DMAC_REG_IRQ_PENDING</span><span class="pun">,</span><span class="pln"> </span><span class="pun">&amp;</span><span class="pln">reg_val</span><span class="pun">);</span><span class="com">// здесь считываю 1</span><span class="pln">
dac_dma_write</span><span class="pun">(</span><span class="pln">AXI_DMAC_REG_IRQ_PENDING</span><span class="pun">,</span><span class="pln"> reg_val</span><span class="pun">);</span><span class="pln">
dac_dma_write</span><span class="pun">(</span><span class="pln">AXI_DMAC_REG_FLAGS</span><span class="pun">,</span><span class="pln"> DMAC_FLAGS_TLAST</span><span class="pun">);</span><span class="com">// устанавливаю непрерывный режим</span><span class="pln">
dac_dma_write</span><span class="pun">(</span><span class="pln">AXI_DMAC_REG_SRC_ADDRESS</span><span class="pun">,</span><span class="pln"> DAC_DDR_BASEADDR</span><span class="pun">);</span><span class="com">//устанавливаю адрес</span><span class="pln">
dac_dma_write</span><span class="pun">(</span><span class="pln">AXI_DMAC_REG_SRC_STRIDE</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0x0</span><span class="pun">);</span><span class="pln">
dac_dma_write</span><span class="pun">(</span><span class="pln">AXI_DMAC_REG_X_LENGTH</span><span class="pun">,</span><span class="pln"> </span><span class="lit">4096</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1</span><span class="pun">);</span><span class="com">//задаю длину</span><span class="pln">
dac_dma_write</span><span class="pun">(</span><span class="pln">AXI_DMAC_REG_Y_LENGTH</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0x0</span><span class="pun">);</span><span class="pln">
dac_dma_write</span><span class="pun">(</span><span class="pln">AXI_DMAC_REG_START_TRANSFER</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0x1</span><span class="pun">);</span><span class="com">//старт первой передачи</span><span class="pln">
dac_dma_read</span><span class="pun">(</span><span class="pln">AXI_DMAC_REG_START_TRANSFER</span><span class="pun">,</span><span class="pln"> </span><span class="pun">&amp;</span><span class="pln">reg_val</span><span class="pun">);</span><span class="pln">
</span><span class="kwd">do</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
	dac_dma_read</span><span class="pun">(</span><span class="pln">AXI_DMAC_REG_START_TRANSFER</span><span class="pun">,</span><span class="pln"> </span><span class="pun">&amp;</span><span class="pln">reg_val</span><span class="pun">);</span><span class="pln"> </span><span class="com">//считываю 0, передача поставлена в очередь</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="kwd">while</span><span class="pun">(</span><span class="pln">reg_val </span><span class="pun">==</span><span class="pln"> </span><span class="lit">1</span><span class="pun">);</span><span class="pln">


</span><span class="kwd">do</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
  dac_dma_read</span><span class="pun">(</span><span class="pln">AXI_DMAC_REG_IRQ_PENDING</span><span class="pun">,</span><span class="pln"> </span><span class="pun">&amp;</span><span class="pln">reg_val</span><span class="pun">);</span><span class="pln"> </span><span class="com">//читаю биты START_OF_TRANSFER( '1' ) b END_OF_TRANSFER( '0' ) </span><span class="pln">
	</span><span class="pun">}</span><span class="pln">
</span><span class="kwd">while</span><span class="pun">(</span><span class="pln">reg_val </span><span class="pun">!=</span><span class="pln"> </span><span class="pun">(</span><span class="pln">AXI_DMAC_IRQ_EOT </span><span class="pun">|</span><span class="pln"> AXI_DMAC_IRQ_SOT</span><span class="pun">));</span><span class="com">// не выполняется т.к. END_OF_TRANSFER всегда в нуле</span><span class="pln">
</span><span class="com">//// пробовал убирать эту проверку, но тогда при следующей передачи, когда читаю dac_dma_read(AXI_DMAC_REG_START_TRANSFER, &amp;reg_val), он всегда в единице</span></pre>

<p>
	 
</p>
]]></description><guid isPermaLink="false">171689</guid><pubDate>Fri, 07 Jul 2023 10:14:46 +0000</pubDate></item><item><title>&#x420;&#x430;&#x437;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x43A;&#x430; &#x446;&#x438;&#x444;&#x440;&#x43E;&#x432;&#x43E;&#x433;&#x43E; &#x447;&#x438;&#x43F;&#x430; 90..180 &#x43D;&#x43C;, &#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x441;&#x435;&#x439;&#x447;&#x430;&#x441; &#x441;&#x442;&#x43E;&#x438;&#x442;&#x44C;?</title><link>https://electronix.ru/forum/topic/171913-razrabotka-tsifrovogo-chipa-90180-nm-skolko-mozhet-seychas-stoit/</link><description><![CDATA[<p>
	Всем доброго дня. Охота прицениться, в наше время сколько примерно стоит разработка чипа (именно что касается проектирования, не изготовления)? Прорабатывается один проект, возможно придется искать исполнителей в части разработки чипа. Не пишу в раздел "предлагаю работу", т.к. есть много "но". Сейчас же важно понимать порядок цен за разработку. Возможно подвернется возможность заказать чип. Есть исходники в verilog, SV, так сказать, "FPGA prooven". Т.е. все работает в FPGA. Правда, конечно, с использованием библиотечных FIFO и памяти, но это уже детали.   
</p>

<p>
	Всем заранее благодарен за информацию!
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">171913</guid><pubDate>Sun, 30 Jul 2023 12:25:20 +0000</pubDate></item><item><title>&#x423;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x43A;&#x430; Formality  &#x438;&#x437; &#x43C;&#x435;&#x441;&#x442;&#x43D;&#x43E;&#x433;&#x43E; ftp</title><link>https://electronix.ru/forum/topic/170388-ustanovka-formality-iz-mestnogo-ftp/</link><description><![CDATA[<p>
	Всем привет,<br />
	Пытаюсь установить Formality P-2019.03-SP2 из местного ftp. Устанавливаю на Centos 7 через VirtualBox. После установки запускаю:<br />
	<br />
	fm_shell -gui <br />
	<br />
	Получаю:<br />
	<br />
	License Failure (-96) - Not authorized for feature Formality.<br />
	<br />
	Что надо дополнительно сделать, чтобы это вылечить?  
</p>
]]></description><guid isPermaLink="false">170388</guid><pubDate>Mon, 06 Mar 2023 15:06:16 +0000</pubDate></item></channel></rss>
