Эмулятор логических схем: Logisim [Русский]

Содержание

Logisim [Русский]


Снимок экрана Logisim 2.7.1

Обновление: Теперь доступен Logisim 2.7.1. Изменения по сравнению с предыдущими версиями. (21 марта 2011)

Logisim — это образовательный инструмент для разработки и моделирования цифровых логических схем. Благодаря простому интерфейсу панели инструментов и моделированию схем по ходу их проектирования, Logisim достаточно прост, чтобы облегчить изучение основных понятий, связанных с логическими схемами. При возможности постройки больших схем из меньших подсхем и рисования пучков проводов одним перетаскиванием мыши, Logisim может быть использован (и используется) для проектирования и моделирования целых процессоров в образовательных целях.

Logisim используется студентами колледжей и университетов по всему миру во многих типах курсов, начиная от краткого курса по логике в обзорном изучении информатики в общеобразовательных учреждениях, кончая курсами по организации ЭВМ и полными курсами по архитектуре компьютеров.

Logisim — программное обеспечение с открытым исходным кодом и работает под управлением Windows, Linux и Macintosh.

[Инструкции по загрузке Logisim]

[Документация на русском языке]

Использование русского перевода

Перевод на русский язык интерфейса программы и всей документации входит в состав стандартного выпуска Logisim (переводчик — Илья Лилов). Для использования русского перевода:

  1. После запуска Logisim, выберите пункт Preferences… из меню File. (На Macintosh выберите из меню Logisim.)
  2. Выберите вкладку International в окне Preferences.
  3. Выберите Russian из выпадающего меню Language.

Комментарии

Отчеты об ошибках, пожелания и вопросы (на английском языке, пожалуйста!) приветствуются на странице Logisim на SourceForge.net. Вы также можете связаться с Карлом Берчем (Carl Burch), основным разработчиком, прямо через cburch@cburch. com.

Пишем эмулятор простых логических схем

from itertools import product
from copy import deepcopy


class Element:
    """
        input_w  -- количество входных проводов
        output_w -- количество выходных проводов
        type     -- тип элемента ('составной' или 'NAND')
    """
    def __init__(self, input_w, output_w, type='составной'):
        # инициализируем нулями массивы входов и выходов
        self.input = [0] * input_w
        self.output = [0] * output_w
        # указываем тип элемента
        self.type = type
        # создаём список для внутренних элементов
        self.elements = []
        # создаём список соединяющих проводов
        self.wires = []

    def push_element(self, element):
        # проталкиваем элемент в список
        self.elements.append(element)
        # и возвращаем его номер в списке
        return len(self.elements) - 1

    def connect_wire(self, wire_a, wire_b):
        # добавляем провод в список
        self.
wires.append((wire_a, wire_b)) def execute(self): # если элемент NAND, то считаем по формуле if self.type == 'NAND': # X NAND Y = NOT (X AND Y) = (NOT X) or (NOT Y) # см. законы де Моргана self.output[0] = (not self.input[0]) % 2 or (not self.input[1]) % 2 # и выбирай любое из условий :) # self.output[0] = (not (self.input[0] and self.input[1])) % 2 # иначе, если элемент составной: elif self.type == 'составной': """ идём по всем проводам, где from_e -- начало провода to_e -- конец провода """ for from_e, to_e in self.wires: # если from_e -- вход у элемента if from_e[0] == 'in_self': wire = from_e[1] # запоминаем установленных вход во временную переменную result = self.input[wire] # если from_e -- выход у внутреннего элемента elif from_e[0] == 'out': # вытаскиваем номер элемента и провод из from_e idN, wire = from_e[1:] # и запоминаем установленных выход во временную переменную result = self.
elements[idN].output[wire] # если to_e -- вход внутреннего элемента if to_e[0] == 'in': # вытаскиваем номер элемента и провод idN, wire = to_e[1:] # устанавливаем значение сигнала на проводе используя ту самую переменную self.elements[idN].input[wire] = result # и выполняем код внутри элемента self.elements[idN].execute() # если to_e -- выход у самого элемента elif to_e[0] == 'out_self': wire = to_e[1] # то просто записываем результат на его выход self.output[wire] = result """ Реализация NOT """ # создадим элемент NAND (два входа и один выход) nand_e = Element(2, 1, type='NAND') # создадим элемент NOT (вход и выход) not_e = Element(1, 1) # добавим элемент внутрь и получим его id nand_id = not_e.push_element(deepcopy(nand_e)) # соединяем нулевой вход элемента NOT и нулевой вход у NAND not_e.
connect_wire(('in_self', 0), ('in', nand_id, 0)) # соединяем нулевой вход элемента NOT и первый вход у NAND not_e.connect_wire(('in_self', 0), ('in', nand_id, 1)) # соединяем выходы not_e.connect_wire(('out', nand_id, 0), ('out_self', 0)) # + можно сделать проверку на корректность результатов not_e.input[0] = 0 not_e.execute() assert(not_e.output[0] == 1) not_e.input[0] = 1 not_e.execute() assert(not_e.output[0] == 0) """ Реализация AND """ # создадим элемент AND (два входа и один выход) and_e = Element(2, 1) # добавим NOT и NAND not_id = and_e.push_element(deepcopy(not_e)) nand_id = and_e.push_element(deepcopy(nand_e)) # теперь соединяем провода # B = X NAND Y and_e.connect_wire(('in_self', 0), ('in', nand_id, 0)) and_e.connect_wire(('in_self', 1), ('in', nand_id, 1)) # A = NOT B and_e.connect_wire(('out', nand_id, 0), ('in', not_id, 0)) # result = A and_e.connect_wire(('out', not_id, 0), ('out_self', 0)) # и делаем проверку for signal in product(range(2), repeat=2): and_e.input = list(signal) and_e.
execute() prof = signal[0] and signal[1] assert(and_e.output[0] == prof) """ Реализация OR """ # создаём элемент OR (два входа и один выход) or_e = Element(2, 1) # добавляем нужные элементы nand_id_1 = or_e.push_element(deepcopy(nand_e)) nand_id_2 = or_e.push_element(deepcopy(nand_e)) nand_id_3 = or_e.push_element(deepcopy(nand_e)) # и соединяем провода # A = X NAND X or_e.connect_wire(('in_self', 0), ('in', nand_id_1, 0)) or_e.connect_wire(('in_self', 0), ('in', nand_id_1, 1)) # B = Y NAND Y or_e.connect_wire(('in_self', 1), ('in', nand_id_2, 0)) or_e.connect_wire(('in_self', 1), ('in', nand_id_2, 1)) # C = A NAND B or_e.connect_wire(('out', nand_id_1, 0), ('in', nand_id_3, 0)) or_e.connect_wire(('out', nand_id_2, 0), ('in', nand_id_3, 1)) # result = C or_e.connect_wire(('out', nand_id_3, 0), ('out_self', 0)) # и делаем проверку for signal in product(range(2), repeat=2): or_e.input = list(signal) or_e.execute() prof = signal[0] or signal[1] assert(or_e.output[0] == prof) """ Реализация XOR """ # создаем элемент XOR (два входа и один выход) xor_e = Element(2, 1) # добавляем элементы nand_id = xor_e.
signal[1], signal[0] and signal[1]] assert(hadd_e.output == prof) """ Сумматор """ # создаём сумматор (три входа и два выхода) add_e = Element(3, 2) # добавляем элементы ha_id_1 = add_e.push_element(deepcopy(hadd_e)) ha_id_2 = add_e.push_element(deepcopy(hadd_e)) or_id = add_e.push_element(deepcopy(or_e)) # и соединяем провода # я думаю вы сможете найти схему полного сумматора на двух полусумматорах # и разобраться в этом коде! add_e.connect_wire(('in_self', 0), ('in', ha_id_1, 0)) add_e.connect_wire(('in_self', 1), ('in', ha_id_1, 1)) add_e.connect_wire(('in_self', 2), ('in', ha_id_2, 1)) add_e.connect_wire(('out', ha_id_1, 0), ('in', ha_id_2, 0)) add_e.connect_wire(('out', ha_id_1, 1), ('in', or_id, 0)) add_e.connect_wire(('out', ha_id_2, 1), ('in', or_id, 1)) add_e.connect_wire(('out', ha_id_2, 0), ('out_self', 0)) add_e.connect_wire(('out', or_id, 0), ('out_self', 1)) # делаем финальную проверку по таблице истинности table = [ # X Y Z S C [0, 0, 0, 0, 0], [1, 0, 0, 1, 0], [0, 1, 0, 1, 0], [1, 1, 0, 0, 1], [0, 0, 1, 1, 0], [1, 0, 1, 0, 1], [0, 1, 1, 0, 1], [1, 1, 1, 1, 1] ] for x, y, z, s, c in table: add_e.
input = [x, y, z] add_e.execute() assert(add_e.output == [s, c])

Популярный симулятор электрических схем под Windows для виртуального анализа.

Multisim

Multisim — возможно самая продвинутая программа для создания и симулирования электронных схем и печатных плат.
Программа multisim — это целая лаборатория схемотехнического моделирования,
которая предназначена для разработки принципиалок и проектирования печатных плат на профессиональном уровне.
Multisim имеет простой удобный интерфейс и позволяет с легкостью моделировать сложные принципиальные схемы и
проектировать многослойные печатные платы. Просто нужно программу multisim установить на ваш компьютер.
Установка multisim выполняется быстро и просто. На этом сайте вы можете скачать бесплатно и на хорошей скорости.
Последняя версия multisim имеет новейшую графическую среду моделирования и новый эмулятор микроконтроллера.
В новой версии multisim значительно увеличен размер базы данных компонентов, а также увеличена производительность
и скорость компоновки элементов и разводки частей с помощью нового инструмента Ultiboard.
Программа multisim имеет новую возможность программно подключать к уже собранной электронной схеме виртуальные приборы,
переключатели, потенциометры для мониторинга изменения электронных величин в реальном времени.

Новый русский multisim скачать бесплатно
Программа multisim
инструмент устранения расходимости
параметризованные модели SPICE
вывод на электронные представления начальных условий
расширена функциональность электрического пробника
глубокий анализ схеммных решений с расширенными возможностями
совместная имитация микроконтроллера и MCU модуля
увеличение объема и качества базы компонентов
1200 новых компонентов от ведущих производителей
новые биполярные источники тока и напряжения
жидкокристаллические графические индикаторы
обозначение одним символом базовых логических компонентов
применение передовых методов моделирования
высокая скорость обработки объемной информации
эталонная точность и углубленный анализ
пригодна для использования в домашних условиях
успешно заменяет дорогое оборудование
возможно добавление новых электронных моделей
имеет простой в использовании интерфейс
способна имитировать работу компьютерной периферии
имитирует основные контрольно-измерительные приборыПрограмма представляет собой электронный конструктор, позволяющий
имитировать на экране монитора процессы сборки электросхем,
исследовать особенности их работы, проводить измерения физических
величин так, как это делается в реальном физическом эксперименте. Профессионалы знают, что программа для составления электрических схем помогает при настройке микроконтроллеров. Если Вы неудачно установили: Перед переустановкой почистите реестр от лицензий. Запускаем regedit.exe и ищем «national»; найденные ключи, только (!) если относятся к этой проге (сразу видно будет) удаляем. Доп. информация: National Instruments выпустила новые версии программных пакетов NI Multis 11 и NI Ultiboard 11. Симулятор последней версии программы обладает повышенной функциональностью, новыми возможностями пользовательского интерфейса и поддерживают более 300 новых компонентов от лидирующих мировых производителей. Благодаря новым возможностям разработка и создание прототипов электрических схем может проводиться гораздо быстрее и с большей точностью.
С помощью конструктора можно:
— изучать зависимость сопротивления проводников от удельного
сопротивления его материала, длины и поперечного сечения;
— изучать законы постоянного тока — закон Ома для участка цепи и закон Ома
для полной цепи;
— изучать законы последовательного и параллельного соединения
проводников, конденсаторов и катушек;
— изучать принципы использования предохранителей в электронных схемах;
— изучать законы выделения тепловой энергии в электронагревательных и
осветительных приборах, принципы согласования источников тока с нагрузкой;
— ознакомиться с принципами проведения измерений тока и напряжения в
электронных схемах с помощью современных измерительных приборов
(мультиметр, двухканальный осциллограф), наблюдать вид переменного тока на
отдельных деталях, сдвиг фаз между током и напряжением в цепях
переменного тока;
— изучать проявление емкостного и индуктивного сопротивлений в цепях
переменного тока, их зависимость от частоты генератора переменного тока и
номиналов деталей;
— изучать выделение мощности в цепях переменного тока;
— исследовать явление резонанса в цепях с последовательным и
параллельным колебательным контуром;
— определять параметры неизвестной детали;
— исследовать принципы построения электронных фильтров для цепей  переменного тока.

Multisim 11.0.2Программа _700Mb_DEPOSITFILES c таблеткой, русификатором и подробными инструкциями по установке

5 видеоуроков по Multisim_120Mb__DEPOSITFILES

6 книг самоучителей по Multisim__108Mb__DEPOSITFILES

‎App Store: Симулятор цифровых схем Lite

The most enjoyable and realistic Digital logic gates circuits simulator.

DigicalSim (ранее: iLogicDesigner) — полнофункциональное приложение, которое помогает студентам в логическом дизайне, цифровой инженерии, информатике и математике.
Приложение основано на базовых цифровых строительных блоках, логических воротах. Никакое знание логических ворот или цифровых схем не требуется.
Он предлагает базовые строительные блоки, инструменты для проводки и гибкую плоскость для создания живых цифровых схем реального времени, идеально подходящую для тех, кто хочет изучить основные принципы работы компьютеров — особенно студенты цифровой техники, научиться создавать простые логические ворота , защелки, триггеры, сумматоры, сдвиговые регистры и счетчики. он может помочь им выполнить полные лабораторные эксперименты.

► Особенности:
— AND, NAND, OR, NOR, XOR, XNOR, Buffer, NOT, jk Flip-Flop, D Flip-Flop, T Flip-Flop, Switch, Clock, Vcc, GND, VLink-Out, VLink-In, LED, 7-сегментный дисплей, светодиодный стековый бар и метка.
— Входные ворота (3 и 4) входа для ворот (AND, NAND, OR, NOR, XOR, XNOR).
— Многоцветные гладкие изогнутые провода.
— Возможность добавления виртуальных ссылок для аккуратных схем.
— Неограниченное прокручиваемое пространство самолета, для сверхбольших проектов.
— Режим запуска для просмотра чистой схемы при работе в режиме реального времени.
— Блокировка цепи, для безопасного запуска.
— Два режима работы переключателя (Toggle или Pulse).
— Синхронизированные генераторы синхронизируемых цифровых сигналов. с регулируемой частотой.
— Коммутаторы могут быть связаны с работой исключительно вместе.
— Оба эффекта положительного края и отрицательного края поддерживаются для триггеров с индикатором.
— Настраиваемый светодиодный цвет.
— Индикаторы живой стоимости на каждой ноге, для легкого анализа.
— Настраиваемый тег для элементов.
— Настраиваемые ярлыки можно добавлять в любом месте.
— Защелка сетки Design-Time для более удобного выравнивания и более чистого внешнего вида.
— Масштабирование и выключение. Также можно автоматически увеличить масштаб до Show Circuit extents.
— Persistent Circuit, он автоматически сохраняет текущую схему, которая будет завершена позже.
— Сохранение и загрузка цепей с помощью диспетчера файлов.
— Библиотека готовых примеров схем для быстрого запуска.
— Схемы Можно использовать и печатать.
— Переустанавливаемое начало схемы.
— Добавить еще одну цепь к текущей цепи.
— Выделите проводники ворот во время перетаскивания.
— Выбрать, снять выделение, дублировать, перемещать и удалять ворота в группах.
— Группы элементов могут иметь отличительный цвет и ярлык с настраиваемым шрифтом и цветом шрифта.
— Автоматическая прокрутка плоскости при достижении края при прокладке, перетаскивании или выборе.
— Упругий прямоугольник выбора для простого выбора элементов.
— Отменить функциональность, с 10 шагами назад.
— Прямая проводка для использования с Apple Pen.
— Поддержка Pick’n Drop.

Новости | Breaks — Nintendo Entertainment System / Famicom / Dendy emulator

2020-02-10 — GraphFlow

После всех пертрубаций с выбором движка (императивный движок на Си, реактивное программирование, симулятор Verilog и пр.) решил остановиться на движке графов.

Со временем программист «эволюционирует» от обычных массивов к спискам (List), а потом и к деревьям (Trees). Вершиной эволюции структур данных являются судя по всему графы (их можно наблюдать как в структурах молекул, так и в нейросетях и даже галактики формируют сетеподобную структуру, то есть это естественная структура данных во Вселенной)

Более подробная информация по устройству движка находится в его ридми: https://github. com/ogamespec/breaks/tree/master/GraphFlow

Также вместе с движком идут несколько примеров (SampleGraphs), с которыми можно побаловаться в программе.

В настоящее время ведется работа по переводу в граф схемы Famicom, которая затем будет сэмулируована вначале с применением HLE-графов, а потом по мере добавления логических схем и обычными логическими графами.

2018-12-02 — Новый движок сайта и вики

Сайт переведен на легковесный движок Pico CMS.

Все страницы сайта теперь представляют собой обычные Markdown текстовые файлы.

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

На вики добавлен сертификат SSL, который бесплатно предоставляется хостером, а движок вики (DokuWiki) обновлен до последней версии и стиль изменен на более легкочитаемый.

EDIT 2020: Сертификат убрал по причине просрочки бесплатного периода использования.

2016-04-10 — Переезд на Github

В связи с закрытием Google Code репозиторий переезжает на Github:

https://github.com/ogamespec/breaks/

Разработка проекта продолжается, но не так агрессивно, как раньше. В качестве целевой платформы окончательно выбран DotNet / C#

Из целей проекта были убраны тестирование ядра 6502 на фриварных эмуляторах (так как архитектура ядра не подходит ни для одного Open source эмулятора), а также собственный NSF player.

2014-11-09 — Random logic

Завершена схема самой сложной части 6502 — рандомной логики и исполнительной логики (dispatch).

Схема работает в симуляторе и выполняет инструкции)

Следующий этап — проанализировать как 6502 производит управление нижней частью. Для этого нужно собрать данные какие он отправляет команды на каждом из циклов исполнения.

После чего можно объединить верхнюю часть с нижней и сделать полную симуляцию 6502.

2014-10-26 — Полная логическая схема обработки прерываний

Завершил разбор схемы обработки прерываний. Схема включает в себя все механизмы.

Вкратце принцип работы: входные сигналы /NMI, /IRQ, /RES поступают на входные триггеры.

Для обработки прерываний дополнительно требуется схема генерации 6 и 7 циклов (так как они не поступают с декодера) (контрольные сигналы BRK6E и BRK7). Причём контрольный сигнал BRK6E начинается во время PHI2 6-го цикла и заканчивается во время PHI1 7-го цикла. Сделано это для того, чтобы определить фронт (edge) сигнала /NMI.

Определением фронта /NMI занимается классическая схема edge detect на базе двух RS-триггеров.

Сигнал /RES дополнительно сохраняется на RESET FLIP/FLOP, так как он требуется для других схем рандомной логики (в частности для особого управления контактом R/W).

Факт прихода любого прерывания отражается на флаге B, выход которого (B_OUT) принудительно заставляет процессор выполнить инструкцию BRK (код операции 0x00). Таким образом разрабочтики унифицировали обработку всех прерываний.

Последняя небольшая схема формирует адрес (или вектор) прерывания (контрольные линии 0/ADL0, 0/ADL1 и 0/ADL2), которые управляют младшими 3 разрядами шины адреса.

2014-01-30 — Симуляция PPU

Начаты работы по симуляции PPU, уже сделана самая большая и сложная часть (управляющая логика и генератор видеосигнала).

Новый подход в симуляции заключается в использовании программы Logisim. Программа имеет некоторые ограничения: нет двунаправленных контактов и использование бистабильных защёлок вызывает «возбуждение» схемы, но их можно обойти. Вместо двунаправленных контактов можно использовать спаренные I/O линии, а бистабильные ячейки памяти легко заменяются стандартными триггерами.

Удобной фичей программы является «инкапсуляция» отдельных схем в графические блоки, в виде черных ящиков 🙂

Схема полностью логическая, за исключением декодеров H/V, которые удобнее делать решеткой транзисторов (при необходимости их также можно заменить элементами NOR).

Основная задача — проверить логическую схему на правильность работы, чтобы потом её можно было симулировать более быстрыми способами.

Работа как обычно ведется в прямом эфире, за процессом составления схемы можно следить онлайн 🙂

2013-12-03 — Верилог

После некоторых раздумий было решено добавить Verilog-транслятор.

Это позволит симулировать схемы на естественном языке.

Разработка транслятора находится где-то по середине: уже готов лексический анализатор и парсер, но никак не могу определиться каким образом обрабатывать reg/wire в сочетании с input/output, а также как собственно транслировать полученное после парсера дерево.

http://wiki.breaknes.com/sim 

2013-10-17 — Ошибка в адресной линии 6502

Найдены не замеченные ранее транзисторы в выходных схемах адресной линии 6502.

Особо этот косяк на логику не влиял.

(незамеченные транзисторы обведены кружочками)

В вики добавлено описание работы этих схем : http://wiki.breaknes.com/6502:address_bus

2013-09-28 — Что нового

Давненько не было новостей, но это не значит что ничего не происходит 🙂

  • Я начал переводить все транзисторные схемы в «красивый» формат sPlan. Сделано это для того, чтобы создать подобие схемы Балазца с полным 6502 на ней.
  • Очень много обновлений в вики. Что-то конкретного сказать точно не могу, почитайте, там много чего появилось ) Кстати вики переведена на новый дизайн.
  • И я по прежнему нахожу ошибки в транзисторных схемах. На этот раз был обнаружен не замеченный ранее транзистор для вспомогательной схемы 6502 — JB (Jump/Branch).
  • Была разрешена очередная «дилемма» в симуляции 6502, которую я называю «транзисторные гонки» (race conditions) или «Что было первее — курица или яйцо). Про это (и конфликтные состояние шины) можно почитать в вики : http://wiki.breaknes.com/6502:control

2013-09-13 — В стране кризис

Теперь можно помочь проекту, для приобретения профессиональной аппаратуры:

2013-08-23 — Первые минуты жизни 6502

Почти через год исследований стало наконец понятно, как начинает свою работу 6502.

Подробнее в вики : http://wiki.breaknes.com/6502:phi1

2013-08-19 — Улучшения отладчика

В отладчик добавлены новые элементы управления : «локаторы» и «коллекторы». Локаторы позволяют быстро перемещаться между блоками микросхемы, а коллекторы позволяют выводить и изменять сразу пачку битов (регистры, шины) посредством окошка ввода. Дублируемые галочки теперь изменяются одновременно.

Также добавлена поддержка закладок, при этом в каждой закладке отображается своя микросхема. Подчищен код проекта и полностью переведён на Qt.

Делаются попытки собрать статичную линковку Qt SDK, но пока безуспешные =)

2013-08-16 — Освоение Qt

Определился с внешним видом и функционалом отладчика и среды, в которой будет работать эмулятор.

Приложение работает на базе Qt, создание проекта происходит в QtCreator. Qt стал действительно мощным и удобным тулкитом.

Отладчик будет представлять собой окно, с загруженной туда картинкой транзисторной (или какой-либо ещё) схемой процессора и расположенными поверх неё виджетами.

Минимальный набор — это кнопка «Next Step», которая вызывает функцию Step() этой микросхемы, для симуляции одного полутакта.

Все контрольные линии, защелки и триггеры будут выглядеть в виде чекбоксов, которые можно щелкать, тем самым меняя значение с 0 на 1 и наоборот.

Задний фон совместно с чекбоксами может масштабироваться и скроллиться мышкой для быстрого перемещения по схеме.

Таким образом управляющие элементы топологически становятся привязанными к схеме, чтобы не запутаться.

Вначале я хотел сделать это через HTML5 + Webkit, при этом задник рендерился бы как GIS-карта, но мне не удалось победить чекбоксы — они прыгали по всей схеме, при изменении размеров окна. Поэтому сделал по другому — в виде QGraphScene (загрузив туда jpg) + обычные QWidgets.

2013-07-30 — Переход на sPlan

В связи с тем, что Circuitlab стала платной я стал искать новую среду, для рисования логических схем. Выбор пал на sPlan — универсальную программу для рисования любых схем.

Схемы всех процессоров будут постепенно переведены в формат sPlan и будут находится по постоянным адресам:

Пока производится перевод схем 6502 из Circuitlab в sPlan, параллельно на «другом компе» начаты предварительные работы по восстановлению логической схемы PPU.

2013-06-26 — Логические схемы нижней части 6502

Потихоньку идет к завершению процесс получения логических схем нижней части 6502.

В первую очередь была восстановлена схема «сердца» процессора — ALU

На очереди его «счетный орган» — Program Counter :

Также в целях проекта пригодились картографические программы. Вот что получилось: http://breaknes.com/files/6502/tilemap/ 

Edit 02.12.2018: Данный инструментарии был удален с сайта (не пригодился).

2013-06-25 — Проекту 1 год!

Незаметно так летит жизнь и суета вместе с ней. Примерно год назад стартовал этот проект.

Изначально планировалось завершить его к зиме 2013-го, но прошло уже пол года, а 3 старенькие микросхемы всё ещё хранят в себе множество тайн и загадок )

2013-06-19 — Обновления сайта и логическая схема 6502

На сайте произошло много внутренних изменений в плане движка, чтобы им было удобнее управлять. В частности появился новый раздел Новости (загрузка всех превьюшек с YouTube/Twitch стала занимать много времени)

В разделе Скачать кроме даты последнего обновления теперь можно посмотреть подробную историю изменений выложенных файлов, отдельно для 6502, APU и PPU.

Ну и главная новость — практически полностью восстановлена логическая схема верхней части 6502! (осталось исправить мелкую схему DL/DB). Сейчас я веду серию стримов, посвященную боданию с последовательностью выполнения процессора. Стало понятно, что хотя функционально процессор разбит на 2 части (верхняя и нижняя) — выполнять по очереди их нельзя, вся эта гребанная лапша работает совместно и дополняет друг друга 🙂

Транзисторные схемы 6502 были серьезно подчищены и для удобства разделены на верхнюю и нижнюю часть. Их теперь всегда можно получить по фиксированным URL.

Параллельно были подчищены схемы PPU, который следующий на очереди получения логической схемы

2013-05-31 — Обновил схемку спрайтовой FIFO

Обновил схемку спрайтовой FIFO (схема, в которой хранится текущие 8 спрайтов для вывода на строку) и добавил туда схему приоритета спрайтов. Схема оказалась хитрым каскадом из NOR, планирую сделать её логическую схему, ибо над логикой приоритета спрайтов уже достаточно долго бьются лучшие умы NESDEV-а. Попутно выяснил назначение одной неизвестной линии. Это оказалась важная «Sprite 0 Hit».
Все схемки PPU (включая трассировку) обновлены в соотв. разделе.
 

2013-05-22 — Исходники PSD для всех схем APU

После непродолжительного творческого хиатуса продолжаем!
В разделе Скачать появились исходники PSD для всех схем APU :

Попутно обновил топологию APU небольшими фиксами.

2013-05-05 — Схема адресного контроллера PPU

История началась с того, что мне на почту написал китайский студент и указал на ошибку в маленькой транзисторной схеме, которая располагается в самом низу чипа PPU.
На момент подробного изучения я знал только то, что она как-то связана с адресной шиной PPU. Оказалось что она более сложная и выполняет функции контроллера этой шины. Конкретно, она устанавливает контакты RD, WR и /ALE, а также выдает внутрь PPU ряд управляющих команд.
Закончилась вся история стримом, где мы общаемся с HardWareMan-ом и чешем репу в догадках о работе схемы.
В результате была получена логическая схема этого адресного контроллера, а также я обновил PSD файлы в разделе «Скачать» (DATAREAD и ADDRCTRL).
Более подробно про схему адресного контроллера >>> тут

Watch live video from ogamespec on TwitchTV

2013-04-30 — Завершение транзисторных схем

За время с последнего обновления произошло много новостей, перечислю вкратце:

  • Схема DPCM APU стала последней крупной схемой семейства чипов NES, поэтому можно сказать что этап восстановления транзисторных схем 6502, APU и PPU завершён!
  • В разделе Скачать выложена обновленная схема 6502, а также пережата топология PPU, в результате чего файл уменьшился с 220 Мб до 40 🙂 Связано это с тем, что хостинг не резиновый и мы вплотную приблизились к лимиту в 2000 Мб.
  • В разделе Чтиво появилось несколько подробных описаний схем 6502. После получения транзисторной схемы было решено восстановить логические схемы на уровне NAND/NOR, чтобы досконально изучить особенности работы и облегчить симуляцию чипа. В отношении APU/PPU планируется провести соответствующие работы.
  • Немного поработал над дизайном и внутренним содержимым сайта, надеюсь вам понравилось моё творчество 🙂
  • Мы окончательно перебрались на новую платформу Twitch, которая позволяет стримить в HD-качестве, также решили проблему с импортированием видео на Youtube, а проблему со звуком решим в ближайшее время, путём приобретения гарнитуры.

2013-04-03 — Прогресс в APU: NOISE и TRIANGLE

Очередной прогресс в изучении APU : получены схемы шумового и треугольного каналов.

Также испытал новую платформу для стримов высокого качества Twicth TV + Open Broadcaster Software:

Watch live video from ogamespec on TwitchTV
Ну и сами схемы:

Осталась схема генерации DMC и парочка мелких вспомогательных схем.

2013-03-05 — APU квадратный канал

Квадратный канал. Записан уже целый ряд стримов, где мы пытаемся понять как устроена эта схема. В прямом эфире общаемся с Quietust-ом:

2013-02-20 — APU Length counters

Потихоньку начинаем разбор схем APU. В первую очередь были разобраны length counters, которым было посвящено 2 стрима:

Схема:

А также готова схема спрайтовой DMA, подробнее можно почитать в разделе «Чтиво».

2013-02-16 — Отличия встроенного в APU 6502

После детального изучения схемы 2A03 были получены следующие результаты.
— Отличий в декодере не обнаружено
— Флаг D работает как обычно, его можно установить или сбросить, он используется нормальным образом при обработке прерываний (сохраняется в стеке) и после выполнения инструкций PHP/PLP, RTI.
— Рандомная логика отвечающая за генерацию двух контрольных линий DAA (decimal addition adjust) и DSA (decimal subtraction adjust) работает обычным образом.

Отличие заключается в том, что контрольные линии DAA и DSA, отвечающие за включение схем коррекции, отсоединены от схемы, путём вырезания 5 кусочков полисиликона (см. картинку). полисиликон обозначен фиолетовым цветом, вырезанные кусочки обозначены голубым, а места обведены красным.

Это приводит к тому, что схема вычилсения десятичного переноса при сложении и схема добавления/отнимания 6 к результату — не работают. Поэтому встроенный процессор 2A03 всегда считает двоичными числами, даже если флаг D установлен.

After detailed study of 2A03 circuit following results were obtained:
— No differences were found in the instruction decoder
— Flag D works as expected, it can be set or reset by CLD/SED instructions; it is used in the normal way during interrupt processing (saved on stack) and after execution of PHP/PLP, RTI instructions.
— Random logic, responsible for generating the two control lines DAA (decimal addition adjust) and DSA (decimal subtraction adjust) works normally.

The difference lies in the fact that the control lines DAA and DSA, which enable decimal correction, are disconnected from the circuit, by cutting 5 pieces of polysilicon (see picture). Polysilicon marked as purple, missing pieces marked as cyan.

As result decimal carry circuit and decimal-correction adders do not work.
Therefore, the embedded processor of 2A03 always considers add/sub operands as binary numbers, even if the D flag is set.

 

2013-02-13 — Как происходит исполнение инструкций 6502

Как происходит исполнение инструкций 6502.
1. Из входного тактового импульса PHI0 получаются два полутактовых импульса: PHI1 и PHI2
2. На защелки /NMI, /IRQ, /RES подаются входные значения
3. Обработка RDY и сдвигового регистра RDY для Branch T0
4. На декодер подаются текущие значения T и IR
5. На основе выходных линий с декодера, управляющих линий с Predecode-логики, сигнала RDY, флагов(+контакта SO) и логики прерываний генерируются управляющие сигналы для нижней части процессора
6. Работает нижняя часть процессора (X,Y,S,АЛУ,PC,шины)
7. Изменяются флаги, на основе результатов работы нижней части
8. При необходимости IR загружается новым значением или обновляется T, для обработки следующего цикла инструкции.

2013-02-04 — Разобрана схема ALU 6502

Полностью разобрана и симулирована схема ALU. Отчет размещал на 6502.org, поэтому на английском. Копирую сюда для истории 🙂
Hello, today I finally completed ALU.

I wrote some documentation on it, and made some tests for decimal mode. You can find it below.

ALU internals

ALU Inputs:

I/ADDC : input carry (inverted)
/DAA, /DSA : used for decimal correction:
for ADC /DAA=0,/DSA=1; for SBC /DAA=1,/DSA=0. B
SUMS: A + B + carry
SRS : shift right to 1

Output controls:
— from adder hold register:
ADD/SB06 : adder hold[0-6] -> SB[0-6]
ADD/SB7 : adder hold[7] -> SB[7]
ADD/ADL : adder hold -> ADL
— from accumulator:
AC/SB : accumulator -> special bus
AC/DB : accumulator -> data bus
SB/DB : special bus = data bus

Internal registers:
ADD : adder hold register for intermediate result (before decimal correction).
Also can be used for address calculation.
AC : accumulator. Hold final add/subtract result, after optional decimal correction.

Random notes and facts:

— ALU has inverted carry chain between odd/even bits, to reduce propagation delay.
— ALU write intermediate result to adder hold register (ADD) during PHI2, and updating accumulator (AC) at same time.
Final result placed on acumulator only on following PHI1 half-cycle.
This is need to make sure no conflicts happen, during refreshing of AC register. carry.
— Decimal correction is actually +6

To add A + B, do the following:
— put A on special bus (SB)
— put B on data bus (DB)
— optionally set input carry
— wait dummy PHI1 half-cycle
— if you need to add in decimal mode, set /DAA = 0, /DSA = 1.
— perform commands on next PHI2 : SB/ADD, DB/ADD, SUMS
— perform commands on next PHI1 : ADD/SB06, ADD/SB7, SB/AC
— get result from accumulator (AC)

To subtract A — B, do the following:
— put A on special bus (SB)
— put B on data bus (DB)
— force to set input carry
— wait dummy PHI1 half-cycle
— if you need to subtract in decimal mode, set /DAA = 1, /DSA = 0.
— perform commands on next PHI2 : SB/ADD, NDB/ADD (- perform commands on next PHI1 : ADD/SB06, ADD/SB7, SB/AC
— get result from accumulator (AC)

So basically A — B = A + NOT(B) + 1

ALU pipeline :
— load input registers (AI and BI)
— ORS, ANDS, SRS: perform logic operations, based on NAND and NOR
— EORS: perform exclusive-OR, based on NAND/NOR
— SUMS: calculate sum of two operands based on XOR and additional XOR it with carry
— DAA: calculate decimal carry and half-carry on-the-fly
— hold intermediate result in ADD register
— set output carry and overflow flags
— output carry is set whenever binary carry or decimal carry happens
— DSA: perform decimal adjustment (+6) to intermediate result and put it on accumulator

ALU circuit

Nicely cleaned and correct.

ALU Simulation

You can find it on Google code : http://code.google.com/p/breaks/source/ … 6502/ALU.c

Decimal mode tests

ALU tests in decimal mode, based on :
http://visual6502.org/wiki/index.php?ti … ecimalMode

ADC: AI + BI + Carry = AC, V out, C out

79 + 00 + 1 = 80, V:1, C:0
24 + 56 + 0 = 80, V:1, C:0
93 + 82 + 0 = 75, V:1, C:1
89 + 76 + 0 = 65, V:0, C:1 !!! result!
89 + 76 + 1 = 66, V:0, C:1 !!! result!
80 + F0 + 0 = D0, V:1, C:1
80 + FA + 0 = E0, V:1, C:1 !!! V-flag
2F + 4F + 0 = 74, V:0, C:0
6F + 00 + 1 = 76, V:0, C:0

SBC: AI + !BI + Carry = AC, V out, C out

00 — 00 + 0 = 99, V:0, C:0
00 — 00 + 1 = 00, V:0, C:1
00 — 01 + 1 = 99, V:0, C:0
0A — 00 + 1 = 0A, V:0, C:1
0B — 00 + 0 = 0A, V:0, C:1
9A — 00 + 1 = 9A, V:1, C:1 !!! V-flag
9B — 00 + 0 = 9A, V:1, C:1 !!! V-flag

By !!! I marked some differencies. Looks like Visual6502 has some problems in decimal mode. Because if you look, for example on 89 + 76, it should be 0x165 (0x65 + carry), but Visual6502 somehow has 0x55 as a result, which is incorrect of couse.

Additional reading

US Patent 3991307 : http://www.google.com/patents/US3991307

Its really nothing to say anything else, its done

2013-01-25 — Серия стримов по изучению 6502

Начинаю серию стримов по изучению процессора 6502:

Пока получается не очень интересно, потому что мне трудно «уцепиться» за схему из-за её непомерной сложности. Но разум не отступает перед машинами и человечество обязательно победит! На канале Youtube уже находится почти 40 часов стримов.

В итоге немного улучшил схему 6502:

PS. Обновленный PSD 6502 можно скачать в соответствующем разделе.

2013-01-17 — Первый опыт выхода в эфир

Продолжаем разработки после новогдних праздников 🙂
Первая новость: я решил попробовать демонстрировать процесс разработки в прямом эфире, в стриме на Youtube. Вот что получилось:

Пока что выхожу в эфир каждый вечер примерно в 21:00 по мск.

Вторая новость : выложил все исходные PSD на PPU:

Скачать все файлы можно в соответствующем разделе. Enjoy!

2012-11-26 — Эмуляция 6502 практически завершена (ухаха.. а уже почти 2019)

Эмуляция 6502 практически завершена. Осталось доделать всего несколько блоков рандомной логики и можно начинать тестирование на ошибки.
Немного статистики:

Объем исходных данных (микрофотографии, топологическая схема)215 MB
Объем полученной документации (текст и схемы)45 MB
Объем исходного кода~60 KB (включая комментарии)
Скорость работы (без оптимизаций)~0.2 / 4 MIPS (5%)


После завершения работ и тестирования ядра будет произведена массивная табличная оптимизация промежуточных состояний, для увеличения производительности.

В разделе «Скачать» появились исходные схемы 6502. Архив будет периодически обновляться.

2012-11-22 — Карта связей

Сделал карту связей (propagation map) для рандомной логики 6502:

Такого до меня ещё никто не делал для исследования чипов, поэтому я очень доволен своим изобретением 🙂 С помощью этой карты можно легко узнать в какой очередности работает тот или иной кусок.

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

2012-11-22 — Оптимизация схемы 6502

Успехи в эмуляции H/V логики PPU подтолкнули меня к дальнейшему улучшению схемы 6502:


Из схемы были убраны все лишние провода, которых было просто невразумительно много, что очень усложняло понимание схемы. Также я расставил метки на динамические защелки (желтые гексагоны), aka SR-триггеры. В основном это биты регистра флагов, но есть ещё парочка вспомогательных.
Плюс как оказалось — выходные линии «драйверов» логики это тоже динамические защелки. Правда они очищаются когда PHI2=1.

Ну и параллельно обозначил большинство блоков рандомной логики. Теперь схема выглядит гораздо понятней 🙂

2012-11-16 — Симуляция логики H/V PPU

Вообщем победил логику работы H/V, результаты ниже.

Что интересного обнаружил:
— H тикает от 0 до 340 (всего 341 пиксель), V тикает от 0 до 261 (всего 262 строки).
— Счёт пикселей самой первой строки начинается с 1, потому что 0й пиксель на самом деле рендерится, начиная с H=329.
— Количество видимых пикселей 256, но размер «картинки» NTSC немного больше. Связано это с тем, что после видимых пикселей выводится так называемый «front porch» (черный край).
— PPU начинает работу непосредственно с рендеринга пикселей. После отображения видимых пикселей выводится вначале front porch, а потом back porch, которая включает в себя hblank и colorburst. Значения когда что начинается в H следующие:
0: не понятно, типа заглушки чтоли
1-256: видимые пиксели
257-279: front porch
271-328: back porch (как видно у них происходит пересечение)
280-304: hblank
309-323: color burst
329-340: начало выборки и рендеринга 0го пиксела следующей строки

Напоминаю структуру композитного NTSC-сигнала:

Чуть позже выложу табличку с командами H/V логики остальному чипу, для каждого значения H.

— 16 ноя 2012, 14:22 —

Немного пояснений:
H/V — текущие значения счетчиков
далее идут названия команд H/V — это те самые контрольные линии, которые расползаются по всему чипу и управ. Расшифровка команд после таблицы.

Самая первая строка:
H:1 V:0 I/OAM2 F/NT VIS PICTURE
H:2 V:0 I/OAM2 F/NT VIS PICTURE
H:3 V:0 I/OAM2 F/AT VIS PICTURE
H:4 V:0 I/OAM2 F/AT VIS PICTURE
H:5 V:0 I/OAM2 F/TA VIS PICTURE
H:6 V:0 I/OAM2 F/TA VIS PICTURE
H:7 V:0 I/OAM2 F/TB VIS PICTURE
H:8 V:0 I/OAM2 F/TB VIS PICTURE
H:9 V:0 I/OAM2 F/NT VIS PICTURE
H:10 V:0 I/OAM2 F/NT VIS PICTURE
H:11 V:0 I/OAM2 F/AT VIS PICTURE
H:12 V:0 I/OAM2 F/AT VIS PICTURE
H:13 V:0 I/OAM2 F/TA VIS PICTURE
H:14 V:0 I/OAM2 F/TA VIS PICTURE
H:15 V:0 I/OAM2 F/TB VIS PICTURE
H:16 V:0 I/OAM2 F/TB VIS PICTURE
H:17 V:0 I/OAM2 F/NT VIS PICTURE
H:18 V:0 I/OAM2 F/NT VIS PICTURE
H:19 V:0 I/OAM2 F/AT VIS PICTURE
H:20 V:0 I/OAM2 F/AT VIS PICTURE
H:21 V:0 I/OAM2 F/TA VIS PICTURE
H:22 V:0 I/OAM2 F/TA VIS PICTURE
H:23 V:0 I/OAM2 F/TB VIS PICTURE
H:24 V:0 I/OAM2 F/TB VIS PICTURE
H:25 V:0 I/OAM2 F/NT VIS PICTURE
H:26 V:0 I/OAM2 F/NT VIS PICTURE
H:27 V:0 I/OAM2 F/AT VIS PICTURE
H:28 V:0 I/OAM2 F/AT VIS PICTURE
H:29 V:0 I/OAM2 F/TA VIS PICTURE
H:30 V:0 I/OAM2 F/TA VIS PICTURE
H:31 V:0 I/OAM2 F/TB VIS PICTURE
H:32 V:0 I/OAM2 F/TB VIS PICTURE
H:33 V:0 I/OAM2 F/NT VIS PICTURE
H:34 V:0 I/OAM2 F/NT VIS PICTURE
H:35 V:0 I/OAM2 F/AT VIS PICTURE
H:36 V:0 I/OAM2 F/AT VIS PICTURE
H:37 V:0 I/OAM2 F/TA VIS PICTURE
H:38 V:0 I/OAM2 F/TA VIS PICTURE
H:39 V:0 I/OAM2 F/TB VIS PICTURE
H:40 V:0 I/OAM2 F/TB VIS PICTURE
H:41 V:0 I/OAM2 F/NT VIS PICTURE
H:42 V:0 I/OAM2 F/NT VIS PICTURE
H:43 V:0 I/OAM2 F/AT VIS PICTURE
H:44 V:0 I/OAM2 F/AT VIS PICTURE
H:45 V:0 I/OAM2 F/TA VIS PICTURE
H:46 V:0 I/OAM2 F/TA VIS PICTURE
H:47 V:0 I/OAM2 F/TB VIS PICTURE
H:48 V:0 I/OAM2 F/TB VIS PICTURE
H:49 V:0 I/OAM2 F/NT VIS PICTURE
H:50 V:0 I/OAM2 F/NT VIS PICTURE
H:51 V:0 I/OAM2 F/AT VIS PICTURE
H:52 V:0 I/OAM2 F/AT VIS PICTURE
H:53 V:0 I/OAM2 F/TA VIS PICTURE
H:54 V:0 I/OAM2 F/TA VIS PICTURE
H:55 V:0 I/OAM2 F/TB VIS PICTURE
H:56 V:0 I/OAM2 F/TB VIS PICTURE
H:57 V:0 I/OAM2 F/NT VIS PICTURE
H:58 V:0 I/OAM2 F/NT VIS PICTURE
H:59 V:0 I/OAM2 F/AT VIS PICTURE
H:60 V:0 I/OAM2 F/AT VIS PICTURE
H:61 V:0 I/OAM2 F/TA VIS PICTURE
H:62 V:0 I/OAM2 F/TA VIS PICTURE
H:63 V:0 I/OAM2 F/TB VIS PICTURE
H:64 V:0 EVAL I/OAM2 F/TB VIS PICTURE
H:65 V:0 F/NT VIS PICTURE
H:66 V:0 S/EV F/NT VIS PICTURE
H:67 V:0 F/AT VIS PICTURE
H:68 V:0 F/AT VIS PICTURE
H:69 V:0 F/TA VIS PICTURE
H:70 V:0 F/TA VIS PICTURE
H:71 V:0 F/TB VIS PICTURE
H:72 V:0 F/TB VIS PICTURE
H:73 V:0 F/NT VIS PICTURE
H:74 V:0 F/NT VIS PICTURE
H:75 V:0 F/AT VIS PICTURE
H:76 V:0 F/AT VIS PICTURE
H:77 V:0 F/TA VIS PICTURE
H:78 V:0 F/TA VIS PICTURE
H:79 V:0 F/TB VIS PICTURE
H:80 V:0 F/TB VIS PICTURE
H:81 V:0 F/NT VIS PICTURE
H:82 V:0 F/NT VIS PICTURE
H:83 V:0 F/AT VIS PICTURE
H:84 V:0 F/AT VIS PICTURE
H:85 V:0 F/TA VIS PICTURE
H:86 V:0 F/TA VIS PICTURE
H:87 V:0 F/TB VIS PICTURE
H:88 V:0 F/TB VIS PICTURE
H:89 V:0 F/NT VIS PICTURE
H:90 V:0 F/NT VIS PICTURE
H:91 V:0 F/AT VIS PICTURE
H:92 V:0 F/AT VIS PICTURE
H:93 V:0 F/TA VIS PICTURE
H:94 V:0 F/TA VIS PICTURE
H:95 V:0 F/TB VIS PICTURE
H:96 V:0 F/TB VIS PICTURE
H:97 V:0 F/NT VIS PICTURE
H:98 V:0 F/NT VIS PICTURE
H:99 V:0 F/AT VIS PICTURE
H:100 V:0 F/AT VIS PICTURE
H:101 V:0 F/TA VIS PICTURE
H:102 V:0 F/TA VIS PICTURE
H:103 V:0 F/TB VIS PICTURE
H:104 V:0 F/TB VIS PICTURE
H:105 V:0 F/NT VIS PICTURE
H:106 V:0 F/NT VIS PICTURE
H:107 V:0 F/AT VIS PICTURE
H:108 V:0 F/AT VIS PICTURE
H:109 V:0 F/TA VIS PICTURE
H:110 V:0 F/TA VIS PICTURE
H:111 V:0 F/TB VIS PICTURE
H:112 V:0 F/TB VIS PICTURE
H:113 V:0 F/NT VIS PICTURE
H:114 V:0 F/NT VIS PICTURE
H:115 V:0 F/AT VIS PICTURE
H:116 V:0 F/AT VIS PICTURE
H:117 V:0 F/TA VIS PICTURE
H:118 V:0 F/TA VIS PICTURE
H:119 V:0 F/TB VIS PICTURE
H:120 V:0 F/TB VIS PICTURE
H:121 V:0 F/NT VIS PICTURE
H:122 V:0 F/NT VIS PICTURE
H:123 V:0 F/AT VIS PICTURE
H:124 V:0 F/AT VIS PICTURE
H:125 V:0 F/TA VIS PICTURE
H:126 V:0 F/TA VIS PICTURE
H:127 V:0 F/TB VIS PICTURE
H:128 V:0 F/TB VIS PICTURE
H:129 V:0 F/NT VIS PICTURE
H:130 V:0 F/NT VIS PICTURE
H:131 V:0 F/AT VIS PICTURE
H:132 V:0 F/AT VIS PICTURE
H:133 V:0 F/TA VIS PICTURE
H:134 V:0 F/TA VIS PICTURE
H:135 V:0 F/TB VIS PICTURE
H:136 V:0 F/TB VIS PICTURE
H:137 V:0 F/NT VIS PICTURE
H:138 V:0 F/NT VIS PICTURE
H:139 V:0 F/AT VIS PICTURE
H:140 V:0 F/AT VIS PICTURE
H:141 V:0 F/TA VIS PICTURE
H:142 V:0 F/TA VIS PICTURE
H:143 V:0 F/TB VIS PICTURE
H:144 V:0 F/TB VIS PICTURE
H:145 V:0 F/NT VIS PICTURE
H:146 V:0 F/NT VIS PICTURE
H:147 V:0 F/AT VIS PICTURE
H:148 V:0 F/AT VIS PICTURE
H:149 V:0 F/TA VIS PICTURE
H:150 V:0 F/TA VIS PICTURE
H:151 V:0 F/TB VIS PICTURE
H:152 V:0 F/TB VIS PICTURE
H:153 V:0 F/NT VIS PICTURE
H:154 V:0 F/NT VIS PICTURE
H:155 V:0 F/AT VIS PICTURE
H:156 V:0 F/AT VIS PICTURE
H:157 V:0 F/TA VIS PICTURE
H:158 V:0 F/TA VIS PICTURE
H:159 V:0 F/TB VIS PICTURE
H:160 V:0 F/TB VIS PICTURE
H:161 V:0 F/NT VIS PICTURE
H:162 V:0 F/NT VIS PICTURE
H:163 V:0 F/AT VIS PICTURE
H:164 V:0 F/AT VIS PICTURE
H:165 V:0 F/TA VIS PICTURE
H:166 V:0 F/TA VIS PICTURE
H:167 V:0 F/TB VIS PICTURE
H:168 V:0 F/TB VIS PICTURE
H:169 V:0 F/NT VIS PICTURE
H:170 V:0 F/NT VIS PICTURE
H:171 V:0 F/AT VIS PICTURE
H:172 V:0 F/AT VIS PICTURE
H:173 V:0 F/TA VIS PICTURE
H:174 V:0 F/TA VIS PICTURE
H:175 V:0 F/TB VIS PICTURE
H:176 V:0 F/TB VIS PICTURE
H:177 V:0 F/NT VIS PICTURE
H:178 V:0 F/NT VIS PICTURE
H:179 V:0 F/AT VIS PICTURE
H:180 V:0 F/AT VIS PICTURE
H:181 V:0 F/TA VIS PICTURE
H:182 V:0 F/TA VIS PICTURE
H:183 V:0 F/TB VIS PICTURE
H:184 V:0 F/TB VIS PICTURE
H:185 V:0 F/NT VIS PICTURE
H:186 V:0 F/NT VIS PICTURE
H:187 V:0 F/AT VIS PICTURE
H:188 V:0 F/AT VIS PICTURE
H:189 V:0 F/TA VIS PICTURE
H:190 V:0 F/TA VIS PICTURE
H:191 V:0 F/TB VIS PICTURE
H:192 V:0 F/TB VIS PICTURE
H:193 V:0 F/NT VIS PICTURE
H:194 V:0 F/NT VIS PICTURE
H:195 V:0 F/AT VIS PICTURE
H:196 V:0 F/AT VIS PICTURE
H:197 V:0 F/TA VIS PICTURE
H:198 V:0 F/TA VIS PICTURE
H:199 V:0 F/TB VIS PICTURE
H:200 V:0 F/TB VIS PICTURE
H:201 V:0 F/NT VIS PICTURE
H:202 V:0 F/NT VIS PICTURE
H:203 V:0 F/AT VIS PICTURE
H:204 V:0 F/AT VIS PICTURE
H:205 V:0 F/TA VIS PICTURE
H:206 V:0 F/TA VIS PICTURE
H:207 V:0 F/TB VIS PICTURE
H:208 V:0 F/TB VIS PICTURE
H:209 V:0 F/NT VIS PICTURE
H:210 V:0 F/NT VIS PICTURE
H:211 V:0 F/AT VIS PICTURE
H:212 V:0 F/AT VIS PICTURE
H:213 V:0 F/TA VIS PICTURE
H:214 V:0 F/TA VIS PICTURE
H:215 V:0 F/TB VIS PICTURE
H:216 V:0 F/TB VIS PICTURE
H:217 V:0 F/NT VIS PICTURE
H:218 V:0 F/NT VIS PICTURE
H:219 V:0 F/AT VIS PICTURE
H:220 V:0 F/AT VIS PICTURE
H:221 V:0 F/TA VIS PICTURE
H:222 V:0 F/TA VIS PICTURE
H:223 V:0 F/TB VIS PICTURE
H:224 V:0 F/TB VIS PICTURE
H:225 V:0 F/NT VIS PICTURE
H:226 V:0 F/NT VIS PICTURE
H:227 V:0 F/AT VIS PICTURE
H:228 V:0 F/AT VIS PICTURE
H:229 V:0 F/TA VIS PICTURE
H:230 V:0 F/TA VIS PICTURE
H:231 V:0 F/TB VIS PICTURE
H:232 V:0 F/TB VIS PICTURE
H:233 V:0 F/NT VIS PICTURE
H:234 V:0 F/NT VIS PICTURE
H:235 V:0 F/AT VIS PICTURE
H:236 V:0 F/AT VIS PICTURE
H:237 V:0 F/TA VIS PICTURE
H:238 V:0 F/TA VIS PICTURE
H:239 V:0 F/TB VIS PICTURE
H:240 V:0 F/TB VIS PICTURE
H:241 V:0 F/NT VIS PICTURE
H:242 V:0 F/NT VIS PICTURE
H:243 V:0 F/AT VIS PICTURE
H:244 V:0 F/AT VIS PICTURE
H:245 V:0 F/TA VIS PICTURE
H:246 V:0 F/TA VIS PICTURE
H:247 V:0 F/TB VIS PICTURE
H:248 V:0 F/TB VIS PICTURE
H:249 V:0 F/NT VIS PICTURE
H:250 V:0 F/NT VIS PICTURE
H:251 V:0 F/AT VIS PICTURE
H:252 V:0 F/AT VIS PICTURE
H:253 V:0 F/TA VIS PICTURE
H:254 V:0 F/TA VIS PICTURE
H:255 V:0 F/TB VIS PICTURE
H:256 V:0 E/EV EVAL F/TB VIS PICTURE
H:257 V:0 F/NT PAR/O /FO PICTURE SYNC FRPORCH
H:258 V:0 F/NT PAR/O /FO PICTURE SYNC FRPORCH
H:259 V:0 PAR/O /FO PICTURE SYNC FRPORCH
H:260 V:0 PAR/O /FO PICTURE SYNC FRPORCH
H:261 V:0 PAR/O /FO PICTURE SYNC FRPORCH
H:262 V:0 PAR/O /FO PICTURE SYNC FRPORCH
H:263 V:0 PAR/O /FO PICTURE SYNC FRPORCH
H:264 V:0 PAR/O /FO PICTURE SYNC FRPORCH
H:265 V:0 F/NT PAR/O /FO PICTURE SYNC FRPORCH
H:266 V:0 F/NT PAR/O /FO PICTURE SYNC FRPORCH
H:267 V:0 PAR/O /FO PICTURE SYNC FRPORCH
H:268 V:0 PAR/O /FO PICTURE SYNC FRPORCH
H:269 V:0 PAR/O /FO PICTURE SYNC FRPORCH
H:270 V:0 PAR/O /FO PICTURE SYNC FRPORCH
H:271 V:0 PAR/O /FO SYNC FRPORCH BKPORCH
H:272 V:0 PAR/O /FO SYNC FRPORCH BKPORCH
H:273 V:0 F/NT PAR/O /FO SYNC FRPORCH BKPORCH
H:274 V:0 F/NT PAR/O /FO SYNC FRPORCH BKPORCH
H:275 V:0 PAR/O /FO SYNC FRPORCH BKPORCH
H:276 V:0 PAR/O /FO SYNC FRPORCH BKPORCH
H:277 V:0 PAR/O /FO SYNC FRPORCH BKPORCH
H:278 V:0 PAR/O /FO SYNC FRPORCH BKPORCH
H:279 V:0 PAR/O /FO SYNC FRPORCH BKPORCH
H:280 V:0 SC/CNT PAR/O /FO BKPORCH
H:281 V:0 SC/CNT F/NT PAR/O /FO BKPORCH
H:282 V:0 SC/CNT F/NT PAR/O /FO BKPORCH
H:283 V:0 SC/CNT PAR/O /FO BKPORCH
H:284 V:0 SC/CNT PAR/O /FO BKPORCH
H:285 V:0 SC/CNT PAR/O /FO BKPORCH
H:286 V:0 SC/CNT PAR/O /FO BKPORCH
H:287 V:0 SC/CNT PAR/O /FO BKPORCH
H:288 V:0 SC/CNT PAR/O /FO BKPORCH
H:289 V:0 SC/CNT F/NT PAR/O /FO BKPORCH
H:290 V:0 SC/CNT F/NT PAR/O /FO BKPORCH
H:291 V:0 SC/CNT PAR/O /FO BKPORCH
H:292 V:0 SC/CNT PAR/O /FO BKPORCH
H:293 V:0 SC/CNT PAR/O /FO BKPORCH
H:294 V:0 SC/CNT PAR/O /FO BKPORCH
H:295 V:0 SC/CNT PAR/O /FO BKPORCH
H:296 V:0 SC/CNT PAR/O /FO BKPORCH
H:297 V:0 SC/CNT F/NT PAR/O /FO BKPORCH
H:298 V:0 SC/CNT F/NT PAR/O /FO BKPORCH
H:299 V:0 SC/CNT PAR/O /FO BKPORCH
H:300 V:0 SC/CNT PAR/O /FO BKPORCH
H:301 V:0 SC/CNT PAR/O /FO BKPORCH
H:302 V:0 SC/CNT PAR/O /FO BKPORCH
H:303 V:0 SC/CNT PAR/O /FO BKPORCH
H:304 V:0 SC/CNT PAR/O /FO BKPORCH
H:305 V:0 F/NT PAR/O /FO BKPORCH
H:306 V:0 F/NT PAR/O /FO BKPORCH
H:307 V:0 PAR/O /FO BKPORCH
H:308 V:0 PAR/O /FO BKPORCH
H:309 V:0 PAR/O /FO BKPORCH BURST
H:310 V:0 PAR/O /FO BKPORCH BURST
H:311 V:0 PAR/O /FO BKPORCH BURST
H:312 V:0 PAR/O /FO BKPORCH BURST
H:313 V:0 F/NT PAR/O /FO BKPORCH BURST
H:314 V:0 F/NT PAR/O /FO BKPORCH BURST
H:315 V:0 PAR/O /FO BKPORCH BURST
H:316 V:0 PAR/O /FO BKPORCH BURST
H:317 V:0 PAR/O /FO BKPORCH BURST
H:318 V:0 PAR/O /FO BKPORCH BURST
H:319 V:0 PAR/O /FO BKPORCH BURST
H:320 V:0 PAR/O /FO BKPORCH BURST
H:321 V:0 F/NT BKPORCH BURST
H:322 V:0 F/NT BKPORCH BURST
H:323 V:0 F/AT BKPORCH BURST
H:324 V:0 F/AT BKPORCH
H:325 V:0 F/TA BKPORCH
H:326 V:0 F/TA BKPORCH
H:327 V:0 F/TB BKPORCH
H:328 V:0 F/TB BKPORCH
H:329 V:0 F/NT PICTURE
H:330 V:0 F/NT PICTURE
H:331 V:0 F/AT PICTURE
H:332 V:0 F/AT PICTURE
H:333 V:0 F/TA PICTURE
H:334 V:0 F/TA PICTURE
H:335 V:0 F/TB PICTURE
H:336 V:0 F/TB PICTURE
H:337 V:0 0/HPOS EVAL F/NT /FO PICTURE
H:338 V:0 0/HPOS EVAL F/NT /FO PICTURE
H:339 V:0 0/HPOS EVAL /FO PICTURE
H:340 V:0 0/HPOS EVAL /FO PICTURE

Остальные строки начинаются так:
H:0 V:1 /FO PICTURE
H:1 V:1 I/OAM2 F/NT VIS PICTURE
H:2 V:1 I/OAM2 F/NT VIS PICTURE
. … и дальше понеслась душа по кочкам

Полный список команд H/V логики:
CLIP_O, CLIP_B: команды обрезания левых 8 пикселей бекгрануда / спрайтов (clipping)
0/HPOS: очистить счетчики H в спрайтовой FIFO (спрайтовая FIFO — это специальная схема, которая выдает наружу смешанный цвет 8 текущих спрайтов)
EVAL: сравнение спрайтов в процессе
PAR/O: выборка паттернов для спрайтов
VIS: PPU ренедерит видимые пиксели (НЕ относится к front porch)
BLNK: картинка не видна (vblank) или выключена контрольными регистрами
RESCL: сбросить reset flip/flop
S/EV, E/EV: точное значение пока не известно, но первая испольняется перед началом сравнения спрайтов, а вторая — вконце
I/OAM2: инициализировать дополнительную OAM (32 байта, которые используются для временного хранения 8 текущих спрайтов)
SC/CNT: обновить регистры скроллинга.
F/NT, F/AT, F/TA, F/TB, /FO: команды выборки данных из памяти. NT — name table, AT — attribute table, TA — tile #0, TB — tile #1, /FO — активна когда PPU выбирает паттерны для спрайтов
PICTURE, BURST, SYNC : команды управления видеотрактом
/BPORCH :back porch (внутренняя команда, наружу не идет)
/FPORCH :front porch (внутренняя команда, наружу не идет)
/INT: выход /INT (прерывание VBlank)

Таким образом H/V — это черный ящик, который в зависимости от текущего значения H и V выдает различные команды.
На вход к нему поступает минимальное количество управляющих линий:
— PPU control register bits: OBCLIP, BGCLIP (для упраления командами clippinga), BLACK (выключить отрисовку видимых пикселей), VBL (отключить генерацию /INT)
— /R2 and /DBE bus enablers (for DB7), для получения текущего состояния vblank (бит 7 регистра $2002)

Несколько слов о контрольной линии «BLACK».
— Эта линия активна только в том случае, когда выключены бекграунд И спрайты. То есть на экране вообще ничего нет.
— Команда BLNK (blank) — это на самом деле комбинация BLACK и VBLANK. То есть команда BLNK активна во время VBLANK (когда естественно на экране ничего нет), а также если картинка отключена полностью (BLACK=1)

BLNK влияет на работу PPU следующим образом:
— часть контрольных линий с H/V счетчиков просто отсекаются, в результате чего наружу не идут команды управления другими блоками, ответственными за отрисовку
— эта линия дополнительно разводится по остальным блокам и просто отключает их, для экономии электричества и энергии Вселенной.

Больше тут сказать особо нечего, можно двигаться дальше ) На очереди «безспрайтовый» PPU. То есть я ставлю задачу вывести задний фон, игнорируя все блоки, которые занимаются сравнением и наложением спрайтов.

Исходный код тут:
http://code.google.com/p/breaks/source/ … sPPU/PPU.c

2012-11-15 — Первые шаги в симуляции PPU

Сделал первые шаги в эмуляции PPU:
http://code.google.com/p/breaks/source/browse/trunk/BreaksPPU/PPU.c
Ну и ради интереса измерил производительность на том, что уже готово (это ориентировочно 15-20% чипа в виде Си кода). Производительность PPU условно можно считать 44 MIPS (CLK примерно 22 МГц), используются оба полутакта. Результаты: 0.8 — 1 MIPS %) Измерил также пустой цикл у своего процессора, получилось что-то около 60-70 MIPS. PPU при всей своей простоте оказался невероятно производительным.
Будем искать компромисс между идеальной точностью и конечным результатом. Например с точки зрения пользователя PPU дискретен на уровне рендеринга точек. То есть все более быстрые процессы (те которые 44 MIPS) протекают исключительно внутри самого PPU, а внешне скорость его взаимодействия гораздо меньше, точки рендерятся с частотой что-то около 5.5 Мгц, то есть в районе 5 MIPS.
Поэтому не исключено что для хардварных гиков я оставлю максимально точную симуляцию, а для рядового пользователя (кем я себя тоже считаю), сделаю попиксельный или может быть даже построчный рендеринг. В конце концов — человеческий глаз не в состоянии заметить прорисовку не только отдельной строки PPU, но даже целого кадра. Не говоря уж о попиксельной растеризации 🙂

2012-11-14 — Улучшения схемы рендеринга PPU

Подчистил схемку PPU-рендерера (находится в верхнем левом углу):

В этой схеме находится самая интересная часть, «мозг» PPU : H/V random logic. По сложности он конечно уступает рандомной логике 6502, который сложнее примерно раз в 5. Но тем не менее, логика достаточно сложная, без транзисторной схемы я вообще не представляю как можно разобраться в хитросплетении этих кишочков )) А со схемой все гораздо понятнее.

Все блоки идентифицированы, можно приступать к эмуляции чипа. Хотя нет, ещё остается та самая милипизерная схема, в самом низу чипа

Бонус: контакт /RES

В нем находится динамическая защелка (выделена желтым гексагоном), которая устанавливается при возникновении импулься сброса (/RES).
Контрольная линия — RC очищает все регистры PPU, пока защелка активна.
А специальная линия — REGCL очищает саму защелку. Это происходит в конце каждого кадра, после vblank. Скорее всего это что-то вроде отклика от PPU на сигнал сброса.

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

2012-11-07 — Сшивание фоток стравленного PPU

Закончил сшивание полученных фоток стравленного PPU:

Полноразмерное фото и набор слайдов можно скачать в соответствующем разделе 🙂

2012-11-07 — OLD SCHOOL vs NEW SCHOOL

Пересилил свое отвращение к установке продуктов Microsoft и скачал Express 2012. Заманили тем что регистрация и ключик на среду бесплатный.

Устанавливал где-то час + потребовалась перезагрузка, всё в лучших традициях. Однако размер установленной студии порадовал — 900 мб. Видимо остальные 4 Гб находятся в .NET framework 4.

А цель была не просто установить. Недавно у нас с Евгеном зашел разговор — насколько быстрым будет Breaks. Ведь например эмулятор DICE (симулирует работу рассыпухи аркадных понгов итп) тупит даже на 3 ггц машинах.
Несложные калькуляции : ядро 6502 работает в среднем на частоте 2 мгц. При этом работая полутактами (используя как положительные, так и отрицательные фронты CLK), оно производит примерно 4 миллиона операций в секунду, то бишь условно 4 MIPS.

Мне стало интересно — сможет мое ядро 6502 выдавать заветные 4 MIPS (а ведь нужно ещё оставить процессорного времени на эмуляцию APU/PPU, ТВ-вывод и пр.)

Поэтому я взял и замерил сколько тактов эмуляции в секунду делает ядро Breaks 6502. Результаты конечно весьма печальные: на моем средненьком Intel Dual Core T4500 2 ггц компиляция с помощью lcc выдает примерно 80.000 операций/сек (0.08 MIPS), то есть в 50 раз медленнее чем необходимо 🙁

Поэтому стало интересно какие цифры получатся в новой Express 2012. В 4 часа утра я наконец умудрился скомпилировать проект и результаты следующие: примерно 220.000 оп/сек (0.2 MIPS). Уже лучше, но все равно в 20 раз медленнее.

Однако я не унываю, потому что сейчас ядро не использует упаковку бит. Что это значит? А то, что если регистр имеет 8 бит, то ядро честно производит операцию над каждым битом в цикле от 1 до 8. Такие циклы используются повсеместно, что и замедляет работу ядра. Основные затраты по времени конечно-же отнимает эмуляция PLA- декодера, при которой каждый полутакт прогоняется огромный цикл на 120 операций. Всё это можно существенно оптимизировать, но вначале нужно добиться точной эмуляции.

Как говорили авторы UNIX и создатели языка си: «Вначале сделай чтобы это работало, а потом сделай чтобы это работало быстро» 🙂

2012-11-07 — Закончена трассировка PPU

Закончил трассировку PPU:

(картинки кликабельны, полноразмерные фотки примерно по 20 MB каждая)

Исходники фотошопа тут: http://breaknes.com/files/PPU/2C02G.zip (260 MB)

2012-11-07 — Запуск сайта

Сайт запущен. Дизайн взял из какого-то хранилища, на первое время сойдет.

Программа для моделирования схем электроники на русском. Qucs – простой и бесплатный симулятор электронных схем

Программа для электрических схем — это инструмент, используемый инженерами, для создания электронных схем с целью расчета и тестирования изделий на этапах проектирования, производства, а также эксплуатации. Точное отображение параметров производится при помощи масштаба. Каждый элемент имеет свое обозначение в виде символов, соответствующих ГОСТу.

Программа для электрических схем: зачем мне это нужно?

При помощи программы для электрических схем можно строить точные чертежи, а затем сохранять их в электронном виде или распечатывать.

ВАЖНО! Почти во всех программах для рисования схем есть готовые элементы в библиотеке, потому вручную их можно не чертить.

Такие программы бывают платными и бесплатными. Первые характеризуются большой функциональностью, их возможности значительно шире. Существуют даже целые автоматизированные системы проектирования САПР, которые успешно используются инженерами во всем мире. С применением программ для черчения схем работа не только полностью автоматизированная, а и предельно точная.

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

Программное обеспечение позволяет упростить работу и сделать ее более эффективной. Мы подготовили перечень популярных программ для создания схем, используемых специалистами во всем мире. Но для начала давайте разберемся, что собой представляют схемы и каких видов они бывают.

Программы: для каких схем предназначены?

Схема представляет собой конструкторский документ графического типа. На нем размещены в виде условных обозначений составляющие компоненты устройства и связи между ними.

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

Когда нужны схемы?

  1. Процесс проектирования. Они позволяют определить структуру разрабатываемого изделия.
  2. Процесс производства. Дают возможность продемонстрировать конструкцию. На их базе разрабатывается технологический процесс, способ монтажа и контроля.
  3. Процесс эксплуатации. При помощи схем можно определить причину поломки, правильный ремонт и техническое обслуживание.

Виды схем по ГОСТу:

  • кинематические;
  • газовые;
  • энергетические;
  • пневматические;
  • гидравлические;
  • электрические;
  • комбинированные;
  • оптические;
  • деления;
  • вакуумные.

В какой программе лучше работать?

Существует огромное количество платных и бесплатных программ для разработки электрических чертежей. Функционал у всех одинаковый, за исключением расширенных возможностей у платных.

Visio

QElectro Tech

sPlan

Visio

Плюсы QElectro Tech

  1. экспорт в формате png, jpg, bmp или svg;
  2. проверка работоспособности электрических цепей;
  3. легко создавать схемы электропроводки, благодаря наличию обширной библиотеки;полностью на русском языке.

Минусы QElectro Tech

  1. функционал ограниченный;
  2. создание схемы сети начальной и средней сложности.

Простой интерфейс. Коллекция фигур для сборки электрических схем располагается слева в главном окне. В правой стороне находится рабочая область.

  1. Создать новый документ.
  2. Перетащить при помощи мышки в рабочую область необходимое количество элементов для создания и симуляции желаемого результата.
  3. Соединить детали между собой. Соединения автоматически преобразуются в горизонтальные и вертикальные линии.
  4. Сохранить файл с расширением qet.

Есть функция постройки собственных элементов и сохранения в библиотеке. Фигуры можно использовать в других проектах. Софт на русском языке. Программа подходит для Linux и Windows.

sPlan

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


Фото 3 — Процесс составления схемы в sPlan

Задача sPlan заключается в проектировании и разработке электронных принципиальных схем. Для упрощения работы разработчик предусмотрел обширную библиотеку с геометрическими заготовками обозначений электронных элементов. Есть функция создания элементов и сохранения их в библиотеке.

Этапы работы:

  1. Создать новый документ.
  2. Из библиотеки элементов перетащить необходимые. Фигуры можно группировать, поворачивать, копировать, вырезать, вставлять и удалять.
  3. Сохранить.

В данной статье будет представлено 20 лучших программ для проектирования электронных схем и печатных плат, включая бесплатные, коммерческие и условно бесплатные программы.

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

  • качество программного обеспечения;
  • удобство для пользователя;
  • сложность среды проектирования.

Бесплатное программное обеспечение для рисования электронных схем:

Ниже будет представлен список и краткое описание бесплатных программ для проектирования электронных схем.

LTspice

Это программное обеспечение для моделирования от линейных технологий до разработки электронных схем, моделирования SPICE, диаграмм сигналов и многих других функций:

  • многоязычный графический интерфейс MDI для открытия и редактирования нескольких файлов в сеансе;
  • встроенный редактор схем с базой данных 2 тыс. электронных компонентов;
  • симулятор аналоговых и смешанных схем с режимом импорта файлов SPICE;
  • постпроцессор для генерации графических кривых результатов анализа и отчетов;
  • возможность персонализировать настройки режима отображения и сочетания клавиш;
  • удобные функции масштабирования окна просмотра, печати и копирования в буфер обмена;
  • интегрированная база данных схем выборки LTSpice .ASC.

Узнать больше и скачать LTspice вы можете на нашем .

«Компас-электрик»

Замечательная графическая российская программа, которая является разновидностью программы «Компас». Используется в области электрики для создания схем электрооборудования различных механизмов. Программа имеет обширные возможности. Посредством программы «Компас-электрик» возможно начертить любую электрическую схему.

Программа «Компас-электрик» имеет три версии, различные по своему функционалу: экспресс версия, стандартная версия, профессиональная версия. Основными компонентами данной программы являются:

  • База данных, которая является фундаментом для проектирования документации;
  • Редактор схем и отчетов, в котором происходит сам процесс создания и выпуска готовой документации проектов.

DipTrace

Это программа для проектирования профессиональных печатных плат. Вполне интуитивно понятный интерфейс, огромная функциональность. Dip Trace поддерживает несколько режимов работы. В каждый пакет DipTrace входят следующие программы:

  • редактор схем;
  • программа проектирования контуров — компоновка печатной платы;
  • редактор компонентов;
  • редактор корпуса;
  • автотрассировщик;
  • 3D-визуализация;
  • функция импорта библиотек и проектов из других программ EDA.

Скачать и получить более подробную информацию с обучающей книгой вы можете на нашем .

EasyEDA

Бесплатный и доступный в облачном инструменте EDA, позволяющий создавать схемы, моделировать SPICE и дизайн печатной платы. В его базе данных уже более 70 000 готовых диаграмм и более 15 тысяч библиотек PSpice, которые позволяют быстро рисовать диаграммы в веб браузере. Проекты, подготовленные в EasyEDA, могут быть опубликованы или сохранены в облаке. Файлы также можно экспортировать во многие форматы, включая JSON.

Программное обеспечение EasyEDA совместимо с инструментами Altium, Eagle KiCad и LTspice, откуда вы можете импортировать дополнительные библиотеки. По желанию производитель предлагает относительно недорогую конструкцию печатной платы в соответствии с созданной конструкцией. Благодаря доступу к приложениям в облаке мы получаем удобство, мобильность и совместимость между устройствами.

TinyCAD

Это программа для рисования схем в Windows, доступная для бесплатной загрузки с SourceForge. Поддерживает стандартные и пользовательские библиотеки символов. TinyCAD чаще всего используется для создания:

  • однолинейных диаграмм;
  • создания блок-схем;
  • разработки технических чертежей для целей презентации.

Xcircuit

Бесплатная программа для рисования схем из Open Circuit Designs, разработанная для среды Unix / Linux, но вы можете использовать ее в Windows, если у вас есть работающий сервер или Windows API. Существует множество бесплатных версий.

Dia

Это базовый инструмент проектирования с возможностью рисования блок-диаграмм. Dia — программа для начинающих, только для людей, входящих в область рисования электронных схем. Программа имеет лицензию GPL и доступна в версиях Mac и Linux (без версии для Windows). Чаще всего используется для построения блок-схем.

Pspice — Student Version

Бесплатная версия программного обеспечения Pspice была создана для студентов. Он содержит ограниченные версии таких продуктов, как: PSpice A / D 9.1, PSpice Schematics 9.1, Capture 9.1. Позволяет разрабатывать и моделировать аналоговые и цифровые схемы.

SmartDraw

Программные шаблоны проектирования электро схем из SmartDraw LCC, считается одним из лучших САПРОВ для рисования электронных схем, блок-схем, HVAC, и т.д.

Бесплатная версия SmartDraw представляет собой усеченный вариант платного программного обеспечения, в котором отсутствует расширенные функции.

1-2-3 схема

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

1-2-3 схема является одним из бесплатных приложений, которое позволяет укомплектовывать электрощиты Хагер (Hager) оборудованием того же производителя. Основной особенностью программы относится такая функция, как сам по себе выбор корпуса для электрощита, который отвечает всем требованиям и нормам безопасности. Выбор производится непосредственно из ряда моделей Hager.

Более подробную информацию о программе вы можете найти на нашем .

Microsoft Visio

Основной задачей программы является разработка и создание с помощью шаблонов рисование разного рода электронных схем. Программа имеет возможность создавать:

  • разнообразные инженерные и технические рисунки;
  • электронные схемы;
  • составлять эффектные презентации;
  • разрабатывать организационные схемы, маркетинговые и многие другие.

Кроме широких возможностей, программа имеет богатый набор готовых элементов, шаблоны visio для электро схем, а также библиотеку красивых объемных рисунков. Создание различных электронных схем не является единственной задачей для MS Visio.

KiCad

Это пакет с открытым исходным кодом, который был создан французом Жан-Пьером Шаррас. Данное программное обеспечение включает в себя ряд интегрированных независимых программ, таких как:

  • kicad — приложение для управления проектами;
  • EESchema — расширенный редактор схем, с помощью которого можно создавать иерархические структуры;
  • Pcbnew — редактор для создания печатных плат на основе схемного дизайна;
  • gerbview — средство для просмотра файлов gerber и многие другие.

KiCad совместим со многими ОС, так как основан на библиотеке wxWidgets.

Более подробную информацию вы можете найти на нашем .

CadSoft Eagle

Высококачественная программа для проектирования печатных плат от немецкой компании CadSoft, входящей в состав Premier Farnell plc. EAGLE является аббревиатурой для легко применимого графического редактора макетов, что означает простой в использовании графический редактор.

CadSoft Eagle завоевала большую популярность из-за простоты и возможности использовать одну из версий — Eagle Light бесплатно. Бесплатная версия программы не позволяет создавать электронные схемы в коммерческих целях.

Программа доступна для операционных систем Windows, Linux, OS X.

Платное программное обеспечение для рисования электронных схем:

Ниже представлен список и краткое описание платных программ для проектирования электронных схем.

OrCAD

Самая популярная программа компании Cadence, содержащая полную среду для коммерческих проектов PCB, содержит все компоненты, необходимые для проектирования печатных плат, такие как:

  • модуль для введения схем;
  • редактор печатных плат с интегрированным управлением проектирования.

Чтобы повысить эффективность дизайна, программа предлагает интерактивную технологию проводки Push & Shove.

TINA-TI

Недорогое решение от DesignSoft, созданное для предприятий и фрилансеров. Он позволяет создавать:

  • схемы;
  • компоновку компонентов;
  • моделирование;
  • множество дополнительных функций.

Примечательной особенностью является также тестирование систем в режиме реального времени.

Altera

Предоставляет полный набор инструментов программирования для каждого этапа проекта, включая программные обеспечения:

  • NIOS II для проектирования встроенных систем;
  • DSP Builder для проектирования цифровых систем обработки сигналов;
  • Quartus II и ModelSim для построения логических систем.

Система Altera Max + Plus II (многоадресная матричная программируемая логическая пользовательская система) представляет собой интегрированную среду для проектирования цифровых схем в программируемых структурах. Система Max + Plus II включает 11 интегрированных прикладных программ.

Altium Designe

Комплект Altium Designer включает в себя четыре основных модуля:

  • редактор схем;
  • 3D- дизайн печатной платы;
  • разработка программируемой вентильной матрицы (FPGA) и управление данными.

Как правило, Altium Designer является дорогим ПО, но отличается способностью добиваться быстрых результатов для сложных схем.

P-Cad

Это программа для создания печатных плат и электронных схем. В пакет P-CAD входят два основных компонента:

  • P-CAD Schematic — редактор схем;
  • P-CAD pcb — редактор печатных плат.

На протяжении долгого времени данной программой пользовалось огромное количество российских разработчиков электронных схем, главной причиной этой популярности стал достаточно интуитивно понятный и удобный интерфейс. На данный момент производитель прекратил поддержку данного ПО, заместив ее программой Altium Designer.

Proteus Design Suite

Это полное программное решение для моделирования схем и проектирования печатных плат. Он содержит несколько модулей для схемного захвата, прошивки IDE и компоновки печатных плат, которые отображаются в виде вкладок внутри единого интегрированного приложения. Это обеспечивает плавный рабочий процесс AGILE для инженера проектировщика и помогает продуктам быстрее выйти на рынок.

Пробная версия приложения имеет полный функционал, но не имеет возможности сохранения файлов.

sPlan

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

Создавайте профессиональные планы за очень короткое время, от простой схемы до сложных планов. Особенностями данной программы являются:

  • расширяемая библиотека символов;
  • индивидуальные страницы с листами форм;
  • список компонентов;
  • автоматическая нумерация компонентов;
  • удобные инструменты рисования.

В бесплатной версии нельзя сохранять, экспортировать и печатать файлы.

Напишите в комментариях, какие программы для создания схем и дизайна электронных схем вы используете?

Этой статьей начинаю освещать одну из интереснейших тем это тема компьютерного, еще говорят, схемотехнического моделирования схем различных электронных устройств .

Вообще термин моделирование электронных схем имеет много синонимов, это и эмуляция электронных схем, симуляция электронных схем и т. д. Я буду придерживаться термина «компьютерное моделирование» или моделирование схем на компьютере, не суть важно.

Итак, поехали.

На сегодняшний день существуем множество компьютерных программ, которые предназначены в первую очередь для разработки различных электронных устройств и в таких программах существует одна из важных функций – эмуляция электрических схем.

Перечислю только самые известные из них:

LTSpice и множестов других программ.

Сегодня я хочу вас познакомить с программой компании National Instruments – это эмулятор схем Multisim.

Бесплатную программу Multisim с ограничениями на 50 элементов в схеме можно скачать с сайта производителя по ссылке https://lumen.ni.com/nicif/confirmation.xhtml, там же на сайте можно найти версию для учебных заведений, более расширенную по сравнению с предидущей, но тоже имеющую свои ограничения https://lumen.ni.com/nicif/us/academicevalmultisim/content.xhtml

Начнем с изучения интерфейса программы.

Основные функциональные панели программы показаны на следующем рисунке.

Отдельный интерес представляет панель компонентов. С помощью панели компонентов осуществляется доступ к базе компонентов. При нажатии на любую из выбранных пиктограмм компонентов схем открывается окно Выбор компонента . В левой части окна осуществляется выбор необходимого компонента.

Вся база данных компонентов разделена на разделы (пассивные элементы, диоды, транзисторы, микросхемы и т. д.), а разделы на семейства (например, для диодов – это сами диоды, стабилитроны, светодиоды, тиристоры и т. д.). Надеюсь идея понятна.

Так же в окне выбора компонента можно посмотреть обозначение выбранного компонента, описание его функции, выбрать тип корпуса.

Моделирование схем в программе Multisim.

Теперь переходим непосредственно к практике. Давайте соберем простую схему в программе Multisim и заставим ее работать!

Я скачал из интернета схему мультивибратора на двух транзисторах, где в качестве нагрузки используются светодиоды.

Можем воспользоваться измерительными приборами, например виртуальным осциллографом и посмотреть сигналы в различных точках схемы.

Мы убедились, что схема работает, на этом знакомство с программой Multisim заканчиваю, если вас заинтересовала тема моделирования схем, пишите свои вопросы в комментариях, отвечу с удовольствием.

Ну и на последок, по традиции представляю вам подробное видео по моделированию схем в программе Multisim.

Если вы еще не подписались на новые выпуски интернет журнала «Электрон», то заполняйте форму внизу страницы и получайте новые выпуски на электронную почту в формате PDF.

Qucs, также известный как Quite Universal Circuit Simulator, был разработан как доступный симулятор электронных цепей и контуров, имеющий графический интерфейс и основанный на открытом исходном коде. Программа поддерживает все виды моделирования схем, например DC, AC, S-параметры, гармонический анализ баланса, анализ шума и так далее. Результаты моделирования можно посмотреть на странице презентации или окне программы.

Qucsator, серверная часть программы, — это симулятор командной строки, который управляет списком сетей определенного формата ввода-вывода набора данных Qucs. По умолчанию он был создан для работы с проектом Qucs, но может быть использован и с другими приложениями. В программе есть поддержка экспорта изображений символов с файлами Verilog-A в код на языке C++, поддержка прямой связи с символами Verilog-HDL и подцепями VHDL. Последние версии Qucs обладают интерфейсом GNU/Octave.

Ключевые особенности и функции

  • поддержка синтаксиса Verilog-HDL и Verilog-A в текстовых документах;
  • поддержка экспорта кода на языке С++;
  • поддержка уравнений для подцепей Verilog-HDL и VHDL;
  • заранее скомпилированные VHDL модули и библиотеки;
  • поддержка всех современных компонентов;
  • открытый исходный код дает возможность разрабатывать расширения;
  • настраиваемый и расширяемый интерфейс;
  • встроенный файловый конвертер;
  • возможность загрузки дополнительных языков интерфейса.

Для проектирования и тестирования простых схем достаточно взять макетную плату и начать размещать на ней интересующие компоненты с возможностью быстрой замены того или иного элемента. Макетные платы позволяют легко проверить цепь на наличие ошибок перед пайкой готового продукта. Но если у вас более сложная схема или если вам нужно выполнить довольно непростое моделирование прохождения сигналов по вашему проекту, прежде чем вы начнете собирать конечное устройство, вам понадобится программное обеспечение для моделирования схем или попросту симулятор.

Основными требованиями, предъявляемыми большинством людей (особенно новичками в электронике) к симуляторам электронных схем, являются простота в использовании и как можно меньшая цена, в идеале вообще за бесплатно. Также очень важна функциональность.

Хотя легко получить пробную версию чего-то вроде OrCAD PSpice, это программное обеспечение не имеет всех доступных функций, если вы не хотите, конечно, раскошелиться с целью их приобретения. К счастью, есть абсолютно бесплатное полнофункциональное программное обеспечение для моделирования электронных схем, называемое Qucs (Quite Universal Circuit Simulator), выпущенное под лицензией GPL. Qucs предлагает достойную альтернативу другим платным симуляторам схем. Qucs запускает собственное программное обеспечение отдельно от SPICE, поскольку SPICE не лицензируется для повторного использования.

Qucs имеет большинство компонентов, которые вам понадобятся для моделирования на уровне близком профессиональному, а также это программное обеспечение имеет огромное количество различных моделей транзисторов. Саму программу можно найти на http://qucs.sourceforge.net/. Для более подробной информации на странице Qucs Wikipedia (https://en.wikipedia.org/wiki/Quite_Universal_Circuit_Simulator) перечислены все доступные функции, также имеется страница часто задаваемых вопросов.

По заверениям разработчиков Qucs еще не закончен полностью, и, скорее всего, функции будут добавляться время от времени, поэтому окончательной версии может и не быть, тем не менее, сегодня Qucs уже представляет собой очень функциональный инструмент для моделирования электронных схем. Графический интерфейс пользователя Qucs хорошо развит и позволяет настраивать схемы и представлять результаты моделирования в различных типах диаграмм. Скриншоты, представленные ниже, подтверждают это.


Симулятор электронных схем для андроид. Qucs — open-source сапр для моделирования электронных схем. Интуитивно-понятный пользовательский интерфейс

Приложение Электроник является незаменимым помощником для электриков. Оно создано специально для мобильных устройств на платформе андроид. Программа была сделана российскими программистами, которые хорошо разбираются в электронике и физике. Разработка получилась довольно качественной.

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

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

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

Особенности приложения:

  • полезная информация из сферы физики и электроники;
  • уроки изготовления приборов;
  • удобный интерфейс.

11. Droid Tesla

Droid Tesla представляет собой простой и мощный SPICE-симулятор электрических цепей. Помимо радиокомпонентов поддерживаются различные источники тока и напряжения, а также основные измерительные приборы, в т.ч. виртуальный осциллограф. Droid Tesla позволяет эмулировать следующие источники тока/напряжения: источник постоянного тока и напряжения; источники переменного тока и напряжения; CCCS, CCVS, VCCS, VCVS — управляемые источники тока и напряжения; генератор треугольных импульсов; генератор прямоугольных импульсов.
Поддерживается эмуляция следующих электронных компонентов: резистор; конденсатор; индуктивность; трансформатор; потенциометр; лампа накаливания; идеальный операционный усилитель; биполярные и MOSFET транзисторы; диод, светодиод и стабилитрон; выключатели; элементы цифровой логики: AND, NAND, OR, NOR, NOT, XOR, XNOR; триггеры; 555-таймер; реле; 7-ми сегментный индикатор и др. В качестве измерительных приборов в Droid Tesla поддерживаются следующие: AC/DC амперметр и вольтметр; 2-х канальный осциллограф. Из интересных особенностей ПО можно отметить визуализацию протекания тока (для включения отображения необходимо в настройках программы поставить соответствующую галочку: Settings -> Animations -> Animation of current flow). После этого, при включении симуляции схемы можно визуально наблюдать протекание тока. Единственное, в этом режиме работа схемы сильно замедляется и в большей степени расходуются ресурсы процессора.

Smart Tools – весьма полезная программа на андроид устройстве от лучшего разработчика Smart Tools co., которая и в хозяйстве может пригодится и в учебе помочь. Возможности:
Измеряет — длину, угол, наклон, уровень, резьба (Smart Ruler Pro)
Содержит инструменты для вычисления расстояния, высоты, ширины, площади (Smart Measure Pro)
Включает в себя компас, металлодетектор, GPS (Smart Compass Pro)
Шумомер, виброметр (Sound Meter Pro)
Фонарик, увеличительное стекло (Smart Light Pro)

13. Electrical Engineering Pack

Electrical Engineering Pack — функциональное приложение.которые пригодится любому электрику. Программа сочетает в себе около 40 видов калькуляторов и около 15 преобразователей. Ко всем увы получаете полное руководств, которое пригодится инженерам-электрикам, техникам и студентам. Калькуляторы могут быстро рассчитать различные электрические параметры. Автоматические расчёты выполняются быстро и без проблем. Особенности:
Профессионально разработанный пользовательский интерфейс, который ускоряет ввод данных, удобный просмотр и расчет скорости.
Несколько вариантов для расчета каждого значения
Автоматический расчет выхода по отношению к изменениям на входе, параметры и единицы измерения.
Формулы предусмотрены для каждого калькулятора

14. SatFinder Plus

SatFinder Plus – программа для настройки спутниковой тарелки. Как это работает: встаньте возле тарелки, дождитесь максимальной точности, зафиксируйте точку долгим тапом или через меню. Далее отходя в сторону, добейтесь чтобы текущий азимут наиболее точно соответствовал расчетному. Так как программа использует для наиболее точного определения текущего азимута координаты GPS, рекомендуется отойти на 50-100 м.

15. Electric circuit

Electric circuit поможет разобраться как устроены параллельные цепи, последовательные цепи. Также приложение поможет разобраться Вам с формулами по расчёту различных электрических характеристик (мощность, ток, напряжение, сопротивление, магнитное поле и т.д.).
На главном экране представлены различные варианты электрических схем, симуляторы, формулы и т.д. Для перехода в нужный раздел Вам всего-то нужно по нему тапнуть. В каждом разделе найдутся полезные подсказки и разъяснения. Приложением весьма просто пользоваться — простой и интуитивно понятный интерфейс. Конечно жутко не хватает русификации. Великолепный симулятор поведения электрической цепи. Весь материал представлен в наглядной форме.

16. App для электрика ver.2.9

App для электрика — это хороший компаньон для электрика или инженера, в обучении, на работе или хобби. Приложение содержит наиболее важные формулы в области электротехники. Оно совсем небольшое, легкое в использовании, доступно в 4-х языках: английским, немецким, русским и японским и для исполнения этого приложения не требуется специальных разрешений. Функции:
расчет до семи сопротивлений (параллельно).
расчет напряжения, сопротивления и тока.
расчет тока, заряда и времени.
расчет работы, время и силы.
расчет сопротивления линии.
расчет тока, напряжения и мощности.
расчет падения напряжения на линии.
расчет реальной, реактивной и полной мощности в сети переменного тока.
расчет активной, реактивной и полной мощности трёхфазного тока.
расчет первичного и вторичного напряжения, первичной и вторичной обмотки Трансформатора.
расчет плотности тока.
расчет cos фи.
расчет sin фи.

17. SafetyCalc Free ver.2.1

SafetyCalc Free 2.1 — помощник проектировщика и монтажника систем безопасности и слаботочных систем. Если Вам необходимо:
определить работоспособность разветвленной слаботочной цепи,
рассчитать мощность блока питания и емкость аккумулятора для системы контроля и управления доступом (СКУД),
рассчитать объектив видеокамеры наблюдения для систем охранного телевидения (СОТ) и систем телевизионного наблюдения (СТН), то это приложение для Вас.
Возможности приложения SafetyCalc:
Расчет значений падения напряжения в разветвленной цепи со множеством нагрузок, для каждой нагрузки, и определение минимального сечения кабеля(провода) для данной цепи;
Расчет значений падения напряжения в разветвленной цепи со множеством нагрузок, для каждой нагрузки, при условии, что все нагрузки подключены к общей шине питания кабелем(проводом) разного сечения;
Расчет значений падений напряжения в разветвленной цепи со множеством нагрузок, для каждой нагрузки, при условии, что все нагрузки подключены к общей шине питания кабелем(проводом) одинакового сечения;
Расчет мощности блока питания и емкости аккумулятора для системы контроля и управления доступом (СКУД), с учетом коэффициентов запаса, для дежурного режима (8 часов) и аварийного режима (3 часа) работы, согласно рекомендациям МВД РФ;
Расчет объектива для камер видеонаблюдения систем охранного телевидения (СОТ) и систем телевизионного наблюдения (СТН): определение вертикального и горизонтального фокусного расстояния, определение углов обзора по вертикали и горизонтали, определение мертвых зон.

18. Autodesk ForceEffect Motion ver.2.7.13

Autodesk ForceEffect Motion 2.7.13 — программа для разработки механических систем с движущимися сегментами. Создавайте движущиеся механические системы прямо на своем мобильном устройстве. В отличие от стандартного метода разработки при помощи бумаги, карандаша и калькулятора, данная программа производит симуляцию и все вычисления, позволяя вам быстро выстроить нужный дизайн.

19. Droid 2 CAD ver.4.03

Droid 2 CAD 4.03 — программа, которая позволяет вам отмечать точки и места, используя ваш встроенный GPS и экспортировать для дальнейшего использования. Точки автоматически нумеруются, а также вы можете задавать им имена. Встроенная поддержка карт Google позволяет вам определить как точно вы отметили точки, а также исправлять их, перемещая по карте. Программа позволяет экспортировать точки в следующие форматы:
DXF — специальный формат, поддерживаемый большинством САПР, включая AutoCAD.
KML — формат отметок Google Earth.
CSV — универсальный формат для хранения данных, поддерживаемый множеством программ, включая MySQL-клиенты и Microsoft Office.

20. AndCAD Demo ver.1.8.5

AndCAD Demo 1.8.5 — очень мощная программа для создания чертежей прямо на вашем мобильном Android-устройстве. Также, программа позволяет редактировать чертежи некоторых популярных форматов. Ключевые возможности программы:
Векторные объекты.
Привязка объектов.
Прямой ввод единиц.
Поддержка слоев.
Подкладка изображения.
Импорт/экспорт файлов AutoCAD DXF.
Ландшафтный и портретный режимы. Геометрические объекты: линия, окружность, дуга, ломаная линия, треугольник, многоугольник, точка, текст, заметка, линейный размер. Инструменты редактирования: свободное редактирование, перемещение, копирование, поворот, изменение размера и т.п.

Симулятор с дружелюбным интерфейсом для разработки и расчета электронных цепей и контуров.

Программное обеспечение Quite Universal Circuit Simulator является редактором с графическим интерфейсом с комплексом технических возможностей для конструирования схем. Для управления сложными схемами включена возможность разворачивания подсхем и формирования блоков. Софт включает встроенный текстовый редактор, приложения для расчета фильтров и согласованных цепей, калькуляторы линий и синтеза аттенюаторов. Чертеж можно оформить с обрамлением рамки и стандартного штампа.

Конструктор схем Qucs включает широкую базу современных компонентов, разделенных на категории: дискретные (резисторы, конденсаторы и др), нелинейные (транзисторы и диоды), цифровые (базовые цифровые устройства и логические вентили) и другие (источники, измерители). Особый интерес представляют рисунки и диаграммы.

Qucs может настраиваться на множество языков, включая русский.

Программа функционирует на Mac OS, Linux и Windows XP, Vista, 7 и 8.

Бесплатно.

Симулятор – конструктор электронных схем “Начала электроники”

Существует очень интересная программа, которая представляет собой несложный симулятор для демонстрации работы электрических схем и работы измерительных приборов. Удобство его не только в наглядности, но и в том, что интерфейс на русском языке. Она позволяет смоделировать на макетнице очень простые принципиальные схемы. Называется программа “Начала электроники”. Ссылка на нее внизу страницы, видео канала Михаила Майорова.

Программа работает, начиная от Windows 98 и заканчивая Windows 7. Интерфейс выглядит следующим образом.

Внизу располагается чертеж печатной платы, но для нас наибольший интерес представляет панелька с макетной платой. Наверху кнопки управления: загрузить схему из файла, сохранить схему, очистка макетной платы, получить мультиметр, получить осциллограф, показать параметры деталей, состояние деталей, справочник, (кратко изложены понятия об электричестве), небольшой список лабораторных работ для самостоятельного их проведения, инструкция по пользованию симулятором, информация об авторах, выход из программы.

На видео о том, как работает симулятор цепи.

Что можно собрать на симуляторе схем?

На этом простом симуляторе можно собрать довольно много интересных вещей. Для начала давайте смоделируем обычный фонарик. Для этого нам потребуется лампочка, две батарейки и, естественно, все это надо будет соединить перемычками. Ну и какой же фонарик без выключателя и лампочки?

Двойным щелчком вызываем окно параметров батарейки. На появившейся вкладке видим напряжение, внутреннее сопротивление, показывающее ее мощность, миниполярность. В данном случае батарейка вечная.

Когда схема собрана, нажимаем два раза выключатель и лампочка почему то сгорает. Почему? Суммарное напряжение последовательно соединенных батареек 3 вольта. Лампочка по умолчанию была на 2,5 вольта, поэтому и сгорела. Ставим 3-вольтовую лампочку и снова включаем. Лампочка благополучно светится.

Теперь берем вольтметр. Вот у него загораются “ладошки”. Это измерительные щупы. Давайте перенесем щупы к лампочке и поставим измерение постоянного напряжения с пределом 20 Вольт. На мониторе показывает 2,97 вольта. Теперь попробуем измерить силу тока. Для этого берем второй мультиметр. Прибор, подсоединенный в схему, показал почти 50 миллиампер.

Практически как на настоящем мультиметре, можно измерить множество параметров. Есть также в симуляторе осциллограф, у которого даже регулируется яркость луча. Кроме того, есть реостат, можно двигать движок. Есть переменный конденсатор, шунты, нагревательная печка, резисторы, предохранители и другое. К сожалению, в данном симуляторе нет транзисторов.

Выводы по программе “Начала электроники”

Multisim – конструктор электрических схем

Multisim – одна из продвинутых программ для профессионалов и просто людей, которые увлекаются радиотехникой. Программа может сконструировать огромный набор видов электросхем. Если вы стремитесь смоделировать свои электронные задумки и проверить их работоспособность, то скачивайте программу Multisim. В интернете есть варианты на русском языке.

Функции программы


Знакомство с Multisim

Qucs, также известный как Quite Universal Circuit Simulator, был разработан как доступный симулятор электронных цепей и контуров, имеющий графический интерфейс и основанный на открытом исходном коде. Программа поддерживает все виды моделирования схем, например DC, AC, S-параметры, гармонический анализ баланса, анализ шума и так далее. Результаты моделирования можно посмотреть на странице презентации или окне программы.

Qucsator, серверная часть программы, — это симулятор командной строки, который управляет списком сетей определенного формата ввода-вывода набора данных Qucs. По умолчанию он был создан для работы с проектом Qucs, но может быть использован и с другими приложениями. В программе есть поддержка экспорта изображений символов с файлами Verilog-A в код на языке C++, поддержка прямой связи с символами Verilog-HDL и подцепями VHDL. Последние версии Qucs обладают интерфейсом GNU/Octave.

Ключевые особенности и функции

  • поддержка синтаксиса Verilog-HDL и Verilog-A в текстовых документах;
  • поддержка экспорта кода на языке С++;
  • поддержка уравнений для подцепей Verilog-HDL и VHDL;
  • заранее скомпилированные VHDL модули и библиотеки;
  • поддержка всех современных компонентов;
  • открытый исходный код дает возможность разрабатывать расширения;
  • настраиваемый и расширяемый интерфейс;
  • встроенный файловый конвертер;
  • возможность загрузки дополнительных языков интерфейса.

Симулятор электронных схем на русском — это обыкновенный SPICE-симулятор под названием TINA-TI с легкой для понимания графической оболочкой. Данная программа работает без всякого лимита на количество применяемых приборов, легко обрабатывает всесторонние работы. Прекрасно соответствует имитированию поведенческой реакции разнообразных аналоговых схем, а также импульсных блоков питания. Используя TINA-TI можно легко сконструировать схему какой угодно степени сложности, соединить раннее созданные фрагменты, исследовать и распознать показатели схемы по качеству.

Все представленные элементы, которыми располагает симулятор электронных схем на русском TINA-TI , рассредоточены распределены на шесть типов: компоненты пассивного действия, ключи переключения, полу-проводниковые приборы, устройства измерения, миниатюрные модели устройств повышенной сложности. Дополнительно данный софт имеет в своем составе множество показательных образцов.

Симулятор электронных схем составлен на русском языке, поэтому с его помощью можно легко освоить черчение и корректировку принципиальных схем. Процесс создания схемы сам по себе не сложный и после завершения этой операции начинается этап симуляции. Программа может выполнять ниже перечисленные виды исследования: оценку постоянного и переменного тока. В данный анализ входит — расчет ключевых напряжений, построение графика конечного итога, определение промежуточных параметров и тестирование температуры.

Далее идет исследование промежуточных процессов, шумовых искажений. Обусловленность от категории исследования, учебная программа формирует окончательный итог в форме графических изображений или таблиц. Прежде чем начать симуляцию, TINA-TI производит проверку схемы на наличие или отсутствие ошибок. Когда обнаруживаются какие либо отклонения, то все изъяны будут показаны в отдельном окошке в форме списка. Если кликнуть мышью на надписи с ошибкой не распознанной симулятором, то деталь или часть чертежа обозначится маркеровочными знаками.

Дополнительно TINA-TI может выполнять измерение различных сигналов и их испытание. Чтобы реализовать данный вид исследования, для этого имеются виртуальные устройства: цифровой мультиметр, осциллограф, контрольно-измерительный прибор сигналов, источник периодических сигналов и устройство записи. Все имеющиеся в программе приборы симуляции предельно возможно соответствуют по использованию фактическим измерительным устройствам. Виртуально подключать их можно в любом участке исследуемой схемы. Все полученные условными приборами информационные данные сохраняются в памяти компьютера.

Логизим


Снимок экрана Logisim 2.7.0

Примечание: Дальнейшее развитие Logisim приостановлено на неопределенный срок. [Больше информации] (11 октября 2014 г.)

Logisim — это обучающий инструмент для проектирования и моделирования цифровых логические схемы. Благодаря простому интерфейсу панели инструментов и моделированию схемы, как вы их строите, это достаточно просто, чтобы облегчить обучение самые основные понятия, относящиеся к логическим схемам.С емкостью для построения больших схем из более мелких подсхем и для рисования пучков проводов одним перетаскиванием мышью, Logisim можно использовать (и используется) для разработки и моделирования целых процессоров в образовательных целях.

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

Загрузить Logisim!

Характеристики

  • Это бесплатно! (Logisim имеет открытый исходный код (GPL).)
  • Он работает на любой машине , поддерживающей Java 5 или новее; специальные версии выпущены для MacOS X и Windows. В кроссплатформенность важна для студентов, у которых есть разнообразие компьютерных систем для дома / общежития.
  • Интерфейс рисования основан на интуитивно понятной панели инструментов. Провода с цветовой кодировкой помогают моделировать и отлаживать цепь.
  • Инструмент для электромонтажа автоматически рисует горизонтальные и вертикальные провода. подключение к компонентам и другим проводам. Рисовать очень легко схемы!
  • Завершенные схемы можно сохранить в файл, экспортировать в файл GIF, или распечатать на принтере.
  • Схемы схем можно использовать как «подсхемы» других схемы, позволяющие создавать иерархические схемы.
  • Включенные компоненты схемы включают входы и выходы, ворота, мультиплексоры, арифметические схемы, триггеры и оперативная память.
  • Включенный модуль «комбинационного анализа» позволяет преобразование между схемами, таблицами истинности и логическими выражения.

Имитатор логического затвора | Academo.org


Простой бесплатный онлайн-симулятор логических вентилей. Изучите поведение логических элементов AND, OR, NOT, NAND, NOR и XOR. Выберите ворота из раскрывающегося списка и нажмите «Добавить узел», чтобы добавить дополнительные ворота. Перетащите полые круги к сплошным кругам, чтобы установить соединения.Щелкните соединения правой кнопкой мыши, чтобы удалить их. См. Ниже более подробные инструкции.

Инженерное дело Электроника логика




Приведенная выше демонстрация позволяет вам создавать последовательности логических вентилей, чтобы увидеть, как они ведут себя при подключении к различным входам и выходам. Изначально, вам предоставляется простой вход включения / выключения и выход. Чтобы соединить их, щелкните и перетащите из полого круга в правой части переключатель включения / выключения и отпустите кнопку мыши, когда вы окажетесь над сплошным кружком в левой части блока «вывода».

Для каждого логического элемента выходы обозначены полыми кружками, а входы — сплошными кружками. Наши переключатели «вкл. / Выкл.» И «выходной блок» на самом деле не являются логическими вентилями, но они необходимы, потому что дают нам единицы и нули, необходимые для того, чтобы увидеть, как ведут себя ворота. Щелкните переключатель включения / выключения и посмотрите, что произойдет. Он становится желтым. Это наш способ различать 0 (выключено) и 1 (включено).

Чтобы добавить новый логический вентиль или дополнительный блок ввода или вывода, выберите из раскрывающегося меню и затем нажмите «Добавить узел».Новый узел будет размещен в верхнем левом углу, а вы можете перетащить его в желаемое положение. Чтобы удалить узлы, щелкните маленький крестик в правом верхнем углу охватывающей рамки. Чтобы удалить соединения, вы можете нажать на введите (сплошной кружок), перетащите и отпустите, или, как вариант, вы можете щелкнуть правой кнопкой мыши в любом месте соединения.

Если вам нужно больше места, нажмите кнопку «Полноэкранный режим», которая увеличит размер рабочего пространства до размера окна.Кроме того, вы можете переименовать выход, дважды щелкнув его метку.

НЕ Ворота

Логический элемент НЕ также известен как инвертор, поскольку его выход прямо противоположен входу. У него один вход и один выход. Две возможности описаны в таблице ниже. Таблицы, перечисляющие все подобные логические возможности, известны как таблицы истинности .

И Ворота

Логический элемент И имеет два входа и один выход. Выход равен 1, если оба входа равны 1, а для всех остальных случаев выход равен 0.

Вход 1 Вход 2 Выход
0 0 0
1 0 0
0 000082 1 1 1
NAND Gate

Логический элемент И-НЕ ведет себя противоположно логическому элементу И. Вы можете думать об этом как о логическом элементе И, за которым сразу следует элемент НЕ.Его выход равен 0, когда два входа равны 1, и для всех остальных случаев его выход равен 1. Название NAND происходит от объединения NOT и AND. Символ для NAND такой же, как и для AND, за исключением добавления небольшого кружка с правой стороны.

2
Вход 1 Вход 2 Выход
0 0 1
1 0 1
0 1
05
1 1 0
OR Выход

Логический элемент ИЛИ имеет два входа и один выход.Если хотя бы один из входов равен 1, тогда выход будет 1. Если ни один из входов не равен 1, выход будет 0.

2
Вход 1 Вход 2 Выход
0 0 0
1 0 1
0 1
05
1 1 1
NOR Gate

Точно так же, как логический элемент И-НЕ можно рассматривать как И, за которым следует НЕ, И НЕ можно рассматривать как ИЛИ, за которым следует НЕ.

2
Вход 1 Вход 2 Выход
0 0 1
1 0 0
0 1 1 1 0
XOR Gate

При использовании логического элемента ИЛИ, если на обоих входах было 1, на выходе было 1. Однако при XOR (исключающее ИЛИ), если оба входа равны 1, на выходе было 0.Для всех в других сценариях XOR ведет себя так же, как OR.

2
Вход 1 Вход 2 Выход
0 0 0
1 0 1
0 1
05
1 1 0

Кредиты
Пожалуйста, включите JavaScript, чтобы просматривать комментарии от Disqus.

Логическое моделирование — обзор

14.3.1 Последовательное моделирование отказов

Последовательное моделирование отказов — это простейший метод имитации отказов. Он состоит из моделирования безотказных и неисправных схем. Первоначально на исходной схеме выполняется безотказное логическое моделирование для получения исправных выходных откликов. Ответы на безотказную работу сохраняются и позже используются для определения того, может ли тестовая таблица обнаружить неисправность или нет. После безошибочного моделирования последовательный имитатор неисправностей имитирует неисправности по одной за раз.Для каждой неисправности сначала выполняется инжекция неисправности , которая изменяет исходную схему, чтобы имитировать поведение схемы при наличии неисправности. Затем неисправная схема моделируется для получения неисправных ответов текущей неисправности относительно заданных тестовых шаблонов. Этот процесс повторяется до тех пор, пока не будут смоделированы все неисправности в списке неисправностей.

Процесс последовательного моделирования неисправностей демонстрируется на примере схемы N. В этом примере список неисправностей включает две неисправности: A, , застрявший в одном (обозначен f ) и J , застрял в нуле (обозначен на г ), которые изображены на рисунке 14.10. Обратите внимание на то, что, хотя на рисунке изображены оба разлома, в модели с одним застрявшим разломом одновременно присутствует только один разлом. Тестовый набор состоит из трех тестовых шаблонов (обозначенных P 1 , P 2 , P 3 соответственно и показанных в столбцах «Входные» таблицы 14.3).

РИСУНОК 14.10. Пример схемы с двумя неисправностями.

Таблица 14.3. Результаты моделирования последовательной неисправности для рисунка 14.10

05 900
Pat.# Вход Внутренний Выход
A B C E F L J H K34 9333 хорошо K г
P 1 0 1 0 1 1 1 0 0 0 0 0 0 0 1
P 2 0 0 1 1 1 1 0 0 1 P 3 1 0 0 0 0 0 1 0 0 0 1

Имитатор серийных неисправностей запускается с безотказной имитации.Безотказные реакции составляют K = {1, 1, 0} для входных шаблонов P 1 , P 2 и P 3 соответственно. После того, как доступны исправные реакции, обрабатывается неисправность f — ввод неисправности достигается путем принуждения A к постоянному значению, и полученная неисправная цепь моделируется. Ответы схемы на ошибку f : K f = {0, 0, 0} по отношению к трем входным шаблонам.По сравнению с безотказными реакциями (столбец «Выход» в Таблице 14.3) наблюдается, что образцы P 1 и P 2 обнаруживают неисправность f , но образец P 3 не. После моделирования неисправности f , цепь N восстанавливается путем устранения неисправности f . Затем вводится следующая неисправность g путем приведения J к нулю. Затем выполняется моделирование образовавшейся неисправной цепи для получения неисправных выходов K g = {1, 1, 1} (также перечисленных в Таблице 14.3). Неисправность г определяется по схеме P 3 , но не P 1 и P 2 .

В этом примере выполняется девять прогонов моделирования: три имитации исправных и шесть неисправных схем. Эти девять прогонов моделирования можно разделить на три прогонов моделирования . В каждом проходе моделирования либо исправная, либо неисправная схема моделируется для всего набора тестовых таблиц. Таким образом, первый проход моделирования состоит из моделирования без сбоев для P 1 , P 2 и P 3 , а второй и третий проходы соответствуют моделированию неисправных схем неисправностей f и g , соответственно, для P 1 , P 2 и P 3 .

Путем внимательного изучения результатов моделирования в Таблице 14.3 можно заметить, что если нас интересует только набор неисправностей, обнаруженных тестовым набором { P 1 , P 2 , P 3 }, моделирование неисправной цепи с неисправностью f для шаблонов P 2 и P 3 является избыточным, поскольку f уже обнаружено P 1 .(Предполагается, что тестовые таблицы моделируются в следующем порядке: P 1 , P 2 , а затем P 3 .) Остановка моделирования обнаруженных неисправностей называется сбросом неисправности . Для целей классификации отказов устранение отказов значительно улучшает характеристики моделирования отказов, поскольку большинство отказов обнаруживается после применения относительно небольшого количества тестовых шаблонов. Однако следует избегать сброса неисправности в приложениях диагностики неисправностей, в которых обычно требуются все результаты моделирования неисправности для облегчения идентификации типа и местоположения неисправности.

Упрощенная последовательность операций моделирования последовательного отказа изображена на рисунке 14.11. Перед моделированием сбоя выполняется обрушение сбоя , чтобы уменьшить размер списка сбоев, обозначенного как F . Затем выполняется безошибочное моделирование для всех тестовых шаблонов для получения правильных ответов O g . Затем алгоритм переходит к моделированию неисправности. Для каждой ошибки f в F , если существует тестовая таблица, выходная реакция которой O f отличается от соответствующей исправной схемы O g , f удаляется из F , что свидетельствует о его обнаружении.Когда все схемы смоделированы, оставшиеся неисправности в F являются необнаруженными неисправностями.

РИСУНОК 14.11. Последовательный алгоритм моделирования неисправности.

Основным преимуществом последовательного моделирования неисправностей является простота реализации — достаточно обычного логического симулятора, а также процедур ввода неисправностей и сравнения выходных сигналов. Кроме того, последовательное моделирование неисправностей может обрабатывать широкий спектр моделей неисправностей при условии, что эффекты неисправности могут быть должным образом введены в схему.Основным недостатком последовательного моделирования неисправностей является его низкая производительность. Как будет обсуждаться в следующих подразделах, практические методы моделирования неисправностей используют параллелизм и / или сходство неисправных схем для ускорения процесса моделирования неисправностей.

Использование имитатора логики

Использование имитатора логики
Далее: Компоненты 74LS TTL Up: пользователей Iowa Logic Simulator Предыдущая: Язык спецификации логики

Подразделы


После редактирования или создания файла описания схемы вы можете выполнить логический симулятор, набрав

logicsim
 
в системе, которую вы используете.В ответ на это логический симулятор выдаст следующее:
IOWA Logic Simulator, вер. 9
Имя исходного файла:
 
На этом этапе введите имя файла, описывающего схему. вы хотите протестировать. Например, введите dlatch , чтобы смоделировать примерную схему, предполагая, что пример описания схемы находится в файле dlatch . После того, как имя файла указано, система скомпилирует ваш файл описания схемы. Если есть синтаксис ошибок, система распечатает сообщения об ошибках и завершит работу.В этом случае исправьте ошибки и попробуйте еще раз.

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

Во внутреннем представлении схемы подсхемы и массивы были заменены структурами данных, аналогичными структурам данных, которые были бы использованы, если бы та же схема была описана без подсхем или массивы. Хотя вывод компилятора не является текстовым, процесс какие подсхемы обрабатываются, напоминает макрорасширение.В результате на решение использовать или не использовать подсхемы или массивы не должны влиять любое рассмотрение эффективности моделирования.

Если в схеме нет ошибок, имитатор логики распечатает из заголовка моделирования. Для примера тестового файла это будет следующим образом:

================================================== ========
   имя цепи = dlatch
   input interval = 1.0us Если вам нужна помощь, введите h.
   выходной интервал = 500 нс
-------------------------------------------------- --------
ВРЕМЯ: ВЫХОД: ВВОД
----: ------: -----
500: q: qbar: d
 NS: | : | : do: co: | c
    : | : | : | : | :: ||
================================================== ========
   0: | : | : | : | :ВХОД:
 
Этот заголовок сообщает вам начальный статус симулятора.Компоненты заголовок поясняется в следующих параграфах:
название цепи :
Задает имя цепи, указанное в описании цепи.
интервал ввода :
Выдает смоделированный временной интервал между последовательными INPUT: запрашивает следующую симуляцию. Значение интервала ввода по умолчанию составляет 1 микросекунду. То есть когда появится следующая подсказка INPUT: , 1 с моделируемого времени будет иметь прошло с момента предыдущего запроса.(См. Раздел дополнительных функций, если вы хотите изменить это значение по умолчанию.)
интервал вывода :
Дает смоделированный временной интервал между двумя последовательными выводить строки отображения. Значение интервала вывода по умолчанию составляет 500 наносекунд. То есть когда появится следующая строка дисплея вывода, 500 нс смоделированного времени будут истекли. (См. Раздел дополнительных функций, если вы хотите переопределить это значение по умолчанию.)
Остальная часть заголовка представляет собой таблицу с тремя столбцами, столбец TIME , столбец OUTPUT и столбец INPUT .Они служат метки на трех столбцах результатов моделирования.
ВРЕМЯ :
Первый столбец результатов моделирования дает время, прошедшее с начала моделирования, кратно выходной интервал.
ВЫХОД :
Второй столбец вывода имеет подстолбец для отображения каждого выходной контакт моделируемой схемы. Заголовок включает имя каждого выходного контакта вверху соответствующей колонки; эти имена взяты из текста описания схемы.Обратите внимание, что имена выходных контактов длиннее трех символов заставляют использовать дополнительные строки в заголовке.
ВХОД :
Последний столбец зарезервирован для ввода в симулятор. Заголовок для этого В столбце перечислены имена каждого входного контакта моделируемой схемы. Они перечислены по одному в каждой строке и по одному в столбце.
Стоит отметить, что на дисплее с 80 столбцами есть место только для ограниченное количество входов и выходов. Фиксированные части формата отображения требуется 12 столбцов, для каждого вывода требуется 4 столбца, а для каждого ввода требуется 1 столбец.Гарантированно будет место для 4 входов, оставляя место для максимум 16 выходов. Цепи могут быть построены с большим количеством входы и выходы, но их выходные данные будут доступны для чтения только в том случае, если они напечатаны на линейный принтер.

После заголовка симулятор печатает начальные значения каждого вывода. и начальное приглашение INPUT: . Их формат объясняется в следующем разделе. Выходы изначально низкие (0 или ложь) при включении моделируемой мощности. включен, и все входы имеют низкий уровень до того, как вы введете первое входное значение.Это начальное состояние нестабильно, так как это означает, что некоторые ворота могут начните с выходов, которые не подходят для их входов. Как результат, даже если вы не измените входные значения, некоторые из выходов будут немедленно измените значение с 0 на 1. Если в вашей схеме есть петли обратной связи в нем, например, если он содержит триггеры, он может колебаться между 0 и 1 в течение некоторого времени в результате этих начальных изменений; это колебание может занять значительное время вычислений и может задержать INPUT: подскажите значительно.

Когда появляется приглашение INPUT: , система находится в режиме моделирования. Каждый раз, когда появляется это приглашение, вы можете указать новые входные значения для каждого входа схемы. Допустимые входные значения:

0 или L низкий (ложный) логический уровень.
1 или H высокий (истинный) логический уровень.
п. импульс.
x , пустой повторяет предыдущий логический уровень.
пустая строка все входные значения остаются без изменений.
Если интервал ввода составляет 1 микросекунду, будет новый INPUT: запрашивать каждую микросекунду смоделированного времени. Обратите внимание, что смоделированное время не имеет ничего общего с реальным временем. Уменьшение входного интервала не приведет к обязательно заставьте тренажер проделать какую-то более-менее работу.Это потому что имитатор использует так называемую имитационную модель дискретных событий ; в этой модели требуется (примерно) постоянное количество компьютерного времени, чтобы имитировать каждое изменение входа гейта с высокого на низкий или с низкого на высокий, полностью независимый от входных или выходных интервалов. Каждый переход, который происходит в цепи, моделируется независимо от того, этот переход оказывает заметное влияние на выходы схемы. Обратите внимание, что это означает, что на точность моделирования не влияет по интервалу ввода или вывода! Длинный интервал вывода только ограничивает точность, с которой сообщаются результаты моделирования, а не точность, с которой они вычислены.Некоторые другие методы моделирования включают внутренние часы; такие системы, как правило, дают более точные результаты, если часы работают на более высоких скоростях.

Набрав 11 в ответ на приглашение INPUT: для пример схемы показывает, что оба входа d и c являются присвоено значение 1 (высокое), поскольку в каждом столбце отображается 1 . После получения значений система имитирует всю логику переходы, которые происходят в результате изменений ввода.Он также производит выборку всех выходных значений в данный момент. когда истекает один интервал вывода, и отображаются выборочные данные. После ввода 11 на экране дисплея появится следующее:

ОК, logicsim
IOWA Logic Simulator, вер. 9
имя исходного файла: dlatch
================================================== ======
   имя цепи = dlatch
   input interval = 1.0us Если вам нужна помощь, введите h.
   выходной интервал = 500 нс
-------------------------------------------------- ------
ВРЕМЯ: ВЫХОД: ВВОД
----: ------: -----
 500: q: qbar: d
 нс: | : | : do: co: | c
    : | : | : | : | :: ||
================================================== ======
   0: | : | : | : | : ВХОД: 11
   1: | =: | =: | _: | _: 11
   2: |: | : |: |: ВХОД:
 
Есть две новые строки вывода, потому что интервал ввода вдвое больше выходной интервал.Входной интервал обычно должен быть целым кратным выходного интервала.

Ввод p в качестве входного значения заставляет симулятор переключать обозначенный ввод от его предыдущего значения до инверсии этого значения примерно на половину входного инвертора, а затем переключите его обратно на исходное значение. Таким образом, будет положительный импульс, если предыдущий значение было низким, и будет отрицательный импульс, если предыдущее значение был высоким. Импульс, создаваемый p , будет примерно центрирован в интервал между последовательными запросами INPUT: .

Форматы ввода / вывода логического симулятора аналогичны форматам инструмент под названием логический анализатор . Логические анализаторы используются при тестировании и отладка цифрового оборудования; у них есть графический дисплей, который покажет выходы цифровой системы, построенные как функция времени, и они могут вводить подготовленные последовательности тестовых данных на входы схема. Поскольку обычные экраны компьютерных дисплеев могут прокручиваться по вертикали, но не по горизонтали выход симулятора повернут на 90 градусов от его обычная ориентация.Из-за ограничений набора символов переходы в результате изменения ввода будет отображаться в конце следующего интервала вывода, а не сразу после изменения. Последнее приводит к явной задержке на один выходной интервал на всех выходах. от схемы. (Если в наборе символов ASCII есть черта сверху, а также подчеркивание, эта проблема была бы устранена.)

Значения выходов схемы отображаются логическим симулятором следующим образом:

: | : — низкий (ложный, 0) логический уровень.
: | _: — переход от низкого к высокому.
: |: — высокий (истина, 1) логический уровень.
: _ |: — переход от высокого к низкому.
: | :
: | -: — короткий спайк или импульс (2 перехода).
: | _:
: _ |: — более длинный импульс (1 переход на строку).
: | :
: | =: — множественные шипы (4 и более перехода).
: | :
: | =: — грязный переход (3 и более перехода).
: |:
На логическом анализаторе приведенная выше выходная трасса могла бы быть показана следующим образом:



Обратите внимание, что когда всплеск, несколько всплесков или грязный переход показано, повторяя эксперимент с меньшим выходом интервал покажет более подробную информацию, позволяя каждый переход должен отображаться в отдельной строке.Это соответствует растягивание временной оси дисплея.

Когда начинается моделирование схемы, триггеры обычно производить множественные шипы в течение значительного времени; это симуляция поведения реальных триггеров при включении питания. Выходы триггеров обычно переходят в стабильное состояние через несколько микросекунды, но они могут быть явно установлены или сброшены немедленно, как было сделано с примером ввода для тестирования схемы dlatch . Для моделирования поведение схем с большим количеством триггеров при включении питания, но это может обычно следует избегать, используя начальное низкое значение некоторого ввода для явной очистки всех триггеров в схеме.Конечно, если ты сделайте это, схема вообще не будет работать, пока вы не введете высокое значение для этого входа.

Глобально предопределенные входы high и low , предоставляемые Симулятор может использоваться для создания схемы автоматического сброса при включении питания. Ключ к этому в том, что симулятор обеспечивает переход от низкого уровня к высокому. на высоте сразу после моделирования переходного процесса при включении на каждом затворе. Если соответствующий элемент задержки подключен к входу high , может генерироваться сигнал, который будет оставаться низким в течение периода после начинается симуляция, а затем повышается до конца симуляции.

Есть ряд специальных команд, которые симулятор примет при приглашение INPUT: . За исключением команды выйти из , эти команды будут выполнены, а затем вывод симулятора отобразится повторно, и появится новое приглашение INPUT: дано, как если бы не истекло смоделированное время. Все законные команды могут быть сокращенным до одной буквы; таким образом, выйти из может быть сокращено до q .

выйти :
Чтобы остановить симулятор, введите q или выйти из .
вход :
Чтобы изменить интервал ввода, введите input nn uu , где nn — положительное число и uu является одним из s , мс , мс или нс . Большие входные интервалы позволяют отображать много выходных строк. между запросами INPUT: . Входной интервал обычно должен быть целое число, кратное выходному интервалу.
вывод :
Чтобы изменить интервал вывода, введите output nn uu , где nn — положительное число и uu является одним из s , мс , мс или нс .Небольшие выходные интервалы позволяют наблюдать детали нескольких переходов с каждый переход на отдельной строке. Обратите внимание, что интервал ввода не должен быть меньше интервала вывода.
читать :
Чтобы прочитать тестовые данные из файла, отличного от терминала, введите read ff , где ff — имя нового входного файла. Эта команда полезна потому что он позволяет использовать предопределенные тестовые последовательности снова и снова, для Например, при отладке схемы без необходимости повторного ввода данные каждый раз при тестировании схемы.Например, рассмотрим следующую последовательность тестов, хранящуюся в файле вызвал пример .
o 100 нс
я 0.2us
11
10 - комментарий
01
11
q
 
Результат сеанса, в котором используется эта команда, показан ниже:
ОК, logicsim
IOWA Logic Simulator, вер. 9
имя исходного файла: dlatch
================================================== ===========
   имя цепи = dlatch
   input interval = 1.0us Если вам нужна помощь, введите h.
   выходной интервал = 500 нс
-------------------------------------------------- -----------
ВРЕМЯ: ВЫХОД: ВВОД
----: ------: -----
 500: q: qbar: d
 NS: | : | : do: co: | c
    : | : | : | : | :: ||
================================================== ===========
   0: | : | : | : | : INPUT: r пример
   1: | : | : | : | : INPUT: o 100нс
   1: | : | : | : | : ВХОД: i 0.2us
   1: | : | : | : | : ВХОД: 11
   2: | =: | =: | _: | _:: 11
   3: |: | : |: |: INPUT: 10 - комментарий
   4: |: | : |: _ |:: 10
   5: |: | : |: | : ВХОД: 01
   6: _ |: | _: _ |: | _:: 01
   7: | : |: | : |: ВХОД: 11
   8: | _: _ |: | _: |:: 11
   9: |: | : |: |: ВХОД: q

  Моделирование заканчивается.
ОК,
 
Обратите внимание, что каждая строка файла содержит только одну команду или одну набор входных значений. Также обратите внимание, что комментарии к строке ввода разрешены до тех пор, пока там есть хотя бы один пробел, отделяющий комментарий от последнего связанного столбца с входным контактом.Если вам нужна бумажная копия результатов сеанса с симулятором перенаправьте вывод перед запуском симулятор.
титул :
Команда title перепечатывает заголовок моделирования. Это было бы полезно в приведенном выше примере после сброса интервалов входа и выхода. Это также полезно, если заголовок прокручивается за пределы экрана и вы забываете какие входы какие.
справка :
Доступны справочные сообщения для всех средств системы.Всякий раз, когда вам нужно помогите, попробуйте набрать h и посмотрите, какую помощь может вам дать симулятор логики.

Все сообщения об ошибках, выдаваемые Iowa Logic Simulator во время компиляции. описания схемы имеют следующий формат:

ОШИБКА в строке 999 файла XXX
      ---> МММ
 

В первой строке указывается номер строки файла, в котором возникла ошибка. была обнаружена, а во второй строке указывается характер ошибки. Компилятор работает в два прохода, и если первый pass обнаруживает любые ошибки, второй проход будет прервано.За один проход компилятор обычно сообщает обо всех ошибках. он обнаруживает, сдерживаясь попыткой не сообщать об одной и той же ошибке больше чем единожды; однако при некоторых ошибках компиляция будет прервана со следующим сообщением:

Компиляция прервана; фатальная ошибка.
 
Ошибки выполнения Pascal во время выполнения :
Попытка чтения из файла, который не exists вызовет выполнение во время выполнения Pascal ошибка в машинно-независимой версии логический симулятор.Другие ошибки времени выполнения должны сообщать, и любой код, который их вызывает, должен быть сохраненным, чтобы можно было воссоздать ошибку.
переполнение пула строк :
Неустранимая ошибка. Во всех идентификаторах было слишком много общих символов в описании схемы. Лучшее решение для этого — перекомпилировать логический симулятор с большим пулом строк, но если это нецелесообразно, используйте более короткие имена идентификаторов или повторно используйте имена локальных идентификаторов из одного подсхема к следующей.
переполнение упакованного текста :
Неустранимая ошибка. Общее количество лексем во всем описании схемы, включая текст всех подсхем, было слишком большим. Лучшее решение — перекомпилируйте симулятор логики с большим пулом упакованного текста, но если это непрактично, постарайтесь более эффективно использовать подсхемы, массивы, и итераторы для сокращения описания схемы.
Переполнение таблицы символов :
Неустранимая ошибка.Во всей цепи было слишком много разных идентификаторов описание. Лучшее решение — перекомпилировать симулятор логики с большим таблицы символов, но если это нецелесообразно, используйте меньше различных идентификаторов повторное использование локальных имен из одной подсхемы в другую.
неожиданный EOF :
Неустранимая ошибка. Конец файла был обнаружен при сканировании тела схемы на предмет ключевое слово конец .
"цепь" или "входы" ожидаются :
При сканировании объявлений подсхем и констант на главы цепи, было обнаружено что-то, кроме одного из ключевых слов, которые может начать объявление ( схема , логическое , целое , реальный , время , время или используйте ) или ключевое слово, указывающее начало тела этой схемы ( входов или выходов ).
ожидаемый идентификатор :
Ключевое слово circuit не сопровождалось идентификатором давая название цепи.
слишком много уровней использования; limit = 4 :
Неустранимая ошибка. Количество уровней вложенности файлов включенный в директиву использование было слишком большим. Симулятор логики может иметь не более 4 открытых входных файлов одновременно. Решение — переехать использует директивы на глобальном уровне, так что вместо основного файл включает еще один, который, в свою очередь, включает еще один, все включенные файлы напрямую ссылаются на главный файл.В качестве альтернативы просто замените некоторые из более глубоко вложенных используют директивы в тексте включенные файлы.
"контур" ожидается :
Главная схема не начинается с ключевого слова схема .
Ожидаемый EOF :
Произошло что-то после окончания главной цепи, или файл, включенный директивой use , содержал что-то кроме объявления констант и подсхем.Имейте в виду, что ничего, кроме пробел может следовать за (необязательной) точкой в ​​конце файла.
плохой номер :
Номер был указан с слишком большим количеством цифр.
")" ожидается в списке параметров :
Список формальных параметров схемы включал недопустимое ключевое слово в список формальных параметров, или в список формальных параметров, в результате чего все тело схемы интерпретируется как часть списка.
x найдено; y ожидаемый :
Это сообщение используется почти для всех синтаксических ошибок. Маркер x был найден в контексте, где это не законно; y — это один из жетонов (или имя класса токена), который будет уместно в этом контексте.
x: недопустимое переопределение :
Была сделана попытка переопределить идентификатор x в контексте, где это идентификатор уже имеет локальное определение.
слишком много (фактических) parms :
Количество фактических параметров, указанных в декларации детали, было больше чем число, ожидаемое создаваемым типом части.
слишком мало (фактических) parms :
При синтаксическом анализе списка формальных параметров и привязке фактические параметры формальным параметрам, были недостаточно фактических параметров для привязки к каждому формальный параметр. Или была заявлена ​​подсхема с более чем 20 формальные параметры, и в этом случае имитатор логики должен быть перекомпилирован, чтобы увеличить этот предел.
x: недопустимое имя шлюза / цепи :
Идентификатор x был найден после двоеточия в объявлении детали и x не было именем подсхемы или предопределенного типа затвора.
x: недопустимое имя вывода :
Идентификатор x был найден после точки в имени контакта в списке проводов и x не было именем входа или выхода этой подсхемы или предопределенные ворота.
x: недопустимое название детали :
Идентификатор x был найден перед точкой (если таковая была) на выводе имя в списке проводов, а x не было именем заявленной части.
x: неизменяемое имя :
Идентификатор x был найден перед точкой в ​​имени вывода, но не был можно изменить с помощью предоставленного суффикса, например, потому что x было имя входа или выхода в текущую цепь или подсхему.
x.y: незаконно повторно используется :
Штифт x.y , используемый в качестве назначения провода, уже имел другой к нему подключен провод.
адрес назначения не указан :
При анализе записи списка проводов был найден исходный вывод и ключевое слово ожидались, но отсутствовали.
не является источником :
В списке проводов цепи, использовался вход элемента или экземпляра подсхемы как вывод источника, или вывод тока Схема использовалась как вывод истока.
не является пунктом назначения :
В списке проводов цепи выход экземпляра элемента или подсхемы был используется в качестве вывода назначения или входа текущего подсхема использовалась как вывод назначения.
x.y: есть соединение с открытым исходным кодом :
Это сообщение об ошибке указывает, что в текущем Подсхема предоставила источник данных для x.y . После анализа списка проводов схемы или подсхемы выполняется проверка. чтобы убедиться, что все выходы этой схемы или подсхемы были подключены к какой-то источник данных, и проверяется, что все входы всех подсхем этой схемы или подсхемы подключены к источнику данных.В результате в этом сообщении об ошибке всегда указывается номер строки ключевое слово конец обозначает конец подсхемы, где провод пропал, отсутствует.
x: необъявленный :
Идентификатор x использовался в выражении но не имел заявленного значения.
x: значение неправильного типа :
Идентификатор x использовался в выражении и был объявлен как имя экземпляра вентиль или подсхема, или имя входа или выходной контакт.Или в объявлении константы x , тип выражения, дающего значение не соответствует ключевому слову, используемому в объявлении. В последнем случае к сообщению об ошибке добавляется дополнительная строка. давая значение найденного выражения.
операнды "" несовместимы :
Была сделана попытка применить одну из арифметических операций к значениям, которые не могут быть оперированы этими операциями; например, добавление целого числа к времени или умножение подсхема умножает диапазон.
несравнимые операнды :
Была предпринята попытка применить оператор сравнения к значениям. это нельзя было сравнить; например, времена не могут быть по сравнению с чем-либо, кроме времени, диапазонов и схемы вообще нельзя сравнивать.
ожидаемое логическое значение :
Логический оператор, такой как and, or not, был применен к значению, которое не было Логическое значение или выражение, управляющее оператором if в списке частей или список проводов не был логическим.В обоих случаях дополнительная строка дает фактическое значение найденного выражения или операнда.
ожидаемое целое число :
Предикат нечетный был применен к нецелому числу, операнду mod оператор не был целым числом, была предпринята попытка возвести в степень нецелое число, конструктор диапазона использовался с использовались нецелочисленные границы или нецелочисленный индекс массива. Во всех случаях дополнительная строка дает фактическое значение найденного выражения или операнда.
ожидаемое положительное целое число :
Была сделана попытка возвести число в отрицательную или не целую степень, была сделана попытка возвести ноль в нулевую степень, целочисленное деление или по модулю с отрицательными числами. предпринята попытка деления на ноль, или была сделана попытка создать экземпляр предопределенного шлюза тип с отрицательным или нулевым числом входов. Во всех случаях дополнительная строка дает фактическое значение найденного выражения или операнда.
ненулевое действительное ожидаемое :
Деление на нулевое действительное или временное значение было попытался. Дополнительная строка дает значение найденного выражения или операнда.
ожидаемое положительное время :
Задержка, указанная для ворот или провода, была меньше нуля или не время. Во всех случаях дополнительная строка дает фактическое значение найденного выражения или операнда.
ожидаемый диапазон :
Размер , первый или последний оператор был применен к значению, которое не было диапазоном, или в объявление части или входного или выходного контакта цепь, синтаксис спецификации массива использовался с значение, которое не было диапазоном, или выражением управление итерацией в инструкции для было не диапазон.Во всех случаях дополнительная строка дает фактическое значение найденного выражения или операнда.
индекс за пределами :
Номер пина, используемый для выбора входа предопределенного ворота были вне пределов, или индекс массива был за пределами границы. В обоих случаях дополнительная строка дает фактическое значение найденного выражения или операнда.
x: не имя массива :
Нижний индекс использовался на x , название детали или имя контакта, которое не было именем массива деталей или штифтов.
x: несовпадающие типы параметров :
Была сделана попытка привязать формальный параметр x к фактическому параметру неправильного типа. Дополнительная строка дает значение фактического параметра.
несогласованные границы массива :
Была сделана попытка подключить источник к месту назначения где границы массива двух не совпадают или где один был массивом, а другой не был массивом.
x: индекс, необходимый для этой части :
Было использовано имя x массива частей без индекса при указании подключаемого вывода в списке проводов.

Большинство сообщений об ошибках интерактивного симулятора должны быть говорят сами за себя и предлагают интерактивную помощь в исправление ошибки. Следующее сообщение об ошибке иногда возникает из-за реальных ошибок в цепи симулируется, однако может быть устранена только Изменения в схемотехнике:

Предупреждение, шина «x» была задействована с конфликтующими входами :
Шина с тремя состояниями с именем x имела более одного драйвера шины, включенного в в то же время, и два или более из них пытались управлять автобус к разным значениям одновременно.В реальной системе это может вызвать физическое повреждение, перегрев или электрические помехи и переходные процессы неисправности; в смоделированная система, она не вызовет никаких повреждений, но ценность на автобусе с тремя состояниями будет непредсказуемо, пока конфликт разрешен.


Далее: Компоненты 74LS TTL Up: пользователей Iowa Logic Simulator Предыдущая: Язык спецификации логики
адрес автора

Домашняя страница Andreas Tetzl — Logic Simulator

Основной

Добро пожаловать
Связаться
Ссылки

Развлечения

Амига-Викторина
Крейслер-Гейм

Java-программы

Логический симулятор
ImageMap
Топливо
HTML-включить

Амига-Программы

LogicSim
ImageMap
Наберите
CDP
Diese Seite auf Deutsch Новая версия: https: // github.com / codepiet / LogicSim3

Обзор

С помощью LogicSim вы можете проектировать и моделировать цифровые логические схемы с помощью логических элементов, таких как AND, OR, FlipFlop и т. Д.
Включены следующие типы логических вентилей:
  • Базовый: AND, NAND, OR, NOR, XOR (антивалентность), эквивалентность, НЕ
  • Вьетнамки: RS, D, T, JK, JKMS
  • Таймеры: тактовый генератор, монофлоп, задержка включения, задержка выключения
  • Входы: переключатель, числовой ввод для десятичных и шестнадцатеричных значений
  • Выходы: светодиод, ЖК-дисплей для десятичных и шестнадцатеричных значений
Вы можете создать свои собственные ворота, сохранив схему как «модуль» и повторно использовать этот модуль в другой схеме.

История версий

  • 2009-07-16
    Польский перевод Веслава Солтеса
  • 09.01.2009, Версия 2.4
    Экспорт в PNG
    Изменения Дитера Мейера:
    • остановить моделирование при открытии нового файла
    • сброс остановил симуляцию
    • D FlipFlop со сбросом
    • схемы сумматора BCD и счетчика BCD, модули segm1-7
  • 22.11.2008
    обновлено D-FlipFlop, шведский перевод и документация
  • 30.06.2008
    Изменены образы для DFF, JKMSFF, JKCFF
    добавлен голландский перевод, Ben Harkema
    исправлены некоторые проблемы с макетом в OS X
  • 02.08.2007
    LogicSim теперь может работать как апплет в браузере
  • 13.06.2007
    Добавлена ​​кнопка сброса
  • 2006-06-01
    Новый компонент: 7-сегментный дисплей
  • 30.05.2006
    Добавлена ​​французская локализация и руководство, созданное Тьерри Валетт
  • 19.01.2006
    Добавлена ​​итальянская локализация и руководство, созданное проф.Риккардо Бьянки
  • 02.01.2006, версия 2.1
    Поддержка интернационализации, немецкая локализация
    символов ворот ISO, созданных профессором Риккардо Бьянки.
    Элемент «Свойства» в контекстном меню ворот теперь отключен, если ворота не имеют свойств.
    Элемент Switch теперь может быть настроен как традиционная кнопка переключения или кнопка щелчка, который работает только до тех пор, пока кнопка мыши удерживается нажатой.
  • 2004-09-26
    Добавлена ​​поддержка текстовых меток в любом месте схемы.
    Поместите объект текстовой метки и отредактируйте текст с помощью контекстного меню -> свойства. Используйте \ (обратная косая черта), чтобы вставить разрыв строки.
  • 2001, версия 2.0
    JAVA-версия LogicSim
    добавлена ​​поддержка «модулей», вы можете сохранить схему как модуль и повторно использовать ее в другой схеме
  • 1995–1996, версия 1.0
    Начальная версия для Amiga, написанная на «PCQ-Pascal». LogicSim для Amiga

Скачать

загрузить LogicSim
Чтобы запустить LogicSim, распакуйте содержимое архива и дважды щелкните LogicSim.банка или запустите «java -jar LogicSim.jar».
загрузить исходный код LogicSim

Это бесплатное программное обеспечение, выпущенное под лицензией GNU General Public License.

English LogicSim Manual
Deutsche LogicSim Anleitung

Для запуска этой программы вам потребуется как минимум версия 1.4 среды выполнения JAVA.
загрузить последнюю версию Java Runtime Environment (JRE)

Ссылки

Демонстрационный апплет

Посмотрите, как работает LogicSim: апплет LogicSim

Скриншоты


Моделирование 5-битного сумматора с десятичным вводом / выводом.


Модуль полного сумматора, используемый в верхней цепи.

% PDF-1.6 % 3105 0 объект> эндобдж xref 3105 82 0000000016 00000 н. 0000003551 00000 н. 0000003783 00000 н. 0000003836 00000 н. 0000003873 00000 н. 0000003918 00000 н. 0000003966 00000 н. 0000004095 00000 н. 0000004131 00000 п. 0000004294 00000 н. 0000004377 00000 н. 0000004523 00000 н. 0000004638 00000 н. 0000005255 00000 н. 0000005646 00000 н. 0000006166 00000 н. 0000006600 00000 н. 0000007116 00000 п. 0000007653 00000 п. 0000011941 00000 п. 0000016895 00000 п. 0000017756 00000 п. 0000031628 00000 п. 0000031817 00000 п. 0000031877 00000 п. 0000032004 00000 п. 0000032098 00000 п. 0000032193 00000 п. 0000032313 00000 п. 0000032467 00000 п. 0000032579 00000 п. 0000032756 00000 п. 0000032845 00000 п. 0000032973 00000 п. 0000033143 00000 п. 0000033232 00000 н. 0000033359 00000 п. 0000033514 00000 п. 0000033643 00000 п. 0000033737 00000 п. 0000033883 00000 п. 0000033988 00000 п. 0000034088 00000 п. 0000034228 00000 п. 0000034324 00000 п. 0000034421 00000 п. 0000034549 00000 п. 0000034658 00000 п. 0000034791 00000 п. 0000034839 00000 п. 0000034937 00000 п. 0000035049 00000 п. 0000035152 00000 п. 0000035256 00000 п. 0000035375 00000 п. 0000035501 00000 п. 0000035614 00000 п. 0000035728 00000 п. 0000035848 00000 п. 0000035968 00000 п. 0000036086 00000 п. 0000036201 00000 п. 0000036306 00000 п. 0000036418 00000 п. 0000036525 00000 п. 0000036625 00000 п. 0000036761 00000 п. 0000036896 00000 п. 0000037008 00000 п. 0000037136 00000 п. 0000037253 00000 п. 0000037376 00000 п. 0000037518 00000 п. 0000037636 00000 п. 0000037750 00000 п. 0000037873 00000 п. 0000037993 00000 п. 0000038133 00000 п. 0000038266 00000 п. 0000038395 00000 п. 0000038524 00000 п. 0000001936 00000 н. трейлер ] >> startxref 0 %% EOF 3186 0 obj> поток xVmLSg> -pCX7Jb? EJ * H X`Š \ t * \ 0ah6͖e411KD7 ~ l.ff? & {

Digital Circuit Simulator Lite в App Store

Самый приятный и реалистичный симулятор цифровых логических схем.

DigicalSim (ранее: iLogicDesigner) — это полнофункциональное приложение, которое помогает студентам в области логического проектирования, цифровой инженерии, информатики и математики.
Приложение на основе базовых цифровых строительных блоков, логических вентилей. Никаких знаний о логических вентилях или цифровых схемах не требуется.
Он предлагает основные строительные блоки, инструменты подключения и гибкую плоскость для создания цифровых схем в реальном времени, идеально подходящую для всех, кто хочет изучить основные принципы работы компьютеров — особенно студентов цифровой инженерии, узнающих, как создавать простую логику. вентили, защелки, триггеры, сумматоры, регистры сдвига и счетчики.это может помочь им провести полные лабораторные эксперименты.

► Характеристики:
— AND, NAND, OR, NOR, XOR, XNOR, Buffer, NOT, jk Flip-Flop, D Flip-Flop, T Flip-Flop, Switch, Clock, Vcc, GND, VLink-Out, VLink-In, светодиод, 7-сегментный дисплей, светодиодная панель стека и этикетка.
— Входы шлюзов (3 и 4) для шлюзов (И, И НЕ, ИЛИ, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ, ИСКЛЮЧИТЕЛЬНОЕ ИЛИ).
— Многоцветные гладкие изогнутые проволоки.
— Возможность добавлять виртуальные ссылки для аккуратных схем.
— Неограниченное прокручиваемое плоское пространство для очень больших проектов.
— Рабочий режим для чистого вида цепи при работе под напряжением.
— Блокировка цепи для безопасной работы.
— Два режима работы переключателя (Toggle или Pulse).
— Переключаемые синхронизированные тактовые генераторы цифровых сигналов. с регулируемой частотой.
— Коммутаторы могут быть связаны для совместной работы.
— Триггеры поддерживают запуск по положительному и отрицательному фронту, с индикатором.
— Настраиваемый цвет светодиода.
— Индикаторы реальной стоимости на каждой ноге для облегчения анализа.
— Настраиваемый тег для элементов.
— Настраиваемые метки можно добавлять где угодно.
— сетка привязки времени разработки для упрощения выравнивания и более четкого вида.
— Увеличение и уменьшение масштаба, также может быть автоматически увеличено для отображения границ схемы.
— Постоянный контур, он автоматически сохраняет текущую цепь для последующего завершения.
— Сохранение и загрузка схем с помощью файлового менеджера.
— Библиотека готовых примеров схем для быстрого старта.
— Схемы могут быть опубликованы и распечатаны.
— Переназначаемый источник принципиальной схемы.
— Добавить еще одну цепь к текущей цепи.
— Выделите проводку ворот при перетаскивании.
— Выделение, снятие выделения, дублирование, перемещение и удаление ворот в группах.
— Группы элементов могут иметь различный цвет и метку с настраиваемым шрифтом и цветом шрифта.
— Автоматическая прокрутка плоскости при достижении края во время проводки, перетаскивания или выбора.
— Эластичный прямоугольник выделения для удобного выбора элементов.
— функция отмены с 10 шагами назад.
— Прямая проводка для использования с Apple Pen.
— Поддержка Pick’n Drop.
— Средство просмотра логических функций для каждого гейта и светодиода в рабочем режиме.
— Просмотр временной шкалы в реальном времени.

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *