-
1. Data: 2012-11-09 15:44:49
Temat: Opis schematu tekstowo.
Od: Sebastian Biały <h...@p...onet.pl>
Własnie wale głową w mur: jak sprawdzić jak zmieniła się wersja 16
schematu względem 12 zakładając że pliki trzymam w systemie kontroli
wersji? Pomijam w tej chwili oprogramowanie - po prostu mam poważną
wątpliwość czy to w ogóle jest sensowne w przypadku schematów rysowanych.
Jestem bardziej programistą, więc oczywiste wydaje mi się że "schemat"
opisany w języku tekstowym byłby:
a) mniej odporny na błedy dzieki stosowaniu jakiś wyższych abstrakcji
("magistrala adresowa 1, podepnij do pamięci U2").
b) wygodny w przeglądaniu historii w systemach kontroli wersji
c) możliwy do trywialnego podziału na zgrabne logiczne kawałki
d) nieczytelny dla przecietnego elektronika, ale kij z nimi, niech sobie
klika.
Teraz: czy świat dorobił się jakiegoś języka pozwalającego rozsadnie
opisać typowy schemat elektroniczny który:
a) nie jest językiem *hdl bo nie potrzebuje opisywać działania bramek,
interesuje mnie podpięcie drutow do pinów elementów elektronicznych. Nic
nie przeszkadza, gdyby *hdl mógł byś wpięty w tle do symulacji.
b) nie jest czytelny *tylko* dla maszyny, jak edif. Ma być read-write
dla człowieka.
c) potrafi okreslić opis na wyzszym poziomie niż pojedyncze druty.
d) da się skonwertować na schemat (z autoroutingiem połączeń).
Widział ktoś coś rownie nietypowego?
Żeby uprzedzić krucjatę: jestem specyficznym człowiekiem. Uważam za
wygodne rzeczy które inni nie byli by w stanie używać nawet pod
przymusem. Liczę jednak że nie jedynym.
Tak sobie wymysliłem w 10 sekund przykład ze składnią wyssaną z palca:
module counter( input wire clock, output vector result[4] )
{
U2 : CD4093;
U1 : CD4001;
R2 : Resistor( 10Ohm, 1W );
U2.gate1.out connect U1.gate2.in1;
U1.gate2.out connect U2.gate1.in2;
U1.gate2.in2 connect clock;
U2.gate3.out connect result[2];
R2.pin1 connect result[3];
...
U2.vcc connect global.vcc;
...
}
Przypomina to języki *hdl, ale tutaj mogę podpinać elementy również
analogowe. Czy ktoś widział gdzies coś podobnego, nawet bardzo odlegle w
składni?
-
2. Data: 2012-11-09 15:58:10
Temat: Re: Opis schematu tekstowo.
Od: Zbych <a...@o...pl>
W dniu 2012-11-09 15:44, Sebastian Biały pisze:
> Własnie wale głową w mur: jak sprawdzić jak zmieniła się wersja 16
> schematu względem 12 zakładając że pliki trzymam w systemie kontroli
> wersji? Pomijam w tej chwili oprogramowanie - po prostu mam poważną
> wątpliwość czy to w ogóle jest sensowne w przypadku schematów rysowanych.
[...]
> Przypomina to języki *hdl, ale tutaj mogę podpinać elementy również
> analogowe. Czy ktoś widział gdzies coś podobnego, nawet bardzo odlegle w
> składni?
Wątpię, żeby coś tak wysokopoziomowego istniało (w sensie, że w pliku są
tylko pary połączeń bez informacji którędy poprowadzono linię).
Przy analizowaniu schematu nie jest mi wszystko jedno gdzie są elementy
i którędy idą druty je łączące.
BTW część programów przechowuje schematy w formie tekstowej (eagle,
kicad), więc diff daje jakieś pojęcie co zostało zmienione.
Altium też potrafi graficznie pokazać różnice między dwoma schematami.
-
3. Data: 2012-11-09 16:01:31
Temat: Re: Opis schematu tekstowo.
Od: Michoo <m...@v...pl>
On 09.11.2012 15:44, Sebastian Biały wrote:
> Własnie wale głową w mur: jak sprawdzić jak zmieniła się wersja 16
> schematu względem 12 zakładając że pliki trzymam w systemie kontroli
> wersji?
Wygenerować z obu netlisty, zrobić diff netlist (ewentualnie wcześniej
sortując).
> Pomijam w tej chwili oprogramowanie - po prostu mam poważną
> wątpliwość czy to w ogóle jest sensowne w przypadku schematów rysowanych.
Zależnie jakie "różnice" cię interesują - czy przesunięcie linii o 2 mm
w prawo, czy zmiany logiczne.
>
> Teraz: czy świat dorobił się jakiegoś języka pozwalającego rozsadnie
> opisać typowy schemat elektroniczny który:
Pliki netlist spice są niepisanym standardem, bo je łykają symulatory,
ERC, analizatory, etc.
Schemat jest przedstawieniem wygodnym dla człowieka.
--
Pozdrawiam
Michoo
-
4. Data: 2012-11-09 16:29:25
Temat: Re: Opis schematu tekstowo.
Od: Sebastian Biały <h...@p...onet.pl>
On 2012-11-09 15:58, Zbych wrote:
> Przy analizowaniu schematu nie jest mi wszystko jedno gdzie są elementy
> i którędy idą druty je łączące.
Mi jest wszystko jedno o ile elementy są zgrupowane blokami. To jest
przetwornica, to jest system procesorowy, to jest radio itd. To czy
druty idą dolem, górą nie ma znaczenia. De facto na moich schematach nie
ma w ogole drutów - każdy pin ma nazwę neta i koniec.
-
5. Data: 2012-11-09 16:34:01
Temat: Re: Opis schematu tekstowo.
Od: Sebastian Biały <h...@p...onet.pl>
On 2012-11-09 16:01, Michoo wrote:
>> Własnie wale głową w mur: jak sprawdzić jak zmieniła się wersja 16
>> schematu względem 12 zakładając że pliki trzymam w systemie kontroli
>> wersji?
> Wygenerować z obu netlisty, zrobić diff netlist (ewentualnie wcześniej
> sortując).
Workaround :)
Ja mam wizje żeby *pisać* schematy i z tego robić pcb.
>> Pomijam w tej chwili oprogramowanie - po prostu mam poważną
>> wątpliwość czy to w ogóle jest sensowne w przypadku schematów rysowanych.
> Zależnie jakie "różnice" cię interesują - czy przesunięcie linii o 2 mm
> w prawo, czy zmiany logiczne.
Pojęcie mm nie istnieje. Istnieją tylko powiązania pinów na różnych
poziomach abstrakcji.
>> Teraz: czy świat dorobił się jakiegoś języka pozwalającego rozsadnie
>> opisać typowy schemat elektroniczny który:
> Pliki netlist spice są niepisanym standardem, bo je łykają symulatory,
> ERC, analizatory, etc.
Niestety są ciężko czytelne przy większych ilościach danych. Mi chodzi
nie o języki write only albo maszynowe. Mi chodzi o zapis czytelny dla mnie.
> Schemat jest przedstawieniem wygodnym dla człowieka.
To tylko teoria :) Niestety jestem zboczony zawodowo programistycznie i
chyba wiem dlaczego świat nie dorobił się graficznych języków
programowania poza nieistotnym szumem typu LabView.
-
6. Data: 2012-11-09 18:05:19
Temat: Re: Opis schematu tekstowo.
Od: Marek <m...@n...org>
On 09.11.2012 15:44, Sebastian Biały wrote:
> Własnie wale głową w mur: jak sprawdzić jak zmieniła się wersja 16
> schematu względem 12 zakładając że pliki trzymam w systemie kontroli
> wersji? Pomijam w tej chwili oprogramowanie - po prostu mam poważną
> wątpliwość czy to w ogóle jest sensowne w przypadku schematów rysowanych.
>
> Jestem bardziej programistą, więc oczywiste wydaje mi się że "schemat"
> opisany w języku tekstowym byłby:
>
[ciach]
To nie jest tak że szukasz czegoś do wizualizacji zmian a nie czytelnego
formatu?
Marek
-
7. Data: 2012-11-09 18:16:54
Temat: Re: Opis schematu tekstowo.
Od: Sebastian Biały <h...@p...onet.pl>
On 2012-11-09 18:05, Marek wrote:
> To nie jest tak że szukasz czegoś do wizualizacji zmian a nie czytelnego
> formatu?
Nie. Wizualizacja zmian przelała czarę goryczy. Gdyby istniał format
opisu schematu prawdopodobnie przeszedł bym na niego. Mam ostatnio dwie
wpadki wynikające z "narysowania się druta tam gdzie przypadkiem
kliknąłem" i nie zliczę ile innych idiotyzmów po drodze. To + kontrola
wersji powoduje że rozgladam się za alternatywą. Tak jak mówie, języki
programowania grficznego, choć mozliwe, nie mają żadnego sensu
praktycznego poza niszami. Podobnie VHDL/Verilog - koem źrodłowym
dokładniej opiszesz schemat niż zabawą w klikanie drutów w jakimś
gównianym edytorze bo mając taki opis możesz znacznie więcej z nim zrobić.
-
8. Data: 2012-11-09 19:32:30
Temat: Re: Opis schematu tekstowo.
Od: Marek <m...@n...org>
On 09.11.2012 18:16, Sebastian Biały wrote:
> On 2012-11-09 18:05, Marek wrote:
>> To nie jest tak że szukasz czegoś do wizualizacji zmian a nie czytelnego
>> formatu?
>
> Nie. Wizualizacja zmian przelała czarę goryczy. Gdyby istniał format opisu
> schematu prawdopodobnie przeszedł bym na niego. Mam ostatnio dwie wpadki
> wynikające z "narysowania się druta tam gdzie przypadkiem kliknąłem" i nie
> zliczę ile innych idiotyzmów po drodze. To + kontrola wersji powoduje że
> rozgladam się za alternatywą. Tak jak mówie, języki programowania
> grficznego, choć mozliwe, nie mają żadnego sensu praktycznego poza
> niszami. Podobnie VHDL/Verilog - koem źrodłowym dokładniej opiszesz
> schemat niż zabawą w klikanie drutów w jakimś gównianym edytorze bo mając
> taki opis możesz znacznie więcej z nim zrobić.
Może źle się wyraziłem. Jeżeliby istniał 'diff' który biorąc dwa pliki z
repo wypisałby że różnią się tym że tu było połączenie pomiędzy pinami a w
drugiej rewizji go nie ma to zapewne byłoby wystarczające? Poprzez termin
wizualizacja nie miałem na myśli graficznej reprezentacji, tylko
tłumaczenie z maszynowego na ludzki.
Korzystamy z fwbuildera (tool do generowania firewalli), przechowuje on
konfigurację w xml. Niby jest to do przeczytania/zapisu przez człowieka,
praktycznie jednak niewykonalne. Znacznie łatwiej jest napisać coś co
porówna i rozumiejąc semantykę "przetłumaczy" z maszynowego na ludzki co
się dokładnie zmieniło.
Pewną przewagą tekstowego formatu byłoby możliwość mergowania branchy w
repo, nie wierzę jednak że działałoby to wystarczająco dobrze.
Marek
-
9. Data: 2012-11-09 19:48:44
Temat: Re: Opis schematu tekstowo.
Od: "J.F" <j...@p...onet.pl>
Użytkownik "Sebastian Biały" napisał w wiadomości grup
>Nie. Wizualizacja zmian przelała czarę goryczy. Gdyby istniał format
>opisu schematu prawdopodobnie przeszedł bym na niego. Mam ostatnio
>dwie wpadki wynikające z "narysowania się druta tam gdzie przypadkiem
>kliknąłem" i nie zliczę ile innych idiotyzmów po drodze. To +
>kontrola wersji powoduje że rozgladam się za alternatywą.
Chyba kazdy rozsadny edytor ma generacje netlisty (jak nie ma, to nie
jest rozsadny :-)
Te juz mozesz jakos porownywac.
Aczkolwiek ... zrodel takich problemow moze byc wiele - raczej bym sie
skupil na programie do sprawdzania (ERC) czy symulacji.
>Tak jak mówie, języki programowania grficznego, choć mozliwe, nie
>mają żadnego sensu praktycznego poza niszami. Podobnie VHDL/Verilog -
>koem źrodłowym dokładniej opiszesz schemat niż zabawą w klikanie
>drutów w jakimś gównianym edytorze bo mając taki opis możesz znacznie
>więcej z nim zrobić.
Owszem, ale wystarczy drobna nieuwaga i w kodzie zrodlowym sobie
namieszasz.
Przy czym czasem latwiej zauwazyc brak linii na schemacie, niz jakas
pomylke w jednej z dziesiatek tysiecy linii kodu ..
J.
-
10. Data: 2012-11-09 20:20:44
Temat: Re: Opis schematu tekstowo.
Od: Sebastian Biały <h...@p...onet.pl>
On 2012-11-09 19:32, Marek wrote:
> Pewną przewagą tekstowego formatu byłoby możliwość mergowania branchy w
> repo, nie wierzę jednak że działałoby to wystarczająco dobrze.
Uzywam na codzień SVN w przypadku C++. Działa perfekcyjnie, przy setkach
merge mogę policzyć dwa przypadki kiedy nabroił automatyczny merge i nie
bez przyczyny. Nie widze powodu dla ktorego niemożliwe było by
pracowanie przez N osób równloegle przy tym samym *schemacie*. Nawet
rozwiązywanie konfliktów powinno działać sensownie o ile język opisu
byłby rozsądny.
PS. VHDL i Verilog też się dobrze mergują automatycznie w SVN.