Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Often, when looking at digital system signal plots over time there are these graphs with two parallel lines that often "swap" place. I am wondering what precisely they represent? I noticed they usually are used for busses, but for the rest I'm clueless. It's probably quite trivial

This is an example of the graphs I mean, in this case from a discussion about how CPU's execute instructions:

I've tried Googling but couldn't find an explanation

Thanks in advance, Joshua

share|improve this question
up vote 1 down vote accepted

The parallel lines indicate a multi-bit bus, and represent any possible combinations of low/high values. This bus could be two bits, or 64 bits, or whatever the design calls for. As shown here, the grey regions indicate that the data value is unknown or indeterminate. In this case, immediately after the positive clock transition, the address and data are unknown. Soon, after that, the address data becomes stable and known. Some time after that the data is known and can be read.

edit: As Peter says, the grey regions can also mean "don't care".

share|improve this answer
4  
Your answer is not entirely right. The two lines do not necessarily denote multi-bit busses. The same plot may be made for a single line, such as MISO or MOSI in an SPI signal. The only significance is that the state is stable. – Asmyldof 8 hours ago
    
In this case my answer is correct. But yes, a single bit signal can also be presented in this manner. – Paul Elliott 3 hours ago

Since most logic and microprocessor IC's use edge clocked timing, it's when the transitions from 0-1 and 1-0 occur that are important to timing. The high and low parallel lines simply tell you that a line may be high or low but not some indeterminate level such as tri-state). In your case shown, greyed out means not valid data/address (multiple signals), not greyed out means they will be 0 or 1 but the data is valid.
The crossovers graphically show the setup and hold timing in relation to clocking. You would read accurate setup and hold times from a data sheet of course.

For example in the image you show When the clock goes 0-1, the program memory address's are being setup after the greyed (invalid address on the lines) time period. Once the address is stable (non-greyed) the data lines represent (but can be 0 or 1) valid and stable data until the access time passes. Then the data bus will contain either 0 or 1 as appropriate for the memory address.

share|improve this answer

The two parallel lines indicate times when the data on the bus is stable, and the crossovers indicate when the data may change.

The shaded sections are times we don't know or care what value is on the bus.

share|improve this answer
    
You sure? Why would instruction code "fetch" not care what program memory data is on the bus? And shouldn't program memory address be stable at the beginning of a fetch cycle? I'd want to see the setup/hold data timings on the data sheet before guessing that "shaded" means "don't care". – glen_geek 8 hours ago
    
@glen_geek It's not a guess, it's a convention. You can also see in the picture that the clock goes low to high, after which these signals become unknown or don't care (not just don't care!), as is logically expected, as execution happens at up-edge. The signals are latched into relevant sections and the busses are subject to execution related change. Thus grey. – Asmyldof 8 hours ago
    
Ok, I recall seeing hatched "don't care" as well. I suppose shaded=hatched. I don't take chances and ensure that setup/hold timings on data sheet are well understood before proceeding with design. Belt + suspenders! – glen_geek 8 hours ago

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.