![]() | ![]() | ![]() |
| |||||||
| Electronic Theory Basic principles, ideas, concepts, laws, and formulas behind electronics. |
![]() |
| | Tools |
| | #1 |
|
I have a combinatoric circuit that will reset a stage (one of several sr-flipflops). ![]() Then I discovered that if both A (set-button) and B (from reset button) goes high at same time (like if they're wired together) that will cause S to go high for some ns and then go because of delay in leftmost and gate. Then I start working boolean algebra, but I won't get any similar circuit that won't producing spikes when A and B shift state same time. Also I would like trying avoiding any aditional delay circuits that hasn't other purposes than only delay the signal. Any ideas? | |
| |
| | #2 |
|
This is the nature of combinatorial logic. Sequential logic is the fix, but this adds delay...
__________________ Pay it forward. | |
| |
| | #3 |
|
Add a buffer of the same type as the other gates on the 'A' input to the second gate. This will add a delay so both signals reach the second gate at the same time, minimising the delay between them.
| |
| |
| | #4 | |
| Quote:
I think it's impossible to achieve, can anybody confirm this? What about an example on Sequential logic? Last edited by Grossel; 26th February 2009 at 01:42 PM. | ||
| |
| | #5 |
|
Its a compromise between speed and hazard elimination. The sequential circuit would produce a longer delay but eliminate the hazards. Are you using the fastest logic family because if you use fast logic the delay will be minimised. The fastest i believe is 74G**. | |
| |
| | #6 | |
| Quote:
But sure I get a very fast nand gate (the left one) and put in a slower one for the right. But then again, I probably have to spend more physical IC's on a board than neccesary just to provide a longer delay. I think instead I can use two inverters in serie of same type (ttl-family) as the two and gates. | ||
| |
| | #7 |
|
But why would set and reset be asserted at the same time? Is this a likely situation? Can you assign priority logic to A and B So A overides B? If so, Some sort of encoder logic can be used. Also, why is delay a problem? A few usec should hardly be an issue compared to pressing a button. Using sequential logic like flipflops for your switches can ensure that a race condition does not exist. Clock A on rising edge and B on falling edge. This does add complexity so you have to decide how important it is.
__________________ Pay it forward. Last edited by Mikebits; 27th February 2009 at 09:48 AM. | |
| |
| | #8 |
|
Try to see the propagation delay of each gates (semicondutors produces interal delays).
| |
| |
| | #9 |
| Prop delay for most gates these days is in the nano second range.
__________________ Pay it forward. | |
| |
| | #10 |
|
True, but sometimes its an issue if you're working at highspeed specially if the timing is critical
| |
| |
| | #11 |
|
Since the poster mentioned buttons (as in a switch), I doubt nano or microseconds is an issure.
__________________ Pay it forward. Last edited by Mikebits; 5th March 2009 at 11:35 AM. | |
| |
| | #12 |
|
and the poster mentioned, causes S to go high for some ns and then go because of delay in leftmost and gate. Initially, the inputs are lo. the complementary input of the right most gate is actually hi. at the switch turned to hi, because of the propagation delay of some ns of the left most gate, the complementary input is still hi for some ns while A changes to hi. so the output S stays hi for some ns. when the input of the left most gate propagates to the output, the complementary input becomes lo and thus, S becomes lo until the change of status. | |
| |
| | #13 |
|
It's impossible to solve directly because the truth table of your circuit is: Code: A B S 0 0 0 0 1 0 1 0 1 1 1 0 However there may be a solution. The circuit is equivalent to S=A.!B (i.e. run B through an inverter and AND it with A), so can you get !B from anywhere? If C=!B then the truth table becomes: Code: A C S 0 0 0 0 1 0 1 0 0 1 1 1
__________________ Sig 9 from Outer Space | |
| |
|
| Tags |
| combinatoric, problem, timing |
| Thread Tools | |
| Display Modes | |
| |
Similar | ||||
| Title | Starter | Forum | Replies | Latest |
| 16F628 timing problem | ahydra | Micro Controllers | 24 | 27th December 2008 01:53 PM |
| PIC Timing | baberjaved | Micro Controllers | 10 | 21st September 2007 02:06 AM |
| 555 timing help | bunghole | General Electronics Chat | 24 | 13th September 2007 08:52 PM |
| Need Help with a Timing Circuit | gb043 | Electronic Projects Design/Ideas/Reviews | 4 | 8th September 2004 04:32 AM |
| Strange timing problem | 2camjohn | Micro Controllers | 1 | 19th March 2004 03:16 PM |