Pour amplifier la réponse de M. Lathrop: les chronogrammes ont deux aspects: (1) ce qu'un appareil va faire, et (2) ce qu'un appareil attend des autres appareils. Les chronogrammes combinent presque toujours certains des deux (puisque la plupart des appareils existent dans le but de provoquer une certaine réponse à des signaux externes). Dans de nombreux cas, certains signaux sur le chronogramme montreront ce qui est supposé sur l'entrée, et d'autres montreront ce qui est supposé sur la sortie; parfois des signaux bidirectionnels peuvent combiner les deux. Ma préférence pour les chronogrammes impliquant des signaux bidirectionnels est généralement d'avoir des fonctions d'entrée et de sortie affichées sur des lignes différentes; quand ils sont sur une seule ligne, il est parfois facile de dire ce qui est entré et ce qui est sorti, mais parfois cela peut être déroutant.
En ce qui concerne les entrées de périphérique, il y a quelques "symboles" à connaître . Une ligne qui est solidement haute signifie que l'entrée est supposée être élevée. De même, celui qui est solidement bas. Une ligne qui se trouve au milieu ou qui est hachurée haut et bas signifie que l'appareil ne se souciera pas de ce que fait l'entrée à ce point; il pourrait être assis haut, bas ou rebondir arbitrairement entre haut et bas. Si la ligne commence haut puis descend avec un tas de lignes diagonales parallèles, cela signifie que l'appareil s'attendra à ce que l'entrée passe de haut en bas exactement une fois, mais ne se souciera pas précisément du moment où cela se produira. De même si la ligne commence bas et monte haut. S'il y a des lignes horizontales parallèles en haut et en bas, cela signifie que le signal peut légitimement être haut, ou il peut légitimement être bas, mais doit rester dans son état actuel pendant la durée de la partie indiquée du diagramme.
En ce qui concerne les sorties de périphérique, les "symboles" sont pour la plupart similaires, sauf qu'ils indiquent ce que le périphérique peut s'attendre à faire ou indiquent quand le périphérique ne peut pas faire quoi que ce soit en particulier. La seule différence majeure est qu'une ligne centrée entre haut et bas ne signifie pas un comportement non spécifié - cela signifie que l'appareil est garanti de ne pas produire un fort haut ou un fort bas (l'appareil peut produire très faiblement haut ou bas, mais pas si fortement que tout autre appareil aurait du mal à le maîtriser).
Une chose importante à noter avec les chronogrammes, au fait, est qu'ils ne sont généralement pas dessinés à une échelle horizontale particulière. Certains moments dans le temps seront étiquetés, avec des flèches étiquetées les reliant. Généralement, la fonction d'un chronogramme est de faire des déclarations comme celle-ci:
- Pour un fonctionnement correct, l'événement X doit se produire au moins à l'instant t avant l'événement Y
- Pour un fonctionnement correct, l'événement X doit se produire dans le temps t de l'événement Y
- Pour un fonctionnement correct, l'événement X doit se produire entre l'instant t1 et t2 de l'événement Y
- Pour un fonctionnement correct, l'événement X ne doit PAS se produire entre l'instant t1 et t2 de l'événement Y
- Si l'événement X se produit, l'appareil émettra l'événement Y dans le temps t
- Si l'événement X se produit, l'appareil émettra l'événement Y au plus tôt au moment t
- Si l'événement X se produit, l'appareil émettra l'événement Y entre l'instant t1 et t2 par la suite .
Une chose importante à réaliser est que les déclarations faites par un chronogramme sont souvent indépendantes. Si les signaux ne sont pas marqués comme ayant une relation temporelle particulière les uns par rapport aux autres, leur placement relatif sur le diagramme doit être considéré comme une coïncidence. Par exemple, le chronogramme d'une puce ROM peut afficher / CS en baisse, puis / OE en bas, et avoir une flèche allant du front descendant de / CS à la sortie avec un temps étiqueté de 100ns, et une flèche du front descendant de / OE à la sortie avec un temps étiqueté de 50ns. Un tel diagramme ne signifie pas que le front descendant de / OE doit se produire avant le front de / CS. Cela signifie que l'état de la sortie n'est pas garanti sauf lorsque / CS a été bas pendant au moins 100ns et / OE a été bas pendant au moins 50ns. À moins que des relations de synchronisation explicites ne soient énoncées entre / CS et / OE, elles peuvent monter et descendre de manière arbitraire, la seule mise en garde étant qu'à moins qu'elles n'aient été faibles pendant les durées requises, il n'y a aucune garantie quant à ce que la puce produira.