잉여 리셋 제거로 전력소비와 면적을 절약한다 | 반도체네트워크

죄송합니다. 더 이상 지원되지 않는 웹 브라우저입니다.

반도체네트워크의 다양한 최신 기능을 사용하려면 이를 완전히 지원하는 최신 브라우저로 업그레이드 하셔야 합니다.
아래의 링크에서 브라우저를 업그레이드 하시기 바랍니다.

Internet Explorer 다운로드 | Chrome 다운로드

잉여 리셋 제거로 전력소비와 면적을 절약한다


PDF 다운로드



글/모힛 쿠마르(Mohit Kumar)

 

심층 순차분석이 높은 가치를 갖는 이유


리셋은 하드웨어를 알려진 상태로 강제 초기화 하는 것으로서, 설계 착수 시 또는 오류 복구를 위해 실행된다. 오늘날의 SoC 디자인에서는 리셋 기능을 갖춘 레지스터가 수백만 개 탑재되어 있는 경우도 드물지 않게 볼 수 있다. 유감스럽게도, 이러한 리셋들 중 다수는 불필요한 잉여적 존재들이다. 이 불필요한 레지스터 리셋들을 디자인 내에 그대로 남겨두면 전력소비가 늘어나고 면적이 과도하게 커지며 배선이 혼잡해진다. 하지만 리셋을 사실상 필요로 하지 않는 레지스터가 어떤 것인지 알아내기란 극히 어려운 일이다. 전통적으로, 디자이너는 수작업적인 기법을 이용해 잉여 레지스터를 찾아낸다. 그러나 정말로 필요한 것은 자동화된 접근 방법이다.
잉여 리셋의 문제점
전력효율적인 디자인은 오늘날의 일차적인 설계목표 중 하나이다. 리셋을 갖춘 레지스터에는 보다 큰 기술(Technology) 셀이 요구되며, 이로 인해 디자인에 소요되는 면적과 전력도 증가하게 된다. 레지스터에 리셋 기능이 있는 경우와 없는 경우의 간단한 예를 비교해 보자.
프리셋(preset)과 클리어(clear)를 추가하기 위해서는 3입력 NAND 게이트가 요구되며, 이는 레지스터의 면적과 전력소비를 크게 증가시킨다. 이제 여기에 100만을 곱해보면 리셋이 디자인의 전력 및 면적 증가에 얼마나 커다란 영향을 미치는 지 알 수 있다. 이는 저전력 디자인의 경우 잉여 리셋을 찾아내 제거해야 할 중요한 이유가 된다.


수작업적 기법

잉여 리셋을 찾아내기 위한 일반적인 방법은 시뮬레이션을 이용해 다음의 작업들을 수행하는 것이다.
1. 레지스터에 리셋 값을 강제한다.
2. 이 레지스터 팬아웃에서 콘스탄스한 전파(propagation)를 수행한다.
3. 잉여(Redundant)동작 구간에 있는 레지스터를 찾아낸다.
하지만 이 기법을 위해서는 레지스터를 수 차례 치환해야 하므로 시간이 매우 많이 걸린다. 또 다른 접근 방법은 다음과 같이 X 전파(X-propagation)를 이용하는 것이다.
1. 리셋을 레지스터로부터 반복적으로 제거한다.
2. X 전파 기법을 이용해 디자인의 기능성을 보장한다.
X 전파 기법에서 리셋이 없는 레지스터들은 초기화 되지 않은 상태 X에 있다. 디자이너는 시뮬레이션을 이용해 X가 최종(Primary) 출력에 도달할 수 있는지 여부를 평가한다. X가 출력에 도달할 수 없다면 해당 리셋은 잉여적인 것이다. 하지만 이 기법은 실행시간이 길다는 단점이 있고, 레지스터가 수백만 개 탑재된 SoC에서는 실용적이 못 된다...(중략)

leekh@seminet.co.kr
(끝)
<저작권자(c) 반도체네트워크, 무단 전재-재배포 금지>

X


PDF 다운로드

개인정보보호법 제15조에 의한 수집/이용 동의 규정과 관련하여 아래와 같이 PDF 다운로드를 위한 개인정보 수집 및 이용에 동의하십니까? 동의를 거부할 수 있으며, 동의 거부 시 다운로드 하실 수 없습니다.

이메일을 입력하면,
(1) 신규참여자 : 성명/전화번호/회사명/분야를 입력할 수 있는 입력란이 나타납니다.
(2) 기참여자 : 이메일 입력만으로 다운로드가 가능합니다.

×

회원 정보 수정