# Gates; any tricks to share?

1. Feb 16, 2012

### sandy.bridge

Hello all,
Just curious as to whether or not you guys have any tricks to share regarding gates. An example of what I would consider a "trick": connect one of the inputs of an XOR gate to Vcc (Vcc>0) and you have yourself an inverter.

These are the types of things I am looking for. Thanks!

2. Feb 16, 2012

### phinds

A trick that involves using a more expensive component in place of a less expensive component doesn't seem like a trick particularly worth knowing.

3. Feb 16, 2012

### sandy.bridge

Occasionally my professor will ask a question that has to be with only certain gates, and therefore these types of tricks have to be implemented (this is how I found out about altering the XOR into a converter).

4. Feb 16, 2012

### skeptic2

Unless you need an inverter in your circuit and don't have any spare inverter gates but do have an extra XOR gate.

5. Feb 16, 2012

### sophiecentaur

But the result is better that just an inverter. Switch the first input to 0 and it's a non-inverter. So you've got a programmable inverter. WOW.

But, on the whole, there are enough real tricks, using logic gates the right way and achieving all sorts of fancy functions. Having been brought up on high speed logic, I learned to do everything I could with synchronous logic: no hazards or perhaps's if you do it that way.

6. Feb 16, 2012

### skeptic2

Okay, here are a couple.

Take an ordinary inverter, put a 10K resistor in series with the input and a 100k resistor from output to input and you have an analog amplifier with a gain of ten. It's simpler and cheaper than a transistor or an opamp.

Take an OR gate and connect a series capacitor and shunt resistor to ground to input A. Connect a series capacitor and shunt resistor to ground from the output to input B. Now you have a monostable or one-shot that will trigger on a positive going input. The length of the pulse is determined by the capacitor and resistor in the feedback circuit. This is much cheaper and simpler than a 555 timer.

7. Feb 18, 2012

### Mike_In_Plano

Times have have changed alot, but your still faced with getting the product out the door quick or cheap.
Modern circuits have logic levels that are continually being translated. We would use single gate XORs with maybe a resistor to function translating UP, DOWN, normal, and inverting, and I guess if you wanted to, XOR. It kept the quantity usage up on the part, which made things cheaper and more predictable, and it kept the Bill of Material width down, which saved us come manufacturing time.
Now, that function has been replaced by single programmable gates. With a different pin combinations, you can get all manner of functionality from these. Again the object is the same less inventory numbers better flow and a streamlined BOM.

These days, we use a lot of programmable logic, but the idea of putting low speed oscillators on board the chip hasn't caught on. So, I like to make an RC oscillator using two resistors, a capacitor, and three CMOS inverter. The last inverter being simply to sharpen the edges.
Another fun trick is to create PWM DACs using triple CMOS buffers. These have enough umph to make a good analog part. They're also fast. I've constructed an 18bit D/A based on a 96 MHz clock and 10 kHz rate coming out. It was true to it's 18 bits on both DNL and INLtesting

8. Feb 18, 2012

### skeptic2

In 1981 my boss came to me and told me to design a logic circuit that could be programmed for any logic function with a limited number of inputs and outputs. The purpose was to replace a great deal of relay logic that was different for every job.

Nowadays that would not be a difficult job but in 1981 there weren’t many options. The resulting plan was to program the outputs of a PROM for every combination of inputs. The inputs were the address lines and the outputs were the data lines. To do that I needed to derive a Boolean expression for each of the outputs but that wasn’t as hard as it sounds, even for fairly complex logic. I programmed a computer to step though all the combinations and solve the Boolean expressions for each one and send result to a PROM programmer.