다층구조 D 래치를 이용한 루프기반 QCA RAM 셀 설계
초록
양자점 셀룰라 오토마타 (QCA)는 디지털 회로보다 낮은 에너지 소비와 작은 회로 크기를 통해 매우 효율적으로 설계 가능한 특징 때문에 많은 연구 단체에서 주목받고 있는 나노기술이다. 메모리는 다양한 회로 설계에 있어 핵심 부품 중 하나로 활용되고 있어 RAM 셀의 설계와 최적화는 QCA 기술에 있어 매우 매력적인 연구 분야 중 하나로 손꼽힌다. 기존에 제안된 QCA RAM 셀들 중 5입력 다수결 게이트를 이용한 RAM 셀들은 선택 입력이 0의 값을 가지면 D 래치에 저장되어 있는 값이 0으로 초기화 되는데, 이로 인해 N × N 형태의 RAM에 이용될 때, 해당 셀에 저장된 값이 의도치 않게 초기화되는 문제가 발생한다. 따라서, 본 논문에서는 입력 셀과 출력 셀을 각각 다른 방향에 배치한 루프기반의 다층구조 QCA RAM 셀 설계를 제안한다. 본 논문에서 제안한 RAM은 신호를 안정적으로 전달하여 데이터의 신뢰성을 향상시킨다.
Abstract
Quantum-dot Cellular Automata (QCA) is a nanotechnology that is attracting attention from the research community because of its low energy consumption and its ability to design more efficiently with smaller circuit sizes. As memory is one of the key components in various circuit designs, the design and optimization of RAM cells is one of the most attractive research areas for QCA technology. Among the proposed QCA RAM cells, the RAM cells using the 5-input majority gate are initialized to 0 when the selection input has a value of 0, which causes the problem that the value stored in the cell is inadvertently initialized when used in N × N type RAM. Therefore, in this paper, we propose a loop-based multilayer structured QCA RAM design that can store three input signals in different directions. The RAM proposed in this paper improves the reliability of data by transmitting signals stably.
Keywords:
quantum-dot cellular automata, random access memory (RAM), multiplexer, D latch, multilayer, nanotechnologyⅠ. 서 론
CMOS는 디지털 회로 설계에서 대부분 사용되고 있는 기술이다[1]. 하지만, 회로의 성능을 향상시키기 위해 CMOS 기반 회로는 더 높은 집적도를 요구하게 되었으며 최근에는 집적도의 증가에 따른 성능 향상의 한계에 봉착하게 되었다. 양자점 셀룰라 오토마타(QCA, Quantum-dot Cellular Automata)는 CMOS와 비교할 때 장점이 많은 차세대 디지털 회로 설계용 나노 기술 중 하나이다. QCA는 전력을 더 적게 사용하고, 빠르며, 밀도도 낮아 안정성이 높아지기 때문에 많은 연구 공동체에서 주목받고 있다[2][3]. QCA의 개념이 [4]에 의해 처음 소개된 이후로 QCA 기반으로 5입력 다수결 게이트 기반 RAM[5]-[7], 멀티플렉서 기반 RAM(Random Access Memory)[8][9], 그리고 저장된 값과 출력 값을 구분한 RAM[10][11] 등이 설계되었다.
메모리는 다양한 회로 설계에 있어 데이터의 읽기와 쓰기가 가능하기에 핵심 부품 중 하나로 언급된다. 그 중, RAM은 내부에 어떤 정보라도 정보 전송에 필요한 시간이 같은 메모리로 항상 같은 곳에서 정보를 저장하거나 검색하는 특징을 가지며, 컴퓨터의 연산속도에 직접적인 영향을 끼치는 핵심 부품이다. 따라서, RAM 셀의 설계와 최적화는 QCA 기술에 있어 매력적인 연구 분야 중 하나로 손꼽힌다[10].
기존에 제안된 QCA RAM 셀들은 크게 세 가지 형태로 분류된다. 첫 번째는 5입력 다수결 게이트를 기반으로 루프 구간을 설계한 형태이다[5]-[7]. 이러한 형태는 대부분 5입력 다수결 게이트의 입력 셀 중 셀 P와 Q(또는 set과 reset)를 추가하여 P와 Q의 조합을 통해 설정 및 초기화 기능을 구현하였다.
두 번째는 멀티플렉서를 두 개를 사용하여 설계하는 방식으로, 한 개는 루프구간을, 다른 하나는 입력부로 사용하여 설계한다[8][9]. 이 회로는 멀티플렉서의 크기에 따라 QCA RAM 셀의 크기를 상당히 축소시킬 수 있다는 장점이 있다.
마지막은 한 개의 멀티플렉서와 5개의 다수결 게이트를 사용하여 설계하는 방식으로, 기존의 방식과는 다르게, 루프 구간에 저장되어 있는 값과 실제 출력 값을 별개로 취급하였다[10][11]. 이러한 방식은 N×N 형태의 RAM을 설계할 때 사용되는 RAM 셀의 특징으로 선택 입력 신호가 0이라면 셀 내부의 신호가 타방식과는 다르게 초기화 되지 않는다. 하지만, 이러한 회로는 불필요한 소자가 포함되어 있으며, 일부 입력 셀의 위치가 잘못 배치되어있어 배선 연결과 회로 확장 시, 신호 안정성이 떨어진다는 결점이 있다.
따라서 본 논문에서는 선택 입력 신호의 값이 0이어도 저장된 값이 초기화되지 않고, 입력 신호를 각각 다른 방향에서 받을 수 있는 루프 기반 다층구조 QCA RAM 셀과 핵심 회로 설계를 제안한다.
Ⅱ. 관련 연구
2.1 기본 소자
QCA 회로의 기본 단위인 양자 셀(이하 QCA 셀)은 네 개의 양자 점으로 구성되어 있다. 그리고 QCA 셀의 내부에는 두 개의 전자가 존재하며, 쿨롱 반발력에 의해 서로 대각선으로 위치한다[12]. 이 전자들은 입력받는 신호에 따라 두 가지 형태의 전자 배치를 하며, 그 형태에 따라 해당 셀은 +1(이진 수 1) 혹은 –1(이진 수 0)의 편극을 가진다.
그림 1(a)는 QCA 셀의 두 가지 배치 형태(편극)를 각각 나타낸다. 또한, QCA 셀은 인접한 셀 간 전자들의 쿨롱 반발력에 의해 같은 편극 상태로 신호가 변하며, 이러한 원리를 사용하여 그림 1(b)와 같이 배선을 설계할 수 있다[13].
그림 2에서는 QCA 셀로 구성된 기본적인 게이트들을 나타낸다. 그림 2(a), 그림 2(b), 그리고 그림 2(c)는 각각 3입력 다수결, AND, 그리고 OR 게이트이다. 먼저, 그림 2(a)의 3입력 다수결 게이트는 세 개의 입력 값 중 두 개 이상의 같은 값을 결과로 출력한다[5]. 또한, 입력 셀 1개의 편극 값을 고정시키면 해당 게이트는 그림 2(b), 그림 2(c)와 같이 OR, AND 게이트로 사용될 수 있다[14].
2.2 다층구조
QCA 회로는 평면구조와 다층구조로 분류되는데, 평면구조는 층을 1개만 사용하는 구조로 같은 층에서 수평과 수직 배선이 겹칠 때, 즉, 교차부 구간이 발생할 때 많은 문제점을 야기한다. 평면구조의 교차부는 일부 불안정한 신호전달이 발생할 수 있으며 다층구조의 교차부는 이 문제점이 해결되나, 높이가 증가함과 동시에 사용되지 않는 공간도 증가한다는 문제점이 있다. 따라서 본 논문에서는 RAM 셀을 확장시켜 새로운 회로를 작성할 때, 교차부가 발생되지 않는 형태로 설계한다.
그림 3(a)는 다층구조 기반의 인버터이다. 세 개의 셀로 구성되어 있고, 두 개의 셀은 인접하게 배치되어 있으며, 한 개의 셀만이 대각선으로 배치되어 있다. 1층에서 2층의 셀로 신호가 전송될 때, 편극은 반전되며, 2층에서 3층의 셀로 신호가 전송될 때, 같은 편극으로 전송된다.
그림 3(b)는 다층구조 기반의 3입력 다수결 게이트이다. 해당 게이트는 그림 2와 마찬가지로 세 개의 입력과 한 개의 출력을 가지며, 기능도 동일하게 작동된다. 추가적으로 다층구조 기반의 AND 게이트 그림 4(a)와 OR 게이트 그림 4(b)는 각각 사용되는 고정 셀의 값이 평면구조의 회로와 정반대이다.
Ⅲ. 제안하는 QCA 회로
3.1 핵심 회로
그림 5(a)는 제안하는 다층구조 기반의 2-to-1 멀티플렉서이다. 멀티플렉서의 출력 OUT의 식은 OUT = AS′+ BS로, 3층의 연산에서 다층구조의 인버터를 사용하여 AS′을, 1층에서 BS를 각각 계산하여 3층의 OR 게이트로 각각의 값을 전송한다.
그림 5(b)는 제안하는 다층구조 기반의 D 래치로, 그림 5(a)의 멀티플렉서에서 출력을 A에, 입력 신호 D를 B에, 그리고 클럭(CLK)을 S에 연결하여 설계한다. 본 논문에서는 데이터 저장 기능을 수행하는 회로로 그림 5(b)를 사용하여 RAM 셀을 설계한다.
3.2 제안하는 RAM 셀
그림 6은 제안하는 회로 논리도로 멀티플렉서와 AND 게이트 2개를 사용하여 설계하였다. 이는 기존에 제안된 논리도에 비해 3개의 다수결 게이트가 감소된 것이며, 따라서 회로에 필요한 면적과 셀 수도 감소될 것으로 기대한다.
기존의 CMOS RAM 셀과 같은 기능으로 동작하는 QCA RAM 셀을 조사하여 두 건의 논문을 파악하였다[10][11]. [10]에서 제안된 셀은 정상적으로 동작하나, 선택 입력 셀이 다수결 게이트에 배치되어 있기 때문에 회로 확장성이 떨어진다. 해당 회로들은 교차부로만 확장할 수 있으며 잘못된 클럭 분배로 인해 신호가 불안정하다.
그리고 [11]에서 제안된 셀은 많은 교차부 사용으로 인해 정상적으로 동작하지 않는 것을 확인하였다. 이에, 본 논문에서는 그림 7을 바탕으로 다층구조 기반의 QCA RAM 셀을 제안한다.
Ⅳ. 분석 및 비교
4.1 기존에 제안된 RAM 셀 분석
그림 8(a)는 Majeed 등이 제안한 회로이다[6]. 5입력 다수결 게이트를 사용하여 루프 구간을 생성하였고, 추가적으로 설정/초기화 기능도 포함되어 있다.
그림 8(b)는 Sasamal 등이 제안한 회로이다. 이 회로는 2-to-1 멀티플렉서를 2개 사용하여 RAM 셀을 구현하였다[9].
그림 8(a)와 그림 8(b)는 설정/초기화 기능이 존재하나, 멀티플렉서를 변형하여 설계한 D 래치의 값이 선택입력에 따라 초기화가 된다는 결점이 존재한다. 따라서, 디코더를 이용해 N×N RAM을 설계할 때, 선택받지 못한 RAM 셀 배열에 저장된 값이 완전히 초기화가 되어 데이터 저장의 기능을 상실함을 의미한다.
그림 8(c)는 Mubarakali 등이 제안하였으며, D래치에 저장된 값과 선택 입력 값을 추가로 AND 게이트에 연결하여 출력 값과 저장된 값을 구분하였다[10]. 이로써, 선택 입력의 값이 0이 되어도 저장된 값이 초기화되지 않기 때문에 위의 문제를 해결할 수 있다. 하지만, 그림 8(c)는 셀의 확장을 고려하지 않아 1×4 RAM을 설계할 때, 교차부를 사용하는 것이 필수조건이다. Mubarakali 등은 이를 2가지 종류의 평면구조 교차부를 사용하여 설계하였기에 신호의 불안정성이 증가하였고 정상적으로 동작하지 않는다.
4.2 제안하는 RAM 셀의 분석과 시뮬레이션 결과
표 1은 디지털 회로에 사용되는 RAM 셀의 진리표이다. 세 개의 입력 신호 Sel, R/W, 그리고 Input을 가지며 한 개의 출력 Out을 가진다. Q는 RAM 셀에 저장되어 있는 값이다. Sel = 0이면 Out은 0을 출력하고, Sel = 1일 때, R/W의 값에 따라 읽기, 쓰기 기능을 한다.
그림 9는 제안하는 회로의 시뮬레이션 결과이다. 실험 도구는 QCADesigner 2.0.3으로 셀의 크기는 18nm, 셀 간 간격은 2nm, 층간 간격은 11.5nm로 가정하였다. 제안하는 회로는 지연시간이 1.75 클럭 사이클로 두 번째 출력 이후에 출력되는 값부터 입력 값을 받는 것으로 판단할 수 있다. 선택 입력 셀인 Sel = 0이면 출력 셀 Out은 0이 출력된다. Sel = 1일 때, 입력 셀 R/W = 0, 즉 읽기 기능을 수행할 때, 래치에 저장된 값인 1을 출력한다. R/W = 1, 즉 쓰기 기능을 수행할 때, 입력 신호인 Input의 값인 0과 1을 차례대로 출력하는 것을 확인할 수 있다.
타 회로들과 달리, 제안하는 회로는 변형된 논리도와 다층구조를 사용하여 데이터를 안정적으로 저장하거나 전송할 수 있다. 기존에 사용된 평면구조 교차부는 2개의 신호가 충돌해서 신호 안정성이 떨어지기 때문에 배선이 겹치는 것을 방지해야 한다. 반면, 다층구조 교차부는 겹치는 두 개의 배선을 다른 층으로 전송시켜 서로의 신호가 충돌하지 않는다. 이를 통해 서로의 신호는 간섭받지 않고 전송할 수 있다. 그 외에도 제안된 논리도(그림 6)로 인해 선택 입력의 값에 따라 저장되어 있는 값이 초기화되지 않는다. 이는 기존에 제안된 회로와는 다르게 데이터가 안정적으로 저장된다는 것을 의미한다.
표 2는 QCA RAM 셀의 성능표로 논리도가 유사한 Mubarakali의 회로를 기준으로 약 34.5%의 셀 수와 66.6%의 면적 축소를 하였고, 그 외의 회로에서도 최소 3%의 셀 수와 33.3%의 면적이 감소된 것을 확인할 수 있다. 다만, 저장되어 있는 값과 출력 값을 구분함으로써, 타 회로에 비해 지연시간이 증가한 것 또한 확인되었다. 그럼에도 불구하고 셀 수와 면적이 축소되었고, 데이터를 안정적으로 저장하거나 전송할 수 있게 되었다. 따라서 지연 시간이 좀 길어진 대신 면적인 측면, 신호 전송의 안정성, 그리고 저장된 데이터의 신뢰성이 더 중요하다고 판단된다.
제안하는 RAM 셀은 분명 다층구조 형태이나, 이전 연구에서는 다층구조 RAM 셀이 없다. 그나마 유사한 논리도를 사용한 Mubarakali 등의 회로와 비교했을 때 면적이 1/3으로 줄어들었다. 따라서, 회로의 높이가 증가하였다고 하여도 면적 부분에서 충분한 강점이 있다고 판단된다.
Ⅴ. 결론 및 향후 과제
기존의 QCA RAM 셀은 입력 셀과 출력 셀의 위치를 고려하지 않았으며, 선택 입력 값에 따라 저장되어 있는 값이 갱신된다는 단점이 있다. RAM 셀은 다른 회로와 연결하여 설계해야 하기 때문에 확장성이 매우 중요하나, 기존의 회로들은 교차부 사용을 강제시키기 때문에 신호전달이 불안정하게 된다. 또한, 다층구조 교차부를 사용 시 평면구조 회로에서 다층구조 회로로 변경되어 사용되지 않는 공간이 발생한다.
본 논문에서는 다층구조 D 래치를 사용하여 입력 셀과 출력 셀을 각각 4가지 방향에 배치시킨 다층구조 QCA RAM 셀을 제안하였다. 새로이 제안하는 논리도를 바탕으로 설계하였고, 이를 통해 회로 축소화를 성공하였다. 또한, 입력 셀과 출력 셀을 1층과 3층에 각각 2개씩, 한 방향에 한 개씩 배치하여 회로 확장 시 배선 간에 교차부를 사용하지 않게 설계하였다. 이를 통해 전체적인 면적과 셀 수를 줄였다.
제안된 멀티플렉서와 RAM 셀은 추후 연구될 RAM 셀 연구에 더 좋은 회로를 설계하기 위한 참고 자료로서 기여할 수 있다. 추가적으로, 본 연구를 바탕으로 RAM 회로를 설계할 때, 평면구조 교차부를 강제적으로 사용하게 되어 신호가 불안정한 다른 회로들에 비해 안정적으로 신호전달을 할 수 있다.
Acknowledgments
이 논문은 2019년도 정부(교육부)의 재원으로 한국과학창의재단(2019년도 학부생 연구프로그램)의 지원을 받아 수행된 연구임.
References
- K. M. Cho and T. K. Kim, "Implementation of an RF-based Traffic Safety Marking System using Arduino", Journal of JAITC, Vol. 7, No. 2, pp. 11-22, Dec. 2017. [https://doi.org/10.14801/jaitc.2017.7.2.11]
- N. Safoev and J. C. Jeon, "A Novel Controllable Inverter and Adder/Subtractor in Quantum-Dot Cellular Automata Using Cell Interaction Based XOR Gate", Microelectronic Engineering, Vol. 222, Feb. 2020. [https://doi.org/10.1016/j.mee.2019.111197]
- S. Erniyazov and J. C. Jeon, "Carry save adder and carry look ahead adder using inverter chain based coplanar QCA full adder for low energy dissipation", Microelectronic Engineering, Vol. 211, pp. 37-43, Apr. 2019. [https://doi.org/10.1016/j.mee.2019.03.015]
- C. S. Lent, P. D. Tougaw, and W. Porod, "Quantum cellular automata: the physics of computing with arrays of quantum dot molecules", Proceedings Workshop on Physics and Computation. PhysComp '94, Dallas, TX, USA, pp. 5-13, Nov. 1994.
- T. Moghimizadeh and M. Mosleh, "A novel design of fault-tolerant RAM cell in quantum-dot cellular automata with physical verification", The Journal of Supercomputing, Vol. 75, No. 9, pp. 5688-5716, Sep. 2019. [https://doi.org/10.1007/s11227-019-02812-x]
- A. H. Majeed, E. AlKaldy, and S. Albermany, "An energy-efficient RAM cell based on novel majority gate in QCA techonology", SN Applied Sciences, Article no. 1354, Oct. 2019. [https://doi.org/10.1007/s42452-019-1330-6]
- S. Kassa and S. Nema, "Energy Efficient Novel Design of Static Random Access Memory Cell in Quantum-dot Cellular Automata Approach", International Journal of Engineering, Vol. 32, No. 5, pp. 720-725, May 2019. [https://doi.org/10.5829/ije.2019.32.05b.14]
- M. Raj and L. Gopalakrishnan, "High Speed Memory Cell with Data Integrity in QCA", 2019 3rd International conference on Electronics, Communication and Aerospace Technology (ICECA), Coimbatore, India, pp. 926-929, Jun. 2019. [https://doi.org/10.1109/ICECA.2019.8821882]
- T. N. Sasamal, A. K. Singh, and U. Ghanekar, "Design of QCA-Based D Flip Flop and Memory Cell Using Rotated Majority Gate", Smart Innovations in Communication and Computational Sciences, pp. 233-247, Jul. 2018. [https://doi.org/10.1007/978-981-10-8971-8_22]
- A. Mubarakali, J. Ramakrishnan, D. Mavaluru, A. Elsir, O. Elsier, and K. Wakil, "A new efficient design for random access memory based on quantum dot cellular automata nanotechnology", Nano Communication Networks, Vol. 21, Sep. 2019. [https://doi.org/10.1016/j.nancom.2019.100252]
- M. Heydari, Z. Xiaohu, K. K. Lai, and S. Afro, "A Cost-Aware Efficient RAM Structure Based on Quantum-Dot Cellular Automata Nanotechnology", International Journal of Theoretical Physics, Vol. 58, No. 12, pp. 3961-3972, Nov. 2019. [https://doi.org/10.1007/s10773-019-04261-x]
- N. Safoev and J. C. Jeon, "Design of highperformance QCA incrementer/decrementer circuit based on adder/subtractor methodology", Microprocessors and Microsystems, Vol. 72, Feb. 2020. [https://doi.org/10.1016/j.micpro.2019.102927]
- J. C. Jeon, "Low Complexity QCA Universal Shift Register Design Using Multiplexer and D Flip-Flop Based on Electronic Correlations", The Journal of Supercomputing, Aug. 2019. [https://doi.org/10.1007/s11227-019-02962-y]
- S. H. Shin, J. C. Jeon, G. J. Lee, and K. Y. Yoo, "Design of Programmable Cellular Automata Using Quantum-Dot Cellular Automata", Journal of Korean Institute of Information Technology, Vol. 12, No. 6, pp. 133-141, Jun. 2014. [https://doi.org/10.14801/kiitr.2014.12.6.133]
2015년 3월 ~ 현재 : 금오공과대학교 컴퓨터공학과 재학중
관심분야 : 양자회로, 블록체인, 인공지능 등
2000년 2월 : 금오공과대학교 컴퓨터공학과(공학사)
2003년 2월 : 경북대학교 컴퓨터공학과(공학석사)
2007년 2월 : 경북대학교 컴퓨터공학과(공학박사)
2009년 3월 ~ 2012년 8월 : 우석대학교 정보보안학과 교수
2012년 9월 ~ 현재 : 금오공과대학교 컴퓨터공학과 교수
관심분야 : 정보보안, 암호학, 암호회로설계, 양자회로설계, 양자프로토콜, 블록체인 등