发明名称 进位产生和传递函数发生器及可逆最优加法线路设计方法
摘要 本发明“进位产生和传递函数发生器及可逆最优加法线路设计方法”公开了一种新型的可逆逻辑门——“ZS”门,以及它的量子线路设计图。该设计图只含有双量子比特受控门和单量子比特门。同时利用该门设计了“进位产生函数和传递函数发生器”(ZSGPD),实现了单个门以零无用输出产生多个进位传递函数。并以该门为基础,设计了“可逆最优化”的两种加法线路结构——量子全加法器(ZSQFA)和量子无等待进位加法器(ZSNWCA)。这两种线路结构实现了可逆门的种类和数量以及无用输出的最小化,最优化。大大降低了运算部件的运行功耗和设计成本。本发明适用于量子系统线路设计和应用。
申请公布号 CN101776934B 申请公布日期 2013.04.24
申请号 CN201010102324.8 申请日期 2010.01.28
申请人 华东交通大学 发明人 周日贵;施洋
分类号 G06F1/02(2006.01)I 主分类号 G06F1/02(2006.01)I
代理机构 南昌市平凡知识产权代理事务所 36122 代理人 姚伯川
主权项 1.一种进位产生和传递函数发生器的设计方法,其特征在于:(1)将量子计算机中可逆的含义与真值表输入输出一一对应联系在一起,设计一种与真值表输入输出一一对应的,能够以单个可逆逻辑门完成量子全加法器加法操作的可逆逻辑门-“ZS”门;所述可逆逻辑门是利用经典计算机中加法器的进位函数和和函数,并充分考虑真值表的一一对应关系而获得的;(2)根据所述“ZS”门,设计含有双量子比特受控门和单量子比特门的量子逻辑线路图,其设计步骤为:①对于所述“ZS”门的第1、第2输入a和b,运用受控非门操作,得到1号线输出<img file="FSB00000961692600011.GIF" wi="135" he="44" />②对于所述“ZS”门的4号线输出,是通过一定变形之后,运用了两个Toffoli门操作所得到的;其中第一个Toffoli门将a、b作为控制比特,将d作为目标比特;而第二个Toffoli门则将<img file="FSB00000961692600012.GIF" wi="105" he="40" />和c作为控制比特,而将第一个Toffoli门输出<img file="FSB00000961692600013.GIF" wi="134" he="40" />作为目标比特,得到最终“ZS”门的4号线输出<img file="FSB00000961692600014.GIF" wi="533" he="48" />③对于所述“ZS”门的3号线的输出;首先做简单的变形,通过两个受控非门的作用将<img file="FSB00000961692600015.GIF" wi="108" he="39" />交换至2线,同时在3线得到输出<img file="FSB00000961692600016.GIF" wi="208" he="63" />从而结合Toffoli门的输入输出性质,将<img file="FSB00000961692600017.GIF" wi="209" he="64" />作为控制比特可以方便的得到3号线输出<maths num="0001"><![CDATA[<math><mrow><mo>|</mo><mi>r</mi><mo>></mo><mo>=</mo><mo>|</mo><mover><mi>bcd</mi><mo>&OverBar;</mo></mover><mo>+</mo><mi>ad</mi><mo>+</mo><mi>ac</mi><mo>></mo><mo>;</mo></mrow></math>]]></maths>④对于所述“ZS”门的1号线,2号线的当前输出进行异或操作,得到输出结果为<img file="FSB00000961692600019.GIF" wi="302" he="45" />将此输出结果与4号线输出进行受控非操作,对此时的结果进行变形,得到“ZS”门的2号线输出为<img file="FSB000009616926000110.GIF" wi="403" he="54" />(3)根据所述“ZS”门,设计一种进位产生函数和进位传递函数产生装置,并且能够实现单个门以零无用输出产生多个进位传递函数,其设计步骤为:改变传统加法器中和函数和进位函数为如下形式:<maths num="0002"><![CDATA[<math><mrow><msub><mi>S</mi><mi>i</mi></msub><mo>=</mo><msub><mi>a</mi><mi>i</mi></msub><mo>&CirclePlus;</mo><msub><mi>b</mi><mi>i</mi></msub><mo>&CirclePlus;</mo><msub><mi>c</mi><mi>i</mi></msub><mo>=</mo><msub><mi>P</mi><mi>i</mi></msub><mo>&CirclePlus;</mo><msub><mi>c</mi><mi>i</mi></msub></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><msub><mi>C</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>a</mi><mi>i</mi></msub><msub><mi>b</mi><mi>i</mi></msub><mo>+</mo><mrow><mo>(</mo><msub><mi>a</mi><mi>i</mi></msub><mo>&CirclePlus;</mo><msub><mi>b</mi><mi>i</mi></msub><mo>)</mo></mrow><msub><mi>c</mi><mi>i</mi></msub><mo>=</mo><msub><mi>G</mi><mi>i</mi></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mi>i</mi></msub><msub><mi>c</mi><mi>i</mi></msub></mrow></math>]]></maths>其中<img file="FSB00000961692600023.GIF" wi="239" he="51" />为进位传递函数,G<sub>i</sub>=a<sub>i</sub>b<sub>i</sub>,为进位产生函数;从而通过S<sub>i</sub>和C<sub>i+1</sub>表达式进行变换,可以得到:<maths num="0004"><![CDATA[<math><mrow><msub><mi>c</mi><mn>1</mn></msub><mo>=</mo><msub><mi>G</mi><mn>0</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>0</mn></msub><msub><mi>c</mi><mn>0</mn></msub></mrow></math>]]></maths><maths num="0005"><![CDATA[<math><mrow><msub><mi>c</mi><mn>2</mn></msub><mo>=</mo><msub><mi>G</mi><mn>1</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>1</mn></msub><msub><mi>c</mi><mn>1</mn></msub><mo>=</mo><msub><mi>G</mi><mn>1</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>1</mn></msub><mrow><mo>(</mo><msub><mi>G</mi><mn>0</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>0</mn></msub><msub><mi>c</mi><mn>0</mn></msub><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0006"><![CDATA[<math><mrow><mo>=</mo><msub><mi>G</mi><mn>1</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>1</mn></msub><msub><mi>G</mi><mn>0</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>1</mn></msub><msub><mi>P</mi><mn>0</mn></msub><msub><mi>c</mi><mn>0</mn></msub></mrow></math>]]></maths><maths num="0007"><![CDATA[<math><mrow><msub><mi>c</mi><mn>3</mn></msub><mo>=</mo><msub><mi>G</mi><mn>2</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>2</mn></msub><msub><mi>c</mi><mn>2</mn></msub><mo>=</mo><msub><mi>G</mi><mn>2</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>2</mn></msub><mrow><mo>(</mo><msub><mi>G</mi><mn>1</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>1</mn></msub><msub><mi>c</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>=</mo><msub><mi>G</mi><mn>2</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>2</mn></msub><mrow><mo>(</mo><msub><mi>G</mi><mn>1</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>1</mn></msub><msub><mi>G</mi><mn>0</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>1</mn></msub><msub><mi>P</mi><mn>0</mn></msub><msub><mi>c</mi><mn>0</mn></msub><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0008"><![CDATA[<math><mrow><mo>=</mo><msub><mi>G</mi><mn>2</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>2</mn></msub><msub><mi>G</mi><mn>1</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>2</mn></msub><msub><mi>P</mi><mn>1</mn></msub><msub><mi>G</mi><mn>0</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>2</mn></msub><msub><mi>P</mi><mn>1</mn></msub><msub><mi>P</mi><mn>0</mn></msub><msub><mi>c</mi><mn>0</mn></msub></mrow></math>]]></maths><maths num="0009"><![CDATA[<math><mrow><msub><mi>c</mi><mn>4</mn></msub><mo>=</mo><msub><mi>G</mi><mn>3</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>3</mn></msub><msub><mi>c</mi><mn>3</mn></msub><mo>=</mo><msub><mi>G</mi><mn>3</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>3</mn></msub><mrow><mo>(</mo><msub><mi>G</mi><mn>2</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>2</mn></msub><msub><mi>G</mi><mn>1</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>2</mn></msub><msub><mi>P</mi><mn>1</mn></msub><msub><mi>G</mi><mn>0</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>2</mn></msub><msub><mi>P</mi><mn>1</mn></msub><msub><mi>P</mi><mn>0</mn></msub><msub><mi>c</mi><mn>0</mn></msub><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0010"><![CDATA[<math><mrow><mo>=</mo><msub><mi>G</mi><mn>3</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>3</mn></msub><msub><mi>G</mi><mn>2</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>3</mn></msub><msub><mi>P</mi><mn>2</mn></msub><msub><mi>G</mi><mn>1</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>3</mn></msub><msub><mi>P</mi><mn>2</mn></msub><msub><mi>P</mi><mn>1</mn></msub><msub><mi>G</mi><mn>0</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>3</mn></msub><msub><mi>P</mi><mn>2</mn></msub><msub><mi>P</mi><mn>1</mn></msub><msub><mi>P</mi><mn>0</mn></msub><msub><mi>c</mi><mn>0</mn></msub></mrow></math>]]></maths>依此类推<maths num="0011"><![CDATA[<math><mrow><msub><mi>S</mi><mn>0</mn></msub><mo>=</mo><msub><mi>P</mi><mn>0</mn></msub><mo>&CirclePlus;</mo><msub><mi>c</mi><mn>0</mn></msub></mrow></math>]]></maths><maths num="0012"><![CDATA[<math><mrow><msub><mi>S</mi><mn>1</mn></msub><mo>=</mo><msub><mi>P</mi><mn>1</mn></msub><mo>&CirclePlus;</mo><msub><mi>c</mi><mn>1</mn></msub><mo>=</mo><msub><mi>P</mi><mn>1</mn></msub><mo>&CirclePlus;</mo><msub><mi>G</mi><mn>0</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>0</mn></msub><msub><mi>c</mi><mn>0</mn></msub></mrow></math>]]></maths><maths num="0013"><![CDATA[<math><mrow><msub><mi>S</mi><mn>2</mn></msub><mo>=</mo><msub><mi>P</mi><mn>2</mn></msub><mo>&CirclePlus;</mo><msub><mi>c</mi><mn>2</mn></msub><mo>=</mo><msub><mi>P</mi><mn>2</mn></msub><mo>&CirclePlus;</mo><msub><mi>G</mi><mn>1</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>1</mn></msub><msub><mi>G</mi><mn>0</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>1</mn></msub><msub><mi>P</mi><mn>0</mn></msub><msub><mi>c</mi><mn>0</mn></msub></mrow></math>]]></maths><maths num="0014"><![CDATA[<math><mrow><msub><mi>S</mi><mn>3</mn></msub><mo>=</mo><msub><mi>P</mi><mn>3</mn></msub><mo>&CirclePlus;</mo><msub><mi>c</mi><mn>3</mn></msub><mo>=</mo><msub><mi>P</mi><mn>3</mn></msub><mo>&CirclePlus;</mo><msub><mi>G</mi><mn>2</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>2</mn></msub><msub><mi>G</mi><mn>1</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>2</mn></msub><msub><mi>P</mi><mn>1</mn></msub><msub><mi>G</mi><mn>0</mn></msub><mo>&CirclePlus;</mo><msub><mi>P</mi><mn>2</mn></msub><msub><mi>P</mi><mn>1</mn></msub><msub><mi>P</mi><mn>0</mn></msub><msub><mi>c</mi><mn>0</mn></msub></mrow></math>]]></maths>依此类推通过以上的变换,设置进位传递函数和进位产生函数,和函数的输出只与进位产生函数和进位传递函数和最低位进位有关即只与P<sub>i</sub>,G<sub>i</sub>,c<sub>0</sub>有关;无需等待高位进位就可以实现量子比特的加法。
地址 330013 江西省南昌市青山湖区双港路
您可能感兴趣的专利