Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Программа для разводки платы с описанием схемы текстом
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Работаем с трассировкой
Шестилапый
Схемы для цифровой аппаратуры как-то странно выглядят, если используется хотябы пара микросхем с более чем 200 выводов. На паре листов A1 прямоугольнички подключенные к шинам. Толку от графического представления такой схемы немного. Хочется задать соединения выводов микросхем текстом. Самому написать нетлист в рукопашную вообще возможно, сам делал что-то подобное для PCAD.
Но всё же хотелось узнать, есть ли ткие программы, где схему для разводки платы можно делать не в графическом виде, а в текстовом. На языке HDL например или в каком-то ещё формате.
HardEgor
Так обычный нетлист, пишешь в текстовом релдакторе, потом импортируешь в программу и разводишь.
Victor®
Цитата(Шестилапый @ Aug 8 2013, 12:13) *
Схемы для цифровой аппаратуры как-то странно выглядят, если используется хотябы пара микросхем с более чем 200 выводов. На паре листов A1 прямоугольнички подключенные к шинам. Толку от графического представления такой схемы немного. Хочется задать соединения выводов микросхем текстом. Самому написать нетлист в рукопашную вообще возможно, сам делал что-то подобное для PCAD.
Но всё же хотелось узнать, есть ли ткие программы, где схему для разводки платы можно делать не в графическом виде, а в текстовом. На языке HDL например или в каком-то ещё формате.


У меня на листах А3 есть чипы и с 1000+ выводами. Естественно не на одном.
Делите компонент на секции по функц. признаку, размещайте их на разных листах.
Например, у меня есть 9 секций для PCIe свича.
Каждая из секций на отдельном листе (кроме земли - 3 секции на одном)
Или может чего-то я не понял?
Шестилапый
Цитата(HardEgor @ Aug 8 2013, 16:15) *
Так обычный нетлист, пишешь в текстовом релдакторе, потом импортируешь в программу и разводишь.

Какой "обычный нетлист"? По каким правилам пишешь? В какую программу импортируешь?

Цитата(Victor® @ Aug 8 2013, 17:32) *
У меня на листах А3 есть чипы и с 1000+ выводами. Естественно не на одном.
Делите компонент на секции по функц. признаку, размещайте их на разных листах.
Например, у меня есть 9 секций для PCIe свича.
Каждая из секций на отдельном листе (кроме земли - 3 секции на одном)
Или может чего-то я не понял?

Как нарисовать схему с элементами с многими выводами я знаю. Вопрос стоит так: в каких программах можно задавать схему текстом? И как там это делается?
Victor®
Цитата(Шестилапый @ Aug 9 2013, 07:27) *
Какой "обычный нетлист"? По каким правилам пишешь? В какую программу импортируешь?


Как нарисовать схему с элементами с многими выводами я знаю. Вопрос стоит так: в каких программах можно задавать схему текстом? И как там это делается?


OrCAD например, понимает EDIF.
Нарисуйте что-то достаточно простое, потом экспорт и посмотрите EDIF для интереса.
ЕМНИП он достаточно читабельный. Попробуйте в EDIF что-то написать и экпортировать в OrCAD.

EDIF вроде как пром. стандарт. Наверняка поддерживается всеми основными CAD.

+++
Поищите что-то на тему "VHDL to EDIF" - будете "писать схемы" на структурном VHDL.
Вроде как разные FPGA тулзы это (VHDL - EDIF) поддерживают. Немного будет притянуто за уши - но попробовать можно.
Обратите внимание, что надо будет номера пинов писать аттрибутами в VHDL.

+++
ЕМНИП - есть что-то у Cadence, что позволяет таблицами "рисовать" схемы.
MrYuran
Выходит, не только мне такие бредовые идеи приходят sm.gif

Вообще, если рассматривать текст и схему как некие крайности, то оптимальный вариант где-то посередине.
Причем как для программирования, так и для схемотехники.
Victor®
Цитата(Victor® @ Aug 9 2013, 09:04) *
OrCAD например, понимает EDIF.
Нарисуйте что-то достаточно простое, потом экспорт и посмотрите EDIF для интереса.
ЕМНИП он достаточно читабельный. Попробуйте в EDIF что-то написать и экпортировать в OrCAD.

EDIF вроде как пром. стандарт. Наверняка поддерживается всеми основными CAD.

+++
Поищите что-то на тему "VHDL to EDIF" - будете "писать схемы" на структурном VHDL.
Вроде как разные FPGA тулзы это (VHDL - EDIF) поддерживают. Немного будет притянуто за уши - но попробовать можно.
Обратите внимание, что надо будет номера пинов писать аттрибутами в VHDL.

+++
ЕМНИП - есть что-то у Cadence, что позволяет таблицами "рисовать" схемы.


Вот попробовал в Каденсе экспорт.
Схемка и нетлист в EDIF.
Думаю "писать" схемы охота пропадет.
Разве что искать что-то касательно VHDL/Verilog.

Код
(edif TOP
(edifVersion 2 0 0)
(edifLevel 0)
(keywordMap (keywordLevel 0))
(status
  (written
   (timeStamp 2013 08 09 07 09 24)
   (program "CAPTURE.EXE" (Version "16.6.0.d001"))
   (comment "Original data from OrCAD/CAPTURE schematic"))
  (comment "")
  (comment "Friday, August 09, 2013")
  (comment "D:\EDIF_TEST.DSN")
  (comment "")
  (comment "")
  (comment "")
  (comment "")
  (comment "")
  (comment ""))
(external OrCAD_LIB
  (edifLevel 0)
  (technology
   (numberDefinition
    (scale 1 1 (unit distance))))
  (cell (rename &93LC56ATMINUSIBAROT "93LC56AT-I/OT")
   (cellType generic)
   (comment "From OrCAD library IC1.OLB")
   (view NetlistView
    (viewType netlist)
    (interface
     (port &1 (direction OUTPUT))
     (port &2 (direction INPUT))
     (port &3 (direction INPUT))
     (port &4 (direction INPUT))
     (port &5 (direction INPUT))
     (port &6 (direction INPUT)))))
  (cell (rename &100K_1PER "100K 1%")
   (cellType generic)
   (comment "From OrCAD library RESISTORS_0402.OLB")
   (view NetlistView
    (viewType netlist)
    (interface
     (port &1 (direction INOUT))
     (port &2 (direction INOUT)))))
  (cell &0R0
   (cellType generic)
   (comment "From OrCAD library RESISTORS_0402.OLB")
   (view NetlistView
    (viewType netlist)
    (interface
     (port &1 (direction INOUT))
     (port &2 (direction INOUT)))))
  (cell (rename &100n_10PER_16V_X7R "100n 10% 16V X7R")
   (cellType generic)
   (comment "From OrCAD library CAPACITORS_0603.OLB")
   (view NetlistView
    (viewType netlist)
    (interface
     (port &1 (direction INOUT))
     (port &2 (direction INOUT)))))
  (cell (rename &5103311MINUS1BAR2X5RA_SHROUDED "5103311-1/2X5RA_SHROUDED")
   (cellType generic)
   (comment "From OrCAD library CONNECTORS.OLB")
   (view NetlistView
    (viewType netlist)
    (interface
     (port &1 (direction INOUT))
     (port &3 (direction INOUT))
     (port &4 (direction INOUT))
     (port &2 (direction INOUT))
     (port &5 (direction INOUT))
     (port &6 (direction INOUT))
     (port &7 (direction INOUT))
     (port &8 (direction INOUT))
     (port &9 (direction INOUT))
     (port &10 (direction INOUT))))))
(library MAIN_LIB
  (edifLevel 0)
  (technology
   (numberDefinition
    (scale 1 1 (unit distance))))
  (cell TOP
   (cellType generic)
   (view NetlistView
    (viewType netlist)
    (interface)
    (contents
     (instance U1
      (viewRef NetlistView
       (cellRef &93LC56ATMINUSIBAROT
        (libraryRef OrCAD_LIB))))
     (instance R1
      (viewRef NetlistView
       (cellRef &100K_1PER
        (libraryRef OrCAD_LIB))))
     (instance R2
      (viewRef NetlistView
       (cellRef &0R0
        (libraryRef OrCAD_LIB))))
     (instance R3
      (viewRef NetlistView
       (cellRef &0R0
        (libraryRef OrCAD_LIB))))
     (instance R4
      (viewRef NetlistView
       (cellRef &0R0
        (libraryRef OrCAD_LIB))))
     (instance C1
      (viewRef NetlistView
       (cellRef &100n_10PER_16V_X7R
        (libraryRef OrCAD_LIB))))
     (instance J1
      (viewRef NetlistView
       (cellRef &5103311MINUS1BAR2X5RA_SHROUDED
        (libraryRef OrCAD_LIB))))
     (net GND
      (joined
       (portRef &1 (instanceRef C1))
       (portRef &10 (instanceRef J1))
       (portRef &2 (instanceRef J1))
       (portRef &4 (instanceRef J1))
       (portRef &6 (instanceRef J1))
       (portRef &8 (instanceRef J1))
       (portRef &2 (instanceRef U1))))
     (net CON_VCC
      (joined
       (portRef &2 (instanceRef C1))
       (portRef &2 (instanceRef R1))
       (portRef &9 (instanceRef J1))
       (portRef &6 (instanceRef U1))))
     (net CON_DO
      (joined
       (portRef &1 (instanceRef R1))
       (portRef &7 (instanceRef J1))
       (portRef &1 (instanceRef U1))))
     (net N00634
      (joined
       (portRef &2 (instanceRef R2))
       (portRef &3 (instanceRef U1))))
     (net N00638
      (joined
       (portRef &2 (instanceRef R4))
       (portRef &4 (instanceRef U1))))
     (net N00642
      (joined
       (portRef &2 (instanceRef R3))
       (portRef &5 (instanceRef U1))))
     (net CON_DI
      (joined
       (portRef &1 (instanceRef R2))
       (portRef &1 (instanceRef J1))))
     (net CON_CLK
      (joined
       (portRef &1 (instanceRef R4))
       (portRef &3 (instanceRef J1))))
     (net CON_CS
      (joined
       (portRef &1 (instanceRef R3))
       (portRef &5 (instanceRef J1))))))))
(design TOP
  (cellRef TOP
   (libraryRef MAIN_LIB))))
vicnic
Цитата(Шестилапый @ Aug 9 2013, 08:27) *
Какой "обычный нетлист"? По каким правилам пишешь? В какую программу импортируешь?

Посмотрите формат Tango, он простой, импортируется во все программы (ИМХО).
Но рисовать элементы при этом всё равно надо.
Пример формата списка цепей:
(
NetC253_2
C253,2
R276,1
R277,2
T1,2
)
(
NetC254_2
C254,2
R280,1
R281,2
T1,3
)
ZASADA
Цитата(Шестилапый @ Aug 8 2013, 12:13) *
Схемы для цифровой аппаратуры как-то странно выглядят, если используется хотябы пара микросхем с более чем 200 выводов. На паре листов A1 прямоугольнички подключенные к шинам. Толку от графического представления такой схемы немного.

толк есть. как минимум- схему можно/нужно подшить в комплект КД. Тыкая в связь на схеме-наглядно видишь дорожку на плате. Монтажница на заводе без схемы не сможет правильно проверить монтаж.
толка нет только в кустарном производстве, где один человек все держит в голове.
fill
Цитата(Шестилапый @ Aug 8 2013, 13:13) *
Схемы для цифровой аппаратуры как-то странно выглядят, если используется хотябы пара микросхем с более чем 200 выводов. На паре листов A1 прямоугольнички подключенные к шинам. Толку от графического представления такой схемы немного. Хочется задать соединения выводов микросхем текстом. Самому написать нетлист в рукопашную вообще возможно, сам делал что-то подобное для PCAD.
Но всё же хотелось узнать, есть ли ткие программы, где схему для разводки платы можно делать не в графическом виде, а в текстовом. На языке HDL например или в каком-то ещё формате.


Табличный тыц
KRS
PHDL
http://sourceforge.net/p/phdl/wiki/Home/
Шестилапый
EDIF что-то меня не привлекает. Есть ещё примерно такой же метод для PCAD. Там при передаче изменений из схемы в плату формируется ECO файл. Тоже текстовой и доступный для понимания и редактирования. Можно добавлять/удалять цепи и элементы, менять обозначения компонентов. Как-то у меня синхронизация между схемой и платой отвалилась, и я в рукопашную формировал такой файл, если нужно было что-то в плате поменять. Пара сотен элементов была на плате... В общем этот способ был явно не самый продуктивный и понятный.
Табличный метод (от Cadence как я понимаю) мне понравился. Всё здорово и просто.
PHDL мне кажется самым перспективным. Пойду попробую что-нибудь наваять...
Ant_m
Поищите на форуме cadence, vitan хотел делать схемы в текстовом виде и кажется у него получилось...
http://electronix.ru/forum/index.php?showt...t&p=1090314
http://electronix.ru/forum/index.php?showt...t&p=1092013
Kopa
Могу сделать некоторое решение на основе небольшой разработки Простого Редактора Узлов (базисный функционал может быть любым привычным и изменяемым)
Один из вариантов представить схему для экспорта из описания в какой нибудь формат (сейчас есть экспорт в graphml программы этого производителя) она, вроде, неплохо и разнообразно работает с общим представлением графа, а потом обратной операцией сгенерировать требуемый результат или провести
ручные правки.

P.S. В этом направлении было и такое обсуждение Сапр Печатных плат на Форте(но тема "заглохла" оживить что-ли)
Сейчас разработка вышеприведённой программы в вялотекущем варианте т.к. с разработкой печатных плат не связан и обдумываю функционал и дальнейший дизайн программы. Если есть идеи, то готов их выслушать и по мере возможностей реализовать.
fill
Цитата(Шестилапый @ Aug 9 2013, 17:38) *
Табличный метод (от Cadence как я понимаю) мне понравился. Всё здорово и просто.


Ошиблись - это ментор
Uree
Не ошиблись. У кэйденс есть такая штука, System Connectivity Manager называется. И да, ее можно использовать как фронт-энд к РСВ.
fill
Цитата(Uree @ Aug 13 2013, 14:35) *
Не ошиблись. У кэйденс есть такая штука, System Connectivity Manager называется. И да, ее можно использовать как фронт-энд к РСВ.


Речь была о конкретном видео и впечатлении от него, а не о том что у кейденс есть нечто подобное.
Uree
Не увидел в ответах, что речь впечатлении от конкретного видео, потому так и написал.
Victor®
Цитата(Uree @ Aug 13 2013, 13:35) *
Не ошиблись. У кэйденс есть такая штука, System Connectivity Manager называется. И да, ее можно использовать как фронт-энд к РСВ.


Что-то не могу найти у Кэденса про System Connectivity Manager...
Подскажите, где на него взглянуть?
Uree
From the Windows Start menu, choose Programs – Allegro SPB – System Connectivity Manager.

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

"System Connectivity Manager is a new design capture environment that provides logic
designers the flexibility of capturing their designs in multiple ways. While Allegro Design Entry
HDL offered schematic based design capture environment, System Connectivity Manager
allows you to capture your design using spreadsheets, schematic and Verilog HDL.

The spreadsheet-based design capture environment in System Connectivity Manager allows
you to quickly capture connectivity information in the design. Spreadsheet-based design is
very effective for capturing designs with large pin count components and backplanes."

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

ЗЫ Кажется сейчас в меню запуска SCM называется "System Architect". Только проверить это не могу - лицензии не хватает...
ClayMan
В плане ввода схемы через нетлист без рисования к-л символов вообще, мне очень нравится PADS. Формат нетлиста очень простой, довольно легко набирать в блокнноте. Затем просто втягиваешь его в "голую" плату с размещенными посадочными через ECO и все. Я даже такой путь использовал, чтобы затем данные в Expedition получить без схемы, ибо формат его родного keyin нетлиста уж очень вычурный и неудобный.
Victor®
Цитата(ClayMan @ Aug 14 2013, 11:56) *
В плане ввода схемы через нетлист без рисования к-л символов вообще, мне очень нравится PADS. Формат нетлиста очень простой, довольно легко набирать в блокнноте. Затем просто втягиваешь его в "голую" плату с размещенными посадочными через ECO и все. Я даже такой путь использовал, чтобы затем данные в Expedition получить без схемы, ибо формат его родного keyin нетлиста уж очень вычурный и неудобный.


А Вы задумывались над тем, как такую схему текст настраивать? wacko.gif
А представьте, что такой проект кому-то другому отдадут...
Flood
Цитата(Victor® @ Aug 22 2013, 15:29) *
А Вы задумывались над тем, как такую схему текст настраивать? wacko.gif


Схема в виде чертежа может автогенерироваться из текстового описания точно так же, как сейчас генерируются логические схемы блоков FPGA/ASIC.
Уже сейчас некоторые схемы буржуйские (и особенно китайские) схемы выглядят как слегка упорядоченный набор прямоугольников с заданными именами цепей на пинах. Особо неаккуратные уже и шины не рисуют. В такой схеме все эти прямоугольники с именованными ножками выглядят атавизмом времен теплых ламповых чертежей.
Однако, предложения вводить схемы в чем-то вроде edif ведут к потере почти всех преимуществ текстового ввода и проявляют все его недостатки.
Для ввода схем было бы очень даже удобно иметь что-то в духе
for (i = 1; i <= 100500; ++i){
C[i] = new POLCAP(Vcc, GND);
}
на каком-нибудь VHDL/Verilog.
Хотелсоь бы, чтобы со временем схемотехника перешла на полноценный текстовый ввод на основе HDL - с циклами, условиями, функциями, классами и хорошими средствами анализа получающейся схемы (DRC). Конечно же, с сохранением возможности непосредственного ввода в виде чертежа.
Victor®
Цитата(Flood @ Aug 23 2013, 01:54) *
Схема в виде чертежа может автогенерироваться из текстового описания точно так же, как сейчас генерируются логические схемы блоков FPGA/ASIC.
Уже сейчас некоторые схемы буржуйские (и особенно китайские) схемы выглядят как слегка упорядоченный набор прямоугольников с заданными именами цепей на пинах. Особо неаккуратные уже и шины не рисуют. В такой схеме все эти прямоугольники с именованными ножками выглядят атавизмом времен теплых ламповых чертежей.
Однако, предложения вводить схемы в чем-то вроде edif ведут к потере почти всех преимуществ текстового ввода и проявляют все его недостатки.
Для ввода схем было бы очень даже удобно иметь что-то в духе
for (i = 1; i <= 100500; ++i){
C[i] = new POLCAP(Vcc, GND);
}
на каком-нибудь VHDL/Verilog.
Хотелсоь бы, чтобы со временем схемотехника перешла на полноценный текстовый ввод на основе HDL - с циклами, условиями, функциями, классами и хорошими средствами анализа получающейся схемы (DRC). Конечно же, с сохранением возможности непосредственного ввода в виде чертежа.


Да как бы все просто.
Если нет схемотехники в тексте до сих пор - значит она никому не нужна (мне лично не нужна).
Пару человек на форуме не в счет.
И если до сих пор это не поддержано производителями CAD-ов (VHDL/VERILOG to Netlist), то уже и не будет.
bigor
Цитата(Victor® @ Aug 23 2013, 08:25) *
Если нет схемотехники в тексте до сих пор - значит она никому не нужна (мне лично не нужна).

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

Цитата(Flood @ Aug 23 2013, 01:54) *
Хотелсоь бы, чтобы со временем схемотехника перешла на полноценный текстовый ввод на основе HDL - с циклами, условиями, функциями, классами и хорошими средствами анализа получающейся схемы (DRC). Конечно же, с сохранением возможности непосредственного ввода в виде чертежа.

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

Цитата(Шестилапый @ Aug 8 2013, 13:13) *
Но всё же хотелось узнать, есть ли ткие программы, где схему для разводки платы можно делать не в графическом виде, а в текстовом. На языке HDL например или в каком-то ещё формате.

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

1. Cadence SCM.
2. PHDL
3. Mentor table
4. Manual netlist.

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

Kopa
Жаль, что до конца не довели, было бы очень интересно посмотреть.

Цитата(bigor @ Aug 23 2013, 10:46) *
Задумайтесь, как потом дизайнер платы будет разбираться в ваших циклах, функциях и прочих прелестях, когда ему нужно будет, скажем, выяснить к каким пинам ближе нужно поставить кондер в дифпаре, или терминатор в конце линии.
Ведь графическое представление схематика изначально распространилось как наиболее простое и удобное для понимания всеми причастными к электронике инжененрами.
Не нужно усложнять существующие простые решения без меры.

Типичные слова всех тех тех, с кем приходится общаться на данную тему.
ТС, не слушайте, оба представления эквивалентны. Просто выбирайте более подходящий Вам инструмент и все.
Victor®
Цитата(vitan @ Aug 23 2013, 11:58) *
Я гляжу, я не один такой, все-таки... sm.gif


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

1. Cadence SCM.
2. PHDL
3. Mentor table
4. Manual netlist.


Где посмотреть на №1?
Есть он на FTP?
Есть идея попробовать на чем-то регулярном вроде бэкплейна.

P.S.
Как я понял он стыкуется только с Allegro Design Entry HDL?
С OrCAD Capture не работает?
vitan
Цитата(Victor® @ Aug 23 2013, 13:50) *
Где посмотреть на №1?
Есть он на FTP?
Есть идея попробовать на чем-то регулярном вроде бэкплейна.

Он в комплекте с SPB с незапамятных времен идет.

Пробовать не обязательно на регулярном. Даже лучше на не очень регулярном. Чтобы сразу прочувствовать, как говорится.


Цитата(Victor® @ Aug 23 2013, 13:50) *
Как я понял он стыкуется только с Allegro Design Entry HDL?
С OrCAD Capture не работает?

Он не стыкуется, а заменяет (в общем случае). Но, если будете генерить схему, то она будет в концепте.
Оркадовские куски импортируются.
Kopa
Цитата(vitan @ Aug 23 2013, 12:58) *
Kopa
Жаль, что до конца не довели, было бы очень интересно посмотреть.

Разработка вновь "оживлена" c дальнейшим осмыслением и направлением на практическое програмно-аппаратное использование.
Со временем, с большой вероятностью, появится юзабельный вариант в том или ином исполнении.

P.S. Если есть пожелания к функциональности, дизайну и их очерёдности реализации, то они принимаются.
vitan
Цитата(Kopa @ Aug 23 2013, 20:37) *
P.S. Если есть пожелания к функциональности, дизайну и их очерёдности реализации, то они принимаются.

Я бы с радостью, но только не понял пока, что именно разрабатывается. Т.е. по Вашим ссылкам отчетливого понимания не возникло.
Вы расскажите на словах, как Вы себе видите процесс, и какие инструменты хотите сделать, а то разбираться с фортом и его, как бы это выразиться, экосистемой, совершенно некогда пока...
Kopa
Цитата(vitan @ Aug 23 2013, 22:14) *
Я бы с радостью, но только не понял пока, что именно разрабатывается. Т.е. по Вашим ссылкам отчетливого понимания не возникло.
Вы расскажите на словах, как Вы себе видите процесс, и какие инструменты хотите сделать, а то разбираться с фортом и его, как бы это выразиться, экосистемой, совершенно некогда пока...

Программно-графическая среда разработки как программной части МК, МСХ с сопряжённой моделью (подобно Proteus), так и идеи использования Ассемблер
- ориентированного подхода (Алгоритм Билдер, HiAsm и др.) по возможности работы с разными видами одного файла (схема <-> печатная плата ) в одном
окне. Входную/выходную информация, по возможности использовать в сопряжении с существующими CAD системами, программными утилитами и др. ПО.
и "произвольно" преобразовывать, а также задействоать возможности по расширению функционала самими пользователями.

Как то так сумбурно. Абстрактно Home Cad система под свои "хотелки". Реализация на Форт т.к. его направленность простота, гибкость, расширяемость
без использования "надуманных" абстракций с использованием возможностей языка по моделированию необходимых понятий проблемной области на
близком к естественному языку с возможностью изменять синтаксис и семантику как в процессе создания программы так и в дальнейшем расширении
функционала базиса. и делать n-ое количество действий наиболее просто (без привлечения аппарата построения "искуственных" синтаксических построений (хороший пример Форт программы планировщик nncron.ru )

P.S. Сначала сделать простое и достаточно функциональное решение по использованию (типа SprintLayout ), но по интерфейсу без
неоправданных движений мышью в создании схемы. (связь между выбранными выводами элементов проводить автоматом) Есть некоторые проблемы с расстановкой
приоритетов в реализации "надуманного" функционала.
vitan
Эммм...

Честно говоря, яснее не стало. sm.gif
Вы хотите сделать полностью весь САПР печатных плат? И трассировочную часть тоже? Чем Вас не устраивают имеющиеся готовые решения?
Kopa
Цитата(vitan @ Aug 26 2013, 16:21) *
Эммм...

Честно говоря, яснее не стало. sm.gif
Вы хотите сделать полностью весь САПР печатных плат? И трассировочную часть тоже? Чем Вас не устраивают имеющиеся готовые решения?

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

P.S. Возможно, это лишь субъективные ощущения и не надо жалеть время на "тупую и монотонную" работу.
vitan
Цитата(Kopa @ Aug 26 2013, 17:44) *
а главное невозможность создать из имеющегося решения для частного применения и сложности создания простых решений "последней мили"

Где-то по ссылкам видел пример с ПЛИС (проблемы с расстановкой ног и т.п.). Вы подобные вещи понимаете под "частным применением"? Если да, то как Вы себе видите реальный процесс разработки? Каждый день возникают те или иные задачи, которые решаются в рамках одного САПР. Т.е. он, как бы один на все случаи жизни. Вы хотите создавать инструменты "на лету"? Вы уверены, что это выгодно в смысле потраченного времени? Ведь конкретная задача, для которой Вы только что разработали инструмент, может и не повториться...

Если по теме, то Как Вы себе представляете описание схемы в виде текста? У Вас есть пример какой-нибудь, что ли?...
Kopa
Цитата(vitan @ Aug 26 2013, 18:15) *
Где-то по ссылкам видел пример с ПЛИС (проблемы с расстановкой ног и т.п.). Вы подобные вещи понимаете под "частным применением"? Если да, то как Вы себе видите реальный процесс разработки? Каждый день возникают те или иные задачи, которые решаются в рамках одного САПР. Т.е. он, как бы один на все случаи жизни. Вы хотите создавать инструменты "на лету"?

Да, по возможности.
Цитата(vitan @ Aug 26 2013, 18:15) *
Вы уверены, что это выгодно в смысле потраченного времени? Ведь конкретная задача, для которой Вы только что разработали инструмент, может и не повториться...

Если инструмент "адекватен" области решаемых задач и прост в применении, то вполне оправдано (если речь не идёт о чём то 'достаточно" тривиальном и не требующем "высококачественного" решения немедленно.)

Цитата(vitan @ Aug 26 2013, 18:15) *
Если по теме, то Как Вы себе представляете описание схемы в виде текста? У Вас есть пример какой-нибудь, что ли?...

В тексте не так просто отобразить и воспринять n-ое количество метаданных, в отличии от "многомерности" графического представления.
Лучше, скорее всего, будет использование системы с описанием данных отмеченных разными тегами, а при невозможности просто их классифицировать,
то описание на уровне действий-операторов работы с моделью данных. (например для "дуальности" представления схемограммы предполагаю использовать
диалект Форт подобного языка.) На Форт встречал варианты моделирования схемотехники процессорного ядра вместо VHDL с неплохими результатами.
На ПЛК есть диалект Форт языка ForthLogic решающий для пользователей ПЛК залачи своим способом (правда без отображения в схемограмму)
В плане трассировке "cама дорожка" присоединённая к заданному элементу может частично иметь некоторую метаинформацию по способу её разводке в схеме.
vitan
Цитата(Kopa @ Aug 26 2013, 18:44) *
Да, по возможности.

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


Цитата(Kopa @ Aug 26 2013, 18:44) *
На ПЛК есть диалект Форт языка ForthLogic решающий для пользователей ПЛК залачи своим способом (правда без отображения в схемограмму)

Из него можно получить нетлист? Или Вас это не интересует, т.к. Вы собираетесь PCB-часть свою писать?
Kopa
Цитата(vitan @ Aug 26 2013, 18:55) *
Из него можно получить нетлист? Или Вас это не интересует, т.к. Вы собираетесь PCB-часть свою писать?

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

P.S. Нетлист понимается в узком смысле? (существующей схемы?). По моему это обычная задача PCB проектирования.
В плане проектирования интереснее задача по существующей схеме получить возможное её покрытие непротиворечивым базисом элементов
для получения, например, приемлемого решения PCB. Из программы кодогенерация в модель HDL тоже интересны решения.
vitan
Цитата(Kopa @ Aug 26 2013, 19:15) *
Нет, там интересно использование таймера в модели языка. PCB часть тоже возможно и обдумываю написать.

Нетлист получить нельзя? Как же тогда оно понимает, что с чем соединено?

Цитата(Kopa @ Aug 26 2013, 19:15) *
В плане проектирования интереснее задача по существующей схеме получить возможное её покрытие непротиворечивым базисом элементов
для получения, например, приемлемого решения PCB.

Не знаю, меня, например, это почему-то sm.gif не интересует...


Цитата(Kopa @ Aug 26 2013, 19:15) *
P.S. Нетлист понимается в узком смысле? (существующей схемы?). По моему это обычная задача PCB проектирования.

Ну естественно. Вот, допустим, описал я три резистора на этом языке и соединил их. Теперь хочу развести плату. В пикаде каком-нибудь. Мне нужен нетлист. Я могу его получить?
Какой набор инструментов нужен для компиляции?
Kopa
Цитата(vitan @ Aug 26 2013, 19:24) *
Нетлист получить нельзя? Как же тогда оно понимает, что с чем соединено?

Как в программу для микроконтроллера (применяемых в ПЛК) вставить элементы графических ПЛК языков? И что с чем соединить
кроме настроечных данных для встроенных периферийных компонент и приемлемой компиляции ПЛК программы. В схемы не обязательно, в "общем случае" закладывать "избыточную" аппаратную составляющую вместо программной для МК, а также и зачастую ПЛИС.


Цитата(vitan @ Aug 26 2013, 19:24) *
Ну естественно. Вот, допустим, описал я три резистора на этом языке и соединил их. Теперь хочу развести плату. В пикаде каком-нибудь. Мне нужен нетлист. Я могу его получить?
Какой набор инструментов нужен для компиляции?

Это функция экспорта данных, в том или ином виде в используемой CAD программе. (или сторонних инструментов того или иного использования)
или предоставляемых возможностей по реализации этого экспорта в CADсистеме (или возможно использовать возможности операционной системы)
Можно даже, в крайняк, написать скрипт в программе подобной nncron для тупого имитирующего ввод данных (трёх резисторов) в самой программе при эмуляции нажатий клавиш и перемещений мыши с выбором нужных элементов интерфейса необходимой CAD программы.

P.S. Ещё один "экстремальный" вариант, если есть возможность представить схему графическим файлом -> распознать её по элементам и связям (чем делается такое не знаю, кроме "ручной" обработки)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.