GithubHelp home page GithubHelp logo

emu-russia / deroute Goto Github PK

View Code? Open in Web Editor NEW
33.0 5.0 2.0 13.91 MB

Versatile tool to untangle wires. Made by chip researchers - for chip researchers. This means that the utility is wildly custom and incomprehensible.

License: Creative Commons Zero v1.0 Universal

C# 97.78% Python 2.22%
chips reverse-engineering pcb integrated-circuits

deroute's Introduction

Deroute

Tool for untangling wires.

sample1

sample2

It can be used for reverse engineering of integrated circuits and printed circuit boards.

Features

At the center of the tool is a custom control called the EntityBox. Its task is to store and display a set of "Entities".

Entities are any connected elements that are used to build the topology of integrated circuits and printed circuit boards: wires, connecting contacts (vias), standard cells, register and memory blocks, other ICs and connectors.

Coordinate system

Deroute operates in two coordinate systems:

  • To store vector data, raster-independent Lambda coordinates are used. 1 Lambda = n pixels (set in settings)
  • To display vector data, Lambda coordinates are converted to screen coordinates, taking into account scrolling and zoom.

Output

The collection of entities can be saved and loaded in XML format.

deroute's People

Contributors

nukeykt avatar ogamespec avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

ogamespec nukeykt

deroute's Issues

Сделать подсветку Overlapped сущностей

Иногда при сведении двух XML хорошо бы понять где сущности пересекаются и удалить дубликаты.

Добавить в меню Tools -> Show Overlapped Entities и подсвечивать (Selected = 1) сущности, которые перекрываются.

Регионы как ячейки

Добавить в алгоритм отрисовки ячеек (Cell/Unit) проверку -- если сучность содержит ненулевое свойство Path (как у региона), то рисовать её как регион. Иначе рисовать обычным прямоугольником.

Будет полезно для "кривых" ячеек (буквой Г), которые могут встречаться в старых Hand-made чипах.

XMLZ Support

Add saving and loading an XML file with entities from a .zip archive (.XMLZ)

Миникарта

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

Если картинка не загружена - миникарта не отображается.

Прокачать скилл Deep Learning

Сейчас MLK (и я) умеет только каким-то чудом обучать однослойную сеть на сигмоидах.

Необходимо:

  • Прокачать скилл в применении Deep Learning, а более конкретно в области сверточных сетей (у нас классическая задача распознавания изображений)
  • Освоить нейросети для кластеризации данных (границы ячеек, границы проводов)
  • Использовать какой-то движок для вычисления матриц на железе (сейчас матрицы лопатятся на c#, что не очень быстро)

Перенести хранение настроек в XMLZ

При сохранении сущностей в XMLZ -- также сериализовать и сохранять туда же текущие настройки рабочей среды (Settings).
При загрузке XMLZ -- перезаписывать дефолтные настройки рабочей среды.

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.