Skip to content

Кастомный контрол EntityBox

ogamespec edited this page Jun 12, 2019 · 22 revisions

Кастомный контрол EntityBox

EntityBox является ключевым компонентом для всех наших утилит.

Данный контрол представляет собой контейнер бесконечного размера, в котором содержатся различные "сущности" (entity).

Конкретно для целей реверса микросхем набор сущностей подобран таким образом, чтобы они соответствовали основным компонентам архитектуры микросхем:

  • Провода (Wires)
  • Виасы (Vias)
  • Стандартные ячейки различных классов (Cells)

Состав сборки EntityBox

Список типов сущностей

Соглашения по тексту

В дальнейшем италиком будут отмечены свойства EntityBox.

Режим работы

Режим работы (свойство Mode) определяет способ взаимодействия с пользователем посредством клавиатуры и мыши.

Список режимов (enum EntityMode):

  • Selection: выбран слой с сущностями для их выделения и перемещения
  • ImageLayer0: выбран слой картинок 0 (самый верхний слой картинок)
  • ImageLayer1: выбран слой картинок 1
  • ImageLayer2: выбран слой картинок 2
  • ViasInput: режим добавления сущностей ViasInput
  • ViasOutput: режим добавления сущностей ViasOutput
  • ViasInout: режим добавления сущностей ViasInout
  • ViasConnect: режим добавления сущностей ViasConnect
  • ViasFloating: режим добавления сущностей ViasFloating
  • ViasPower: режим добавления сущностей ViasPower
  • ViasGround: режим добавления сущностей ViasGround
  • WireInterconnect: режим добавления сущностей WireInterconnect
  • WirePower: режим добавления сущностей WirePower
  • WireGround: режим добавления сущностей WireGround
  • CellNot: режим добавления сущностей CellNot
  • CellBuffer: режим добавления сущностей CellBuffer
  • CellMux: режим добавления сущностей CellMux
  • CellLogic: режим добавления сущностей CellLogic
  • CellAdder: режим добавления сущностей CellAdder
  • CellBusSupp: режим добавления сущностей CellBusSupp
  • CellFlipFlop: режим добавления сущностей CellFlipFlop
  • CellLatch: режим добавления сущностей CellLatch
  • CellOther: режим добавления сущностей CellOther
  • UnitRegfile: режим добавления сущностей UnitRegfile
  • UnitMemory: режим добавления сущностей UnitMemory
  • UnitCustom: режим добавления сущностей UnitCustom
  • Beacon: режим добавления сущностей Beacon

Слои

EntityBox содержит несколько слоев отображения

  • Слой с сущностями. Слой с сущностями размещается над слоями картинок.
  • 3 слоя для хранения картинок (микросхем). Слой 0 является самым верхним из слоев картинок.

Для слоев картинок можно менять прозрачность (ImageOpacity).

Также для слоев картинок можно запретить их перемещение (LockScroll) и зум (LockZoom). Сделано это в целях предотвращения случайного перемещения и зума.

Clone this wiki locally