Я ищу инструмент (желательно с открытым исходным кодом) для визуализации логических схем, таких как эта
со следующими ограничениями:
Хотя это кажется достаточно простым, я не нашел ничего удовлетворительного в результате обширных исследований. Ближе всего подошли следующие инструменты:
tikz
Latex (с запуском Latex в моем контексте все в порядке, но по какой-то причине комбинация Java и tikz сломалась, см. здесь: https://stackoverflow.com/questions/33298548/pdflatex-run-crashes-when- execute-from-java-on-windows ; также, насколько мне известно, tikz не может выполнять автомаршрутизацию).blockdiag
( http://blockdiag.com/en/index.html ), которая, однако, если я прав, недоступна для Windows (и не имеет предопределенных логических элементов).Я, очевидно, посмотрел на graphviz, но проблема в том, что вы не можете сказать graphviz, где именно ребра должны состыковываться с узлами, что важно, если вы хотите указать входы и выходы.
В SE также есть этот вопрос: https://stackoverflow.com/questions/6422603/circuit-block-diagram-drawing . Но, не вдаваясь в подробности, все предложения не сработали для меня из-за вышеупомянутых ограничений.
Я ожидал, что эта проблема будет решена много раз раньше... (И, возможно, я просто плохо гуглил.)
Я бы посоветовал взглянуть на SchemDraw , который представляет собой пакет Python , который:
Вы можете либо создавать диаграммы непосредственно из python, либо определять свой собственный формат для хранения информации и анализировать ее.
Есть новый проект под названием netlistsvg , который может отвечать всем требованиям; он все еще находится на ранней стадии, но ориентирован на логические диаграммы и особенно на синтез Verilog.
Дэниел Реншоу
Лукас Коэниг