Software per creare diagrammi di temporizzazione


33

Nella mia vita professionale, a volte ho bisogno di creare diagrammi di temporizzazione per i protocolli: UART , SPI , ecc. Tuttavia, non riesco a trovare buoni programmi disponibili. Quali programmi possono essere raccomandati per questo e qual è l'esperienza che li utilizza?


1
Ecco una domanda simile sullo stack overflow stackoverflow.com/questions/1524244/…
Ross Rogers,

3
Potresti accettarne uno, per favore? Aiuterebbe gli altri a trovare questa domanda.
Brian Carlton,

Risposte:


13

Una rapida ricerca sul Web mostra Drawtiming . Non l'ho mai usato, ma sembra che funzionerebbe molto bene per brevi esempi di alcune dozzine di cicli di clock.

Se vuoi fare i tuoi disegni in un set di strumenti simile a Office, prova OpenOffice.org , in particolare il programma Draw . Se vuoi generare la migliore grafica (e non preoccuparti se ci vuole un po 'di tempo), prova Inkscape come suggerito da digikata. I fogli di dati professionali saranno probabilmente meglio serviti dal pacchetto di tikz-timing e come suggerito da jluciani, o il più vecchio (ma meno complesso) timing.sty , entrambi con (La) TeX (Prova Lyx per una curva di apprendimento più breve, se sei nuovo di TeX. Tieni presente che è una curva ripida, non importa quale, ma ne vale la pena!)

Potresti anche provare a simulare in GTKWave (o qualsiasi altro simulatore di circuito con un analizzatore logico): (fonte: bec-systems.com )Example GTK Wave Screenshot

ma è più orientato alla simulazione di Verilog / VHDL / schemi, piuttosto che disegnare semplicemente forme d'onda.


Puoi modificare il tuo post per spiegare cosa hai usato con successo per implementare i diagrammi delle forme d'onda? Non è chiaro quale delle tue raccomandazioni di cui sopra hai e non hai avuto esperienza.
John Lopez,

Ho usato OpenOffice e Inkscape, nonché un simulatore specifico del fornitore molto simile a GTKWave (ma inutile senza il loro hardware, non pensavo che sarebbe stato utile.) Ho usato LaTeX per importare immagini create in Inkscape, ma questo perché non ero a conoscenza dei pacchetti di temporizzazione al momento. Come ho detto nel mio post, non avevo usato Drawtiming.
Kevin Vermeer,

1
Ho usato Drawtiming per diagrammi di temporizzazione generati automaticamente in un flusso di build parallelizzato con grande efficacia. Lo consiglio.
Ross Rogers,

12

Lo strumento che ho aggiunto ai segnalibri è - http://www.timingtool.com/menu/tour/ttmain.php Non l'ho provato né ho visto da vicino.

Se stai usando TeX e i tuoi amici c'è un pacchetto di temporizzazione per l'ambiente tikz picture (controlla CTAN). A volte con gli strumenti TeX è possibile trovare script wrapper o GUI in grado di creare immagini autonome.

La documentazione sul pacchetto tikz-timing è disponibile all'indirizzo http://www.tug.org/texmf-dist/doc/latex/tikz-timing/tikz-timing.pdf


11

WaveDrom è un motore di rendering del diagramma di temporizzazione digitale online gratuito e open source che utilizza JavaScript , HTML5 e SVG per convertire la descrizione del testo di input WaveJSON in grafica vettoriale SVG.


6

Inkscape

Il primo diagramma potrebbe essere un po 'di lavoro, ma dopo aver impostato alcuni modelli è abbastanza veloce.

Vedo che ora c'è un plugin chiamato Timink per Inkscape per generare forme d'onda del diagramma di temporizzazione.


5

Microsoft Excel è il programma CAD 2D del povero e ha funzionato bene per me. Evidenzia tutte le celle, quindi trascina i bordi delle righe e delle colonne fino a quando il conteggio dei pixel corrisponde: questo ti darà celle quadrate. Quindi utilizzare la barra degli strumenti Disegno per aggiungere linee e forme. Anche l'opzione Aggancia alla griglia dovrebbe essere attivata.

Modifica per aggiungere qualche spiegazione aggiuntiva, per i downvoter nei commenti qui sotto:

Blockquote Microsoft Excel non è né un programma CAD (è un foglio di calcolo) ..

MS Excel ha molte funzionalità, incluso un pacchetto di disegno decente. Se usi ed esplori il software, troverai cose che non avresti mai pensato di fare. Ad esempio, diresti che Excel è un'interfaccia di programmazione e un'interfaccia utente per l'hardware di acquisizione dati o un front-end di reporting per i database? La risposta è che può essere utilizzato per questi, e lo so dall'implementazione personale di questo tipo di app. Proprio come ho implementato personalmente Excel per realizzare disegni 2D, forme d'onda e altro (cavi, planimetrie, ecc.).

... né un programma per un uomo povero ...

Questo si intende nel senso di un colloquialismo: definizione qui . E sarei stupito se qualcuno che stava realizzando disegni di forme d'onda nella loro vita professionale non avesse una copia di Office fornita dal proprio datore di lavoro.

Quando disegni come suggerisci in Excel, non puoi visualizzare le transizioni dei bordi diverse dalle linee verticali ...

Mi dispiace essere schietto, ma è completamente sbagliato. Ecco una spiegazione più dettagliata che puoi provare tu stesso. Cominciando come ho descritto sopra, considera il quadrato ABCD, con le coordinate che iniziano in senso orario dall'angolo in alto a sinistra del quadrato. Se dovessi tracciare una linea attraverso punti DABC in sequenza, avresti la prima metà di un'onda quadra. Tuttavia, se tracciate una linea attraverso DB, avete un angolo di salita di 45 gradi. L'opzione di aggancio alla griglia si aggancia ai punti della griglia, ma non impone restrizioni angolari. Ovviamente questo può essere esteso per creare altri angoli scegliendo altre coordinate - usando una griglia di celle 2x2 poiché la base offre più opzioni angolari, e così via. Ad esempio, l'ho usato per disegnare forme d'onda trapezoidali e segnali Manchester auto-clock controllati in pendenza, non solo il 50% di tick del clock di servizio.

Nota anche che non sei limitato alle linee rette: le curve sono semplici da sporcare. Copia-incolla (CTRL-C, CTRL-V) e la possibilità di ruotare e raggruppare oggetti rendono più semplici le forme più complesse. Un altro esempio della mia esperienza: se riesci a disegnare un singolo emisfero, puoi trasformarlo nella doppia elica di una coppia intrecciata schermata su uno schema di cavi in ​​pochissimo tempo (quasi letteralmente: ho portato un concetto ondulato a mano in un PDF copia di un disegno, in 45 minuti, incluso il tempo impiegato per inviare richieste online di preventivo ai fornitori via cavo). Per le forme d'onda, le stesse cose potrebbero fare un'onda sinusoidale o un segnale modulato in ampiezza.

Se hai bisogno di qualcosa di veramente complesso, disattiva l'opzione di aggancio alla griglia, disegna il tuo oggetto, quindi riattiva lo scatto e trascina l'elemento in posizione. Non dimenticare che puoi ridimensionare anche gli oggetti disegnati.


3
Microsoft Excel non è né un programma CAD (è un foglio di calcolo), né un programma per un uomo povero (è $ 150, secondo office.microsoft.com) Quando disegni come suggerisci in Excel, non puoi visualizzare transizioni di bordi diverse dalle linee verticali, che è inaccettabile per un diagramma di temporizzazione professionale.
Kevin Vermeer,

6
per 200 $ all'anno puoi avere tutti i prodotti Microsoft. In realtà, la maggior parte delle aziende in cui sono stato anch'io hanno eccellenza disponibile. Quando stavo guardando gli strumenti UML per realizzare disegni migliori, avevano 5 o più posti a sedere. Per alcuni diagrammi di tempistica molto semplici ho dovuto usare Excel.
Kortuk,

1
@Kortuk Sì, capisco che la maggior parte delle aziende ha Office * AND * Internet Explorer 6 disponibile. Non incoraggiare la pratica. Inoltre, non sei sicuro di cosa stavi cercando per gli strumenti UML, più della metà degli strumenti elencati su en.wikipedia.org/wiki/… sono gratuiti e open source.
Kevin Vermeer,

1
Con sforzo, tempo e immaginazione, Excel può disegnare gran parte di ciò di cui si ha bisogno.
Dr. Watson,

Incredibile che questo ottenga 7 (!) Voti. Alcune persone ovviamente non hanno mai visto / creato un diagramma temporale reale!
Federico Russo,

4

Posso suggerire di utilizzare qualsiasi forma di grafico PERT o programma di pianificazione - se non supporta gli Stati Uniti o solo per far finta che i "giorni" siano equivalenti - questo è un ottimo modo per trovare i problemi di temporizzazione e i casi peggiori



2

Il primo suggerimento che ho visto qui è stato Inkscape. Un programma di disegno! Quindi ho pensato, perché non Excel, puoi disegnare anche con quello? Sembra che qualcuno l'abbia davvero suggerito! E che 7 persone hanno trovato questo un suggerimento utile! Penso che devo sdraiarmi per un minuto.
La ragione per cui esiste un software così diverso è che ogni attività ha i suoi requisiti e ogni software cerca di rispondere alle richieste di una determinata attività. Se stai usando Excel per disegnare diagrammi di tempistica potresti pensare "vedi, funziona anche questo", ma in realtà farà meno di quanto farebbero carta e matita. Almeno con la matita puoi gestire la funzione più elementare dei progettisti di temporizzazione: le dipendenze del segnale.

Comunque, ora ho questo carico fuori di testa, suggerirei di dare un'occhiata a TimingDesigner , anche se non ho molta familiarità con l'ultima versione. Non è affatto economico e non lo avrei suggerito se non fosse stato per uso professionale.


Non conosco Timingdesigner, ma +1 per "lo strumento giusto per il lavoro giusto". Concordato sul fatto che la matita è più versatile di Excell.
Federico Russo,

2

Faccio molte cose usando PostScript , moveto, lineto, lineto, moveto, ecc. Da lì puoi trasformarlo in qualsiasi cosa: JPEG, PNG , ecc. O incorporarlo direttamente in un documento PostScript, che può un PDF.

PostScript consente tutti gli strumenti gratuiti ed è indipendente dal sistema operativo, quindi non è necessario acquistare Office questo o Excel . Ghostscript e Ghostview sono i tuoi amici.

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

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.



0

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.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.