Issn online (2278-8875) print (2320-3765)
阿卜杜勒卡里姆1E .卡维塔夫人2
|
相关文章Pubmed,谷歌学者 |
浏览更多相关文章国际电气、电子与仪器工程高级研究杂志
可逆逻辑是在量子计算中具有广阔应用前景的新兴技术之一。本课题将利用双Peres门、Fredkin门、Toffolli门、DKG门和非门设计一个具有15个运算的16位可逆算术逻辑单元(ALU)。提出了一种基于可逆逻辑门的ALU VLSI结构。ALU是CPU中最重要的组件之一,可以作为可编程可逆计算设备(如量子计算机)的一部分。设计了第一个单比特可逆ALU和第二个单比特可逆ALU,然后将16个单比特可逆ALU级联在一起,将执行LSB操作的ALU的进位作为执行下一个LSB操作的ALU的进位的输入。设计在modelsim Altera 6.6d的Verilog中实现和验证。
关键字 |
可逆逻辑,可逆ALU, MODEL SIM,摩尔定律。 |
介绍 |
众所周知,摩尔定律很快就会失效,因此,在不久的将来,微电子领域将会发生一些戏剧性的事情。随着越来越快、越来越复杂的数字系统的建立,CMOS电路的功耗已成为一个主要问题。 |
Landauer[2]证明了功率损耗是不可逆电路的一个不可缺少的特征,无论电路采用何种技术实现,它都具有信息损耗。 |
同时,Bennett b[3]表明,为了保持电路不耗散任何功率,它必须由可逆门组成。 |
可逆电路(门)具有相同数量的输入和输出,并且输入和输出向量之间存在一对一的映射。因此,输入状态向量总是可以唯一地从输出状态向量重建。由于真正的低功耗电路不可能没有可逆逻辑的概念,各种可逆逻辑的技术和电路最近正在研究中。 |
算术逻辑单元(ALU)本质上是CPU的核心。这允许计算机进行加、减,并执行基本的逻辑运算,如与、或等。由于每台计算机都需要能够执行这些简单的功能,因此它们总是包含在CPU中。ALU是一种组合逻辑电路,它可以有一个或多个输入,只有一个输出。ALU的输出仅依赖于该时刻的输入作为时间的函数,而不依赖于过去的条件。一个简单的ALU的基本形式包括两个操作数输入,一个用于选择所需操作的输入,一个用于输出结果。ALU的复杂性可能因处理器而异。在[1]中,设计了一种可用于一种二进制运算和三种逻辑运算的可逆ALU。目前设计了16位15次操作的ALU。 |
相关工作 |
可逆逻辑单元[7],4位加/减电路[7],4位2补可逆电路[9]的设计,采用可逆逻辑[10]的带有桶形移位器的低功耗ALU控制单元的设计,32位可逆ALU[11]的设计,7运算和算术逻辑单元(ALU),可逆控制单元[12]的设计,9运算可逆逻辑电路领域的相关和最新工作。 |
可逆的盖茨 |
本文电路设计中使用的可逆逻辑门有NOT门[8]、Feynman门[4]、Toffoli门[5]、Fredkin门[6]、Double Peres门[1]和DKG门[7]。 |
非栅极[8]是一个最简单的可逆栅极,是一个1*1栅极。非门如图1所示,其量子成本为零。 |
FEYNMAN GATE[4]可控非(CNOT)栅极是2*2栅极的一个例子。量子成本为1的可逆2*2栅极。如图2所示 |
TOFFOLI GATE [5] 2 cno门3*3可逆门,具有三个输入和三个输出。其量子成本为5,如图3所示 |
FREDKIN GATE[6]是3*3门,将输入(A, B, C)映射到输出(P=A, Q=A'B+AC, R=AB+A'C),量子成本为5,如图4所示 |
双PERES栅极[1]是4*4栅极,量子成本为6。如图5所示 |
DKG GATE[7]是4* 4可逆DKG GATE[6],可以单独作为可逆全加法器和可逆全减法器工作,如图6所示。可以验证与特定输出模式相对应的输入模式是可以唯一确定的。如果输入A=0,则提议的门作为可逆全加法器工作,如果输入A=1,则它作为可逆全减法器工作。 |
提出工作 |
1-BIT-ALU |
建议的ALU是15个操作。它有两部分。当选择线s3为零时,选择双佩雷斯栅极[1]作为电路的基极。这里执行的操作有buffer、AND、OR、NAND、NOR、EX-OR和EX-NOR。第二部分以DKG栅极作为电路的基极,当选择线路s3为1时选择。这里执行的操作是add、increment、2的补数、set、subtract、递减、not和clear。根据各种选择行选择的操作如表1所示 |
当我们将A作为选择线,(B和C)作为输入时,2:1多路复用器使用Fredkin门设计。根据A的值分别为0或1,选择B或C。框图如图7所示。 |
具有15个操作的1bit ALU的设计如图8所示。 |
对于16位ALU的设计,我们级联16个1位ALU,如图10所示。我们需要注意的是,只有第1位必须加1作为增量,2的补位或减数。SET和CLEAR操作也有细微的变化。因此,如图9所示,设计了一个不同的1位alu,并从2位开始级联到16位。它来自图10中的(A1-A15)。图10中的A0是图8所示的电路。 |
仿真结果 |
16位alu设计代码用Verilog编写,在simaltera 6.6d模型上验证的仿真结果如图11、12、13、14所示。 |
图11。前4次操作(AND, NAND, OR和NOR)的结果 |
图11显示了前4个操作(AND、NAND、OR和NOR)的结果。这些操作是根据select行s3- 50选择的,如表2所示。由于无法在同一屏幕中容纳,因此图形在每个4个操作中显示。在目前的工作中,ALU是16位的,有15个操作特征,在现有的工作中,仿真结果和设计最多是8到10个特征。 |
表2显示了根据选择行选择的前4个操作。对两个输入的A和B进行运算,并给出输出。 |
图12显示了第二个4个操作(Buffer- a, EX-OR, Buffer B, EX-NOR)的结果。根据表3中所示的select行s3-s0来选择这些选项 |
表3显示了根据选择行选择的后4种操作。对两个输入的A和B进行运算,并给出输出。可执行的操作有:Buffer- a、EX-OR、Buffer B和EX-NOR。 |
图13。第3个4-运算(ADD, INCREMENT, 2s补,SET)的结果 |
图13显示了第三个4操作(ADD、INCREMENT、2s COMPLEMENT和SET)的结果。根据选择行s3- 50来选择这些选项,如表4所示 |
表4显示了根据选择行选择的第三个操作。操作是在2个输入的A和B上执行的,输出是在这里给出的,考虑ADD和SET操作。 |
图14显示了第四次操作(减法、减量、非、清除)的结果。根据选择行s3- 50来选择这些选项,如表4所示 |
表4显示了根据选择行选择的第四个操作。对两个输入的A和B进行运算,并给出输出。执行的操作有减法、减法、非和清除。 |
结论 |
这个16位可逆Alu是在Verilog中使用modelsim ALTERA 6.6d设计和实现的。本文设计的主要目的是将ALU的功能增加到15位,将宽度增加到16位。为了进一步的研究,该ALU可以扩展到32位和64位,并且还可以添加更多的功能。 |
该设计使用Verilog进行验证,该Verilog具有输入到输出单向功能的约束,如果我们可以使用支持双向功能的工具设计可逆逻辑电路,则可以更好地模拟和分析可逆逻辑结果。 |
参考文献 |
|