Ввод схемы в текстовом виде

Печатные платы, программируемая логика, разработка и изготовление аппаратуры

Moderator: Shaos

KolAnVi
Fanat
Posts: 79
Joined: 27 May 2011 04:25
Location: Perm

Post by KolAnVi »

Можно ли в какой-нибудь системе моделирования схему вводить в текстовом виде, т.е. на некоем языке программирования? Не имею ввиду Verilog, VHDL и т.д. так как они достаточно навороченные. Интрересует просто перечень компонентов (черных ящиков) и связей между ними.
Суда пост в связи с идеей разработать свою систему онлайн моделирования...
jdigreze
God
Posts: 1388
Joined: 02 Jan 2006 02:28
Location: Abakan

Post by jdigreze »

KolAnVi wrote:Можно ли в какой-нибудь системе моделирования схему вводить в текстовом виде, т.е. на некоем языке программирования?
Теоретисськи можно разработать. Будет довольно просто, если ограничиться только wires меж готовых элементов. Но по сути это повторит gerber.
2 Shaos, тебе тогда и заводик pcb'шек заводить свой надобно, а не в ti вкладываться ;)
User avatar
Shaos
Admin
Posts: 24088
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

KolAnVi wrote:Можно ли в какой-нибудь системе моделирования схему вводить в текстовом виде, т.е. на некоем языке программирования? Не имею ввиду Verilog, VHDL и т.д. так как они достаточно навороченные. Интрересует просто перечень компонентов (черных ящиков) и связей между ними.
Netlist
Я тут за главного - если что шлите мыло на me собака shaos точка net
KolAnVi
Fanat
Posts: 79
Joined: 27 May 2011 04:25
Location: Perm

Post by KolAnVi »

Shaos wrote:Netlist
Спасибо.
...соответственно, Spice http://www.allaboutcircuits.com/vol_5/chpt_7/8.html
Только если реальную схему на netlist-e задавать - она нечитаема.
Вот так немного лучше было бы:

Code: Select all

DD1: LN1
DD2,DD8: IE7
DD11: LA3
DD12,DD14: ID4
DD1.4{element 3 out}=wire.clock=DD8.5{C+ positive}=DD1.5{element 5 in}
DD8.14{R0 async}=GND
DD8.3{clock/2}=DD13.13{A0}
DD8.2{clock/4}=DD13.3{A1}=DD14.1{D1}=DD11.4{element 3 in1}=wire.15
DD8.6{clock/8}=DD13.1{D1}
DD8.7{clock/16}=wire.1
DD8.12{/P1 carry}=DD2.5{C+ positive}
Тоже не очень выразительно по сравнению со схемой... Но... Можно легко находить связи(в отличие от графической схемы в журнале), можно ставить комментарии, можно упрощать, например, если известно, что вот эта кучка логических элементов есть сравнение с 312, то так и запишем(т.е. простые логические выражения в языке оставляем). В общем, основное предназначение - быстро ввести (цифровую) схему с бумаги/картинки.
jdigreze
God
Posts: 1388
Joined: 02 Jan 2006 02:28
Location: Abakan

Post by jdigreze »

KolAnVi wrote:
Shaos wrote:Netlist
Спасибо.
...соответственно, Spice http://www.allaboutcircuits.com/vol_5/chpt_7/8.html
Только если реальную схему на netlist-e задавать - она нечитаема.
Вот так немного лучше было бы:

Code: Select all

DD1: LN1
DD2,DD8: IE7
DD11: LA3
DD12,DD14: ID4
DD1.4{element 3 out}=wire.clock=DD8.5{C+ positive}=DD1.5{element 5 in}
DD8.14{R0 async}=GND
DD8.3{clock/2}=DD13.13{A0}
DD8.2{clock/4}=DD13.3{A1}=DD14.1{D1}=DD11.4{element 3 in1}=wire.15
DD8.6{clock/8}=DD13.1{D1}
DD8.7{clock/16}=wire.1
DD8.12{/P1 carry}=DD2.5{C+ positive}
Тоже не очень выразительно по сравнению со схемой... Но... Можно легко находить связи(в отличие от графической схемы в журнале), можно ставить комментарии, можно упрощать, например, если известно, что вот эта кучка логических элементов есть сравнение с 312, то так и запишем(т.е. простые логические выражения в языке оставляем). В общем, основное предназначение - быстро ввести (цифровую) схему с бумаги/картинки.
Не, ну эт как бы нормальная идея. Осталось малость - формализовать хотя бы основной синтаксис. А потом попробовать отрисовать схему по коду. Предлагаю ввести понятие BUS. И делать всё в нотации XML. Соответственно:

Code: Select all

<BUS name="1">
  <WIRE name="A1">
    DD8.2 //clock/4
    DD13.3 //A1
    DD14.1 //D1
    DD11.4/ //element 3 in1
    wire.15
  </WIRE>
</BUS>
Т.е. выводы DD8.2,DD13.3,DD14.1,DD11.4 и wire/15 соединяются в линию A1, и принадлежат шине "1". Парсить удобно, да и нагляднее, imho.
User avatar
Shaos
Admin
Posts: 24088
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Только не XML...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24088
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

KolAnVi wrote:
Shaos wrote:Netlist
Спасибо.
...соответственно, Spice http://www.allaboutcircuits.com/vol_5/chpt_7/8.html
SPICE это не совсем то, вот я о чём:

Code: Select all

Netlist

Exported from singlesided.sch at 11.10.12 11:04

EAGLE Version 5.10.0 Copyright (c) 1988-2010 CadSoft

Net      Part     Pad      Pin        Sheet

+12V     C1       +        +          1
         C3       2        2          1
         J1       2        2          1
         U1       3        VI         1

A0       IC1      17       RA0        1
         J1       4        4          1

A1       IC1      18       RA1        1
         J1       5        5          1

A2       IC1      1        RA2        1
         J1       6        6          1

A3       IC1      2        RA3        1
         J1       7        7          1

A4       IC1      3        T0CKI/RA4  1
         J1       8        8          1

B0       IC1      6        RB0        1
         J1       9        9          1

B1       IC1      7        RB1        1
         J1       10       10         1

B2       IC1      8        RB2        1
         J1       11       11         1

B3       IC1      9        RB3        1
         J1       12       12         1

B4       IC1      10       RB4        1
         J1       13       13         1

B5       IC1      11       RB5        1
         J1       14       14         1

B6       IC1      12       RB6        1
         J1       15       15         1
         J1       18       18         1

B7       IC1      13       RB7        1
         J1       16       16         1
         J1       17       17         1

GND      C1       -        -          1
         C2       -        -          1
         C3       1        1          1
         C4       1        1          1
         C5       1        1          1
         C6       1        1          1
         IC1      5        VSS        1
         J1       1        1          1
         J1       20       20         1
         U1       2        GND        1

N$1      D1       K        C          1
         IC1      4        !MCLR      1
         J1       19       19         1

N$2      D1       A        A          1
         R1       1        1          1

N$3      C5       2        2          1
         IC1      16       OSC1       1
         Q1       2        2          1

N$4      C6       2        2          1
         IC1      15       OSC2       1
         Q1       1        1          1

VCC      C2       +        +          1
         C4       2        2          1
         IC1      14       VDD        1
         J1       3        3          1
         R1       2        2          1
         U1       1        VO         1
Такой Netlist генерит Eagle например
Я тут за главного - если что шлите мыло на me собака shaos точка net
KolAnVi
Fanat
Posts: 79
Joined: 27 May 2011 04:25
Location: Perm

Post by KolAnVi »

Это другой формат, не тот что по первой найденной мной ссылке.
В таком виде тоже устраивает.
Только не понятно, это human-readаble report-файл или его можно импортировать? Хватает ли тут формальности?
User avatar
Shaos
Admin
Posts: 24088
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

KolAnVi wrote:Это другой формат, не тот что по первой найденной мной ссылке.
В таком виде тоже устраивает.
Только не понятно, это human-readаble report-файл или его можно импортировать? Хватает ли тут формальности?
Partlist можно ещё присовокупить - тут ссылки на конкретные компоненты:

Code: Select all

Partlist

Exported from singlesided.sch at 10/11/12 11:50 PM

EAGLE Version 5.6.0 Copyright (c) 1988-2009 CadSoft

Part     Value          Device          Package      Library        Sheet

C1       10u            E2,5-6          E2,5-6       polcap         1
C2       10u            E2,5-6          E2,5-6       polcap         1
C3       10n            C-EU025-025X050 C025-025X050 rcl            1
C4       10n            C-EU025-025X050 C025-025X050 rcl            1
C5       27p            C2.5/2          C2,5-2       capacitor-wima 1
C6       27p            C2.5/2          C2,5-2       capacitor-wima 1
D1       1N4148         1N4148          DO35-10      diode          1
IC1      16F84          PIC16F84AP      DIL18        microchip      1
J1                      PINHD-1X20      1X20         PINHEAD        1
Q1                      XTAL/S          QS           special        1
R1       2.2k           R-EU_0207/10    0207/10      rcl            1
U1       78L05          78LXXZ          TO92         linear         1
Я тут за главного - если что шлите мыло на me собака shaos точка net
jdigreze
God
Posts: 1388
Joined: 02 Jan 2006 02:28
Location: Abakan

Post by jdigreze »

Shaos wrote:Только не XML...
С чего так категорично?
User avatar
Shaos
Admin
Posts: 24088
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

jdigreze wrote:
Shaos wrote:Только не XML...
С чего так категорично?
XML мёртв, а в инете рулит JSON...
Я тут за главного - если что шлите мыло на me собака shaos точка net
jdigreze
God
Posts: 1388
Joined: 02 Jan 2006 02:28
Location: Abakan

Post by jdigreze »

Shaos wrote:
jdigreze wrote:
Shaos wrote:Только не XML...
С чего так категорично?
XML мёртв, а в инете рулит JSON...
Ну прям совсем категорично. Отнюдь не мертв, по крайней мере в наших необъятных просторах.
Согласен что JSON лаконичнее.
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Shaos wrote:XML мёртв...
Shaos у нас - как «пролетариат - могильщик буржуазии»... :lol:

Столько всего уже на моей памяти похоронил, а оно всё живёт,
и даже тленом не запахло... :D
iLavr
User avatar
Shaos
Admin
Posts: 24088
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Lavr wrote:
Shaos wrote:XML мёртв...
Shaos у нас - как «пролетариат - могильщик буржуазии»... :lol:

Столько всего уже на моей памяти похоронил, а оно всё живёт,
и даже тленом не запахло... :D
Запахло-запахло, только вот не все это чуствуют ;)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Shaos wrote:Запахло-запахло, только вот не все это чуствуют ;)
Ну когда кто-то чувствует, то, чего не ощущают другие - он либо провидец,
либо психопат... :-?



PS. А может стоит говорить не "мёртв", а "на пенсии" (Retired)? :lol:
А то мне ещё на старших курсах рассказали, что Fortran сдох и Basic мёртв,
а они до сих пор живее Ленина в мавзолее! А он, как известно, - живее
всех живых!
:wink:
iLavr