As a future project, we would like to extend our half-adder to a full-adder, which would allow us to add numbers consisting of more than one digit. For example, a half-adder could perform the addition 1 + 0 = 1, or 1 + 1 = 10, but it would take a full-adder to be able to perform 1100101 + 100101.
A full-adder is a half-adder that accepts an extra input, namely the carry digit from another full-adder. Each full-adder is responsible for adding one pair of corresponding digits from the two numbers to be added, and it must add to that the carry bit from the previous full-adder. The full-adder will output the resulting sum bit and carry bit, and the process will continue until all the digits have been added. Such a chain of full-adders is called a ripple carry adder.
Below is a diagram of all the outputs considering all possible inputs. The major change from the half adder design, is the possibility of expressing both green and red fluorescent proteins at the same time. This represent binary 11, or decimal 3. This happens when both inputs and the carry are 1. That is 1 + 1 + 1 = 11.
Although the output complexity seems similar, this a full-adder has the complexity of two half-adders when built electrically. Because of our XOR gate design, it makes it possible to add a third input to the XOR gate without doubling the number of genes needed.
A gene design that makes use of some of the half-adder components can be seen below:
A major challenge in this design, other than its sheer size, would be finding another quorum sensing system which will not interfere with the first. tra is currently standing in, but we do not believe it will work. We would also like to try using a quad-part inverter from the registry to invert the activity of ompR.
Home | Project | Mathematical Modelling | Construction and Testing | Future Work