W życiu zawodowym czasami muszę tworzyć diagramy czasowe dla protokołów: UART , SPI itp. Nie mogę jednak znaleźć żadnych dobrych programów. Jakie programy można do tego polecić i jakie są wrażenia z ich używania?
Czy możesz przyjąć jedną? Pomogłoby to innym znaleźć to pytanie.
Brian Carlton,
Odpowiedzi:
13
Pojawi się szybkie wyszukiwanie w sieci Drawtiming . Nigdy go nie użyłem, ale wygląda na to, że sprawdziłby się bardzo dobrze w przypadku krótkich przykładów kilkudziesięciu cykli zegara.
Jeśli chcesz robić swoje rysunki w zestawie narzędzi podobnym do pakietu Office, wypróbuj OpenOffice.org , a konkretnie program Draw . Jeśli chcesz wygenerować najlepszą grafikę (i nie przejmuj się, jeśli to zajmie trochę czasu), wypróbuj Inkscape zgodnie z sugestią digikata. Profesjonalne arkusze danych będą prawdopodobnie najlepiej obsługiwane przez pakiet czasowy tikz oraz, jak sugeruje jluciani, lub starszy (ale mniej skomplikowany) timing.sty , oba z (La) TeX (Wypróbuj Lyx, aby uzyskać krótszą krzywą uczenia się, jeśli jesteś nowość w TeX. Ostrzegamy, że bez względu na wszystko jest to stromy zakręt, ale warto!)
Możesz także spróbować przeprowadzić symulację w GTKWave (lub dowolnym innym symulatorze obwodu z analizatorem logicznym):
(źródło: bec-systems.com )
ale jest to zorientowane bardziej na symulację schematów Verilog / VHDL / schematów, a nie tylko na rysowanie przebiegów.
Czy możesz edytować swój post, aby wyjaśnić, co udało Ci się wdrożyć do diagramów przebiegów? Nie jest jasne, z których z powyższych zaleceń korzystasz i nie miałeś doświadczenia.
John Lopez
Użyłem OpenOffice i Inkscape, a także specyficznego dla dostawcy symulatora podobnego do GTKWave (ale bezużyteczne bez ich sprzętu, nie sądziłem, że byłoby to pomocne). Użyłem LaTeXa do importowania obrazów utworzonych w Inkscape, ale to dlatego, że nie wiedziałem wtedy o pakietach czasowych. Jak powiedziałem w swoim poście, nie użyłem Drawtiming.
Kevin Vermeer
1
Użyłem Drawtiming do automatycznie generowanych diagramów czasowych w równoległym przepływie kompilacji, aby uzyskać doskonały efekt. Polecam to.
Jeśli używasz TeXa i znajomych, istnieje pakiet czasowy dla środowiska obrazu tikz (sprawdź CTAN). Czasami za pomocą narzędzi TeX można znaleźć skrypty opakowania lub GUI, które mogą tworzyć samodzielne obrazy.
WaveDrom to darmowy i otwarty silnik do renderowania cyfrowych diagramów synchronizacji online, który wykorzystuje JavaScript , HTML5 i SVG do konwersji opisu tekstu wejściowego WaveJSON na grafikę wektorową SVG.
Microsoft Excel to program CAD 2D dla biednego człowieka i działał dla mnie dobrze. Podświetl wszystkie komórki, a następnie przeciągnij obramowanie wiersza i kolumny, aż liczba pikseli się zgadza - daje to komórki kwadratowe. Następnie użyj paska narzędzi Rysowanie, aby dodać linie i kształty. Należy również włączyć opcję przyciągania do siatki.
Edytuj, aby dodać dodatkowe wyjaśnienia dla downvoters w komentarzach poniżej:
Blockquote Microsoft Excel nie jest programem CAD (jest to arkusz kalkulacyjny) ..
MS Excel ma wiele funkcji, w tym przyzwoity pakiet do rysowania. Jeśli używasz i eksplorujesz oprogramowanie, znajdziesz rzeczy, których nigdy nie spodziewałeś się. Na przykład, czy powiedziałbyś, że Excel to interfejs programistyczny i interfejs użytkownika dla sprzętu do akwizycji danych, czy front-end raportowania dla baz danych? Odpowiedź jest taka, że można z nich korzystać i wiem o tym osobiście, wdrażając tego rodzaju aplikacje. Tak jak osobiście wdrożyłem program Excel do tworzenia rysunków 2D, kształtów fal i innych elementów (kable, plany podłogowe itp.).
... ani program dla biednego człowieka ...
Ma to sens kolokwializmu: tutaj definicja . Byłbym zdumiony, gdyby ktoś, kto w swoim życiu zawodowym rysował kształty fal, nie miał kopii Office dostarczonej przez swojego pracodawcę.
Podczas rysowania zgodnie z sugestiami w programie Excel nie można wizualizować przejść poza krawędziami pionowymi ...
Przepraszam, że jestem tępy, ale to całkowicie błędne. Oto bardziej szczegółowe wyjaśnienie, które możesz wypróbować samodzielnie. Zaczynając jak opisano powyżej, rozważ kwadrat ABCD, którego współrzędne zaczynają się zgodnie z ruchem wskazówek zegara od lewego górnego rogu kwadratu. Jeśli narysujesz linię przez punkty DABC w sekwencji, będziesz miał pierwszą połowę fali kwadratowej. Jeśli jednak narysujesz linię przez DB, masz kąt narastania 45 stopni. Opcja przyciągania do siatki przyciąga do punktów siatki, ale nie wymusza ograniczeń kątowych. Oczywiście można to rozszerzyć, aby uzyskać inne kąty, wybierając inne współrzędne - używając siatki komórek 2x2, ponieważ baza daje większy wybór kątów i tak dalej. Na przykład użyłem tego do rysowania trapezoidalnych przebiegów i kontrolowanych nachyleniem sygnałów samozachowawczych Manchesteru - nie tylko 50% tyknięć zegara cyklu pracy.
Zauważ również, że nie jesteś ograniczony do linii prostych - krzywe są proste. Kopiuj-wklej (CTRL-C, CTRL-V) oraz możliwość obracania i grupowania obiektów ułatwiają tworzenie bardziej złożonych kształtów. Kolejny przykład z mojego doświadczenia: jeśli możesz narysować pojedynczą półkulę, możesz w krótkim czasie przekształcić ją w podwójną helisę ekranowanej skręconej pary na schemacie kabla (prawie dosłownie: przeszedłem falistą koncepcję do pliku PDF kopia rysunku w 45 minut, w tym czas poświęcony na składanie wniosków online o wycenę do dostawców telewizji kablowej). W przypadku przebiegów te same rzeczy mogą wytworzyć falę sinusoidalną lub sygnał modulowany amplitudowo.
Jeśli potrzebujesz czegoś naprawdę złożonego, wyłącz opcję przyciągania do siatki, narysuj coś, a następnie włącz ponownie i przeciągnij coś na miejsce. Nie zapominaj, że możesz także zmieniać rozmiar rysowanych obiektów.
Microsoft Excel is neither a CAD program (It's a spreadsheet), nor a program for a poor man (It's $150, according to office.microsoft.com) When drawing as you suggest in Excel, you cannot visualize edge transitions other than vertical lines, which is unacceptable for a professional timing diagram.
Kevin Vermeer
6
for 200$ a year you can have all of the microsoft products. In reality, most companies I have been too have excel available. When I was looking at UML tools to make better drawings, they were 5 or more grand a seat. For a few very simple timing diagrams I had to use excel.
Kortuk
1
@Kortuk Yes, I understand that most companies have Office *AND* Internet Explorer 6 available. Don't encourage the practice. Also, not sure what you were looking at for UML tools, more than half of the tools listed at en.wikipedia.org/wiki/… are free and open source.
Kevin Vermeer
1
With effort, time and imagination, Excel can draw much of what one needs.
Dr. Watson
Unbelievable that this gets 7(!) upvotes. Some people obviously never have seen/created a real timing diagram!
Federico Russo
4
Can I suggest you use any form of PERT chart or scheduling program - if it doesn't support uS or nS just pretend that 'days' are equivalent - this is a great way to find timing problems and worst case paths
The first suggestion I saw here was Inkscape. A drawing program! So I thought, why not Excel, you can draw with that as well? Appears that somebody indeed suggested that! And that 7 people found this a useful suggestion! I think I have to lay down for a minute.
The reason that there exists so much different software is that every task has its own requirements, and each software tries to answer the demands for a particular task. If you're using Excel to draw timing diagrams you may think "see, this works too", but in reality it will do less than pencil and paper would. At least with the pencil you can handle the most basic function of timing designers: signal dependencies.
Anyway, now I have this load off my mind, I would suggest to have a look at TimingDesigner, though I'm not quite familiar with the latest version. By no means cheap, and I wouldn't have suggested it if it wasn't for professional use.
I don't know Timingdesigner, but +1 for "the right tool for the right job". Agreed that the pencil is more versatile than Excell.
Federico Russo
2
I do a lot of this stuff using PostScript, moveto, lineto, lineto, moveto, etc. From there you can turn it into just about anything: JPEG, PNG, etc., or embed it directly into a PostScript document then that can become a PDF.
PostScript allows for all free tools and is operating system independent, so you don't have to buy Office this or Excel that. Ghostscript and Ghostview are your friends.
SVG is likely another format/language you can use as well. It is free, open, and converts to anything.
I do this too. I will script the generation of these types of documents using Perl + TeX + METAPOST (or other command line tools). When the data changes I type "make" and the changes propagate through.
jluciani
1
TimeGen is less than $100 US (Lite), $500 (Pro). I haven't used it.
I've been looking around for something last couple of days and tried a number of the suggestions here, none of which worked satisfactorily (or in some cases at all) for me, or wouldn't draw the timing arrows.
Visio always works good for me, and was one of the primary means of documentation for both FPGA (timing and block) and system diagrams at one of my places of employment.
The nicest thing about visio is you can generate templates, and shapes that allow you to create uniform timing diagrams.
Odpowiedzi:
Pojawi się szybkie wyszukiwanie w sieci Drawtiming . Nigdy go nie użyłem, ale wygląda na to, że sprawdziłby się bardzo dobrze w przypadku krótkich przykładów kilkudziesięciu cykli zegara.
Jeśli chcesz robić swoje rysunki w zestawie narzędzi podobnym do pakietu Office, wypróbuj OpenOffice.org , a konkretnie program Draw . Jeśli chcesz wygenerować najlepszą grafikę (i nie przejmuj się, jeśli to zajmie trochę czasu), wypróbuj Inkscape zgodnie z sugestią digikata. Profesjonalne arkusze danych będą prawdopodobnie najlepiej obsługiwane przez pakiet czasowy tikz oraz, jak sugeruje jluciani, lub starszy (ale mniej skomplikowany) timing.sty , oba z (La) TeX (Wypróbuj Lyx, aby uzyskać krótszą krzywą uczenia się, jeśli jesteś nowość w TeX. Ostrzegamy, że bez względu na wszystko jest to stromy zakręt, ale warto!)
Możesz także spróbować przeprowadzić symulację w GTKWave (lub dowolnym innym symulatorze obwodu z analizatorem logicznym): (źródło: bec-systems.com )
ale jest to zorientowane bardziej na symulację schematów Verilog / VHDL / schematów, a nie tylko na rysowanie przebiegów.
źródło
Narzędzie, które dodałem do zakładek to - http://www.timingtool.com/menu/tour/ttmain.php Nie próbowałem tego ani nie przyjrzałem się uważnie.
Jeśli używasz TeXa i znajomych, istnieje pakiet czasowy dla środowiska obrazu tikz (sprawdź CTAN). Czasami za pomocą narzędzi TeX można znaleźć skrypty opakowania lub GUI, które mogą tworzyć samodzielne obrazy.
Dokumentacja pakietu tikz-timing znajduje się na stronie http://www.tug.org/texmf-dist/doc/latex/tikz-timing/tikz-timing.pdf
źródło
WaveDrom to darmowy i otwarty silnik do renderowania cyfrowych diagramów synchronizacji online, który wykorzystuje JavaScript , HTML5 i SVG do konwersji opisu tekstu wejściowego WaveJSON na grafikę wektorową SVG.
źródło
Inkscape
Pierwszy schemat może być trochę pracy, ale po skonfigurowaniu szablonów jest dość szybki.
Widzę, że teraz jest wtyczka o nazwie Timink dla Inkscape do generowania przebiegów diagramów czasowych.
źródło
Microsoft Excel to program CAD 2D dla biednego człowieka i działał dla mnie dobrze. Podświetl wszystkie komórki, a następnie przeciągnij obramowanie wiersza i kolumny, aż liczba pikseli się zgadza - daje to komórki kwadratowe. Następnie użyj paska narzędzi Rysowanie, aby dodać linie i kształty. Należy również włączyć opcję przyciągania do siatki.
Edytuj, aby dodać dodatkowe wyjaśnienia dla downvoters w komentarzach poniżej:
MS Excel ma wiele funkcji, w tym przyzwoity pakiet do rysowania. Jeśli używasz i eksplorujesz oprogramowanie, znajdziesz rzeczy, których nigdy nie spodziewałeś się. Na przykład, czy powiedziałbyś, że Excel to interfejs programistyczny i interfejs użytkownika dla sprzętu do akwizycji danych, czy front-end raportowania dla baz danych? Odpowiedź jest taka, że można z nich korzystać i wiem o tym osobiście, wdrażając tego rodzaju aplikacje. Tak jak osobiście wdrożyłem program Excel do tworzenia rysunków 2D, kształtów fal i innych elementów (kable, plany podłogowe itp.).
Ma to sens kolokwializmu: tutaj definicja . Byłbym zdumiony, gdyby ktoś, kto w swoim życiu zawodowym rysował kształty fal, nie miał kopii Office dostarczonej przez swojego pracodawcę.
Przepraszam, że jestem tępy, ale to całkowicie błędne. Oto bardziej szczegółowe wyjaśnienie, które możesz wypróbować samodzielnie. Zaczynając jak opisano powyżej, rozważ kwadrat ABCD, którego współrzędne zaczynają się zgodnie z ruchem wskazówek zegara od lewego górnego rogu kwadratu. Jeśli narysujesz linię przez punkty DABC w sekwencji, będziesz miał pierwszą połowę fali kwadratowej. Jeśli jednak narysujesz linię przez DB, masz kąt narastania 45 stopni. Opcja przyciągania do siatki przyciąga do punktów siatki, ale nie wymusza ograniczeń kątowych. Oczywiście można to rozszerzyć, aby uzyskać inne kąty, wybierając inne współrzędne - używając siatki komórek 2x2, ponieważ baza daje większy wybór kątów i tak dalej. Na przykład użyłem tego do rysowania trapezoidalnych przebiegów i kontrolowanych nachyleniem sygnałów samozachowawczych Manchesteru - nie tylko 50% tyknięć zegara cyklu pracy.
Zauważ również, że nie jesteś ograniczony do linii prostych - krzywe są proste. Kopiuj-wklej (CTRL-C, CTRL-V) oraz możliwość obracania i grupowania obiektów ułatwiają tworzenie bardziej złożonych kształtów. Kolejny przykład z mojego doświadczenia: jeśli możesz narysować pojedynczą półkulę, możesz w krótkim czasie przekształcić ją w podwójną helisę ekranowanej skręconej pary na schemacie kabla (prawie dosłownie: przeszedłem falistą koncepcję do pliku PDF kopia rysunku w 45 minut, w tym czas poświęcony na składanie wniosków online o wycenę do dostawców telewizji kablowej). W przypadku przebiegów te same rzeczy mogą wytworzyć falę sinusoidalną lub sygnał modulowany amplitudowo.
Jeśli potrzebujesz czegoś naprawdę złożonego, wyłącz opcję przyciągania do siatki, narysuj coś, a następnie włącz ponownie i przeciągnij coś na miejsce. Nie zapominaj, że możesz także zmieniać rozmiar rysowanych obiektów.
źródło
Can I suggest you use any form of PERT chart or scheduling program - if it doesn't support uS or nS just pretend that 'days' are equivalent - this is a great way to find timing problems and worst case paths
źródło
TimingEditor looks easy to use, and produces decent SVG files.
źródło
The first suggestion I saw here was Inkscape. A drawing program! So I thought, why not Excel, you can draw with that as well? Appears that somebody indeed suggested that! And that 7 people found this a useful suggestion! I think I have to lay down for a minute.
The reason that there exists so much different software is that every task has its own requirements, and each software tries to answer the demands for a particular task. If you're using Excel to draw timing diagrams you may think "see, this works too", but in reality it will do less than pencil and paper would. At least with the pencil you can handle the most basic function of timing designers: signal dependencies.
Anyway, now I have this load off my mind, I would suggest to have a look at TimingDesigner, though I'm not quite familiar with the latest version. By no means cheap, and I wouldn't have suggested it if it wasn't for professional use.
źródło
I do a lot of this stuff using PostScript, moveto, lineto, lineto, moveto, etc. From there you can turn it into just about anything: JPEG, PNG, etc., or embed it directly into a PostScript document then that can become a PDF.
PostScript allows for all free tools and is operating system independent, so you don't have to buy Office this or Excel that. Ghostscript and Ghostview are your friends.
SVG is likely another format/language you can use as well. It is free, open, and converts to anything.
źródło
TimeGen is less than $100 US (Lite), $500 (Pro). I haven't used it.
źródło
I've been looking around for something last couple of days and tried a number of the suggestions here, none of which worked satisfactorily (or in some cases at all) for me, or wouldn't draw the timing arrows.
I eventually found this:
https://waveme.weebly.com/
Which I can recommend. It's reasonably intuitive and there are decent video tutorials on the web site. Runs on Windows and on Linux under Wine.
źródło
Two tools I have used are:
Synapticad Timing diagrammer pro it's expensive but so full featured that a friend of mine designed a chip using the Verilog stimulus mode
Timing analyzer - free, under continual development , the author is responsive to changes and it's java based so it's portable.
źródło
Visio always works good for me, and was one of the primary means of documentation for both FPGA (timing and block) and system diagrams at one of my places of employment.
The nicest thing about visio is you can generate templates, and shapes that allow you to create uniform timing diagrams.
źródło