touch@dsl.cis.upenn.edu (Joe Touch) (12/16/90)
RS-latches? JK-flip flops? A whole C-64? Geez, folks, talk about doing things the hard way!! Here's a way thats SIMPLE, CHEAP, AND *SCALABLE* (easy to extend to an arbitrary number of inputs, if you balance the OR into balanced trees) It also has the advantage of a 3-gate propagation delay for latch, so it will lock out ties unless they come within 3 gate times of each other (about 25 ns for TTL). That is a smaller 'false tie' window than RS/JK solutions will give! I'm not sure if debouncing is required at the inputs - if they are stable for the setup time of the feedback loop (i.e. if a bouncy switch still outputs at least a pulse of 25ns), debouncing can be avoided. +-----+ in1 ------------------| D- |--------+-------- out 1 in2 ------------------|latch|--------|-+------ out 2 in3 ------------------| |--------|-|-+---- out 3 in4 ------------------| |--------|-|-|-+-- out 4 +--^--+ | | | | | | | | | +-+---+ +-+-+-+-+-+ | AND | | OR | +-+-+-+ +----+----+ | | | reset-bar ----------------------+ +------------+ When reset-bar is low (reset) the clock of the D latch is LOW, passing all data through. When reset-bar is high, all data passes through. If any input goes high, the OR goes high, the latch gets locked, and a feedback loop exists, locking the outputs. Any number of D-latches can be used, provided that the OR tree is balanced, it will be fair. Occam's Razor lives - look for the simple solution. Joe Touch PhD Candidate Dept of Computer and Information Science Univ of Pennsylvania
fritz@mit-caf.MIT.EDU (Frederick Herrmann) (12/16/90)
In article <34827@netnews.upenn.edu> touch@dsl.cis.upenn.edu (Joe Touch) writes: > > >RS-latches? JK-flip flops? A whole C-64? Geez, folks, talk about >doing things the hard way!! > >Here's a way thats SIMPLE, CHEAP, AND *SCALABLE* (easy to extend to an >arbitrary number of inputs, if you balance the OR into balanced trees) > > < nifty circuit deleted > > >Any number of D-latches can be used, provided that the OR tree is >balanced, it will be fair. I like your solution, but in case anyone tries to build it from your description I'll point out that a transparent latch (e.g. 74x373) is required. A standard edge-triggered D-latch won't do the job. Terminology does not seem to be that standardized. I usually think of a D-latch as edge triggered, but I checked a few data books on my shelf and found that while most call the '373 a transparent latch, the 2nd edition TI TTL Data Book calls it an "Octal D-type Transparent Latch" I've also seen transparent latches referred to as T-latches. Hmmm... If you took the OR inputs from the input side of the latch you could use an edge-triggered latch, but you'd need an extra feedback term to keep late responders from retriggering it, and some way to reset the whole thing. The transparent solution is nicer, but if no T-latch were available (as in many PALs), I'm sure an edge-triggered solution could be found. >Joe Touch >PhD Candidate >Dept of Computer and Information Science >Univ of Pennsylvania - Frederick P. Herrmann fritz@caf.mit.edu
bhoughto@cmdnfs.intel.com (Blair P. Houghton) (12/17/90)
Here's a simple method we used in college when playing along with Jeopardy on the TV: =========-------- --------========= <--- silver cap +-------+ \ / +-------+ | | \ / | | <--- bakelite button +--+ +--+ X +--+ +--+ | | / \ | | | | / \ | | ----- / \ ----- <--- copper contact / \ A <<-----o o-------- --------o o----->> B <--- 208v 3-phase Have the contestants stand in pools of weak electrolyte solution into which dangle cables connected to phase C of the 208v supply. The quicker contestant will make the contact first, connecting his opponent's button to one of the other phases. If the opponent doesn't shy away instantly, his screams and jumping will tell you who won. This eliminates the need for any Sonalert(TM) or other buzzer-type devices. It also comes in handy for babysitting, thesis defenses, and exams in "weeder" courses. --Blair "We also have a nifty defibrillator design we developed in the same program..." Kollege Hint: dormitory common-area kitchens with electric ranges will have a 208v 3-phase outlet behind the stove. If yours is gas, try the laundry room! The dryers should have them. Happy answers!
tuv@pmafire.inel.gov (Mark Tovey) (12/19/90)
touch@dsl.cis.upenn.edu (Joe Touch) writes: > > >RS-latches? JK-flip flops? A whole C-64? Geez, folks, talk about >doing things the hard way!! > >Here's a way thats SIMPLE, CHEAP, AND *SCALABLE* (easy to extend to an >arbitrary number of inputs, if you balance the OR into balanced trees) > Talk about deja-vu! About 20 years ago when I was still in high, I was posed with this same problem by one of the teachers there. One of the local radio stations had a program called Scholastic Tournament in which students from various high schools competed. The teacher at my high school wanted an arbitrator built so that the students on our team could practice. Not having much design experience, I asked my father for help (he was an engineer at the radio station at that time). He came up with a circuit that used Silicon Controlled Rectifiers (SCRs) and a transistor. It has been a long time and I can't remember many details, but I can at least describe how it worked. Any EE worth the cost of the paper his degree is printed on should be able to figure out the fine details of the circuit (I'm a programmer now and my design skills still aren't up to much). The system consisted of a lamp for each person with an SCR connected in series with it. The cathods of all of the SCRs were tied to ground and the side of the lamps not tied to the SCRs were connected together. This lamp common was then tied to a low value resistor which was then connected to B+. At this point things get real hazy. The transistor circuit was used to supply the gate current for the SCRs. It was set up so that if one of the lamps was turned on, the voltage drop across the resistor in series with the lamps would reverse bias the transistor and turn it off. Since the transistor was the source of the gate current for the SCRs, turning it off would prevent any other SCRs from being triggered. Resetting was accomplished by putting a switch in series with the lamp common. Opening this circuit would turn off the SCR that had been turned on and thus turn the transistor back on, allowing another SCR to be triggered. The circuit was very simple and very cheap. Once the transistor circuit was constructed, adding additional players consisted of merly adding another SCR, lamp, switch, and what resistors were required for that portion of the circuit. And try as we might, we could never get a tie. The switching action was fast enough that there never could be a race condition. Eventually the radio station hired me to build one for them as well. For them I also added sound effects. This consisted of two different sonalerts connected to the lamps through diode OR circuits. I connected half of the lamps to one sonalert and the other half to the other sonalert. This allowed a listener at home to be able to determine which team was first. Probably the nicest feeling I had occured a short while back. I was searching across the radio dial for something to listen to and I chanced upon the same radio station broadcasting the same tournament. When a player pressed a button, I could distinctly identify my old arbitrator, still at work twenty years later.