디지털 회로는 일반적으로 조합(Combinational)  회로와 순차(Sequential) 회로로 나뉜다. 조합 회로는 AND, OR, INVERTER와 같은 논리 게이트들로 구성되며, 부울 연산(Boolean Algebra)을 수행하는 것이 목적이다. 순차 회로는 특정 입력에 동기하여 정보(0 또는 1)를 입력으로 받아들이고, 이와 동시에 가지고 있던 정보를 출력으로 전달하는 역할을 한다. 순차회로로 사용하는 게이트에는 대표적으로 래치(Latch)와 플립플롭(Flip-flop)이 있고, 특정 입력으로는 클락(Clock) 신호가 사용된다. 
  현대의 디지털 회로는 조합회로와 순차회로를 동시에 사용한다. 즉, '클락에 맞추어 정보 저장/방출 → 논리 연산 수행 → 클락에 맞추어 정보 저장/방출 논리 연산 수행 → …' 의 과정을 반복한다. 따라서 회로가 정상 동작하기 위해서는 타이밍이 엄격하게 일치해야 한다. 이는 모든 래치/플립플롭들이 동시에 동작해야 함을 의미하며, 그러기 위해선 클락이 모든 래치/플립플롭에 반드시 같은 시간에 도달해야 한다. 이와 같이 회로 외부로부터 공급받은 클락을 회로 내부의 래치/플립플롭으로 전달하기 위해 배치한 배선(wire)을 클락 네트워크(Clock Network)라고 한다. 클락 네트워크를 합성(Clock Network Synthesis)하는 과정은 회로 설계 과정의 후반부에서 이루어지며, 매우 중요한 작업이다. 클락 네트워크를 어떻게 합성하느냐에 따라 클락 타이밍이 일치하지 않아 회로가 오동작 할 수도 있고, 막대한 배선 사용으로 인해 전력 소모를 부추길 수 있기 때문이다. (클락은 보통 회로 전체 전력의 약 40%를 차지한다) 
  이와 같은 이유로 클락 네트워크 합성 및 최적화는 전통적인 회로 설계에서 매우 중요한 부분으로 연구되어왔다. 더욱이, 최근들어 미세 공정 (14nm 이하) 및 저전압(0.7V 이하) 적용으로 인해 클락을 최적화하는 것이 어려워졌다. 본 연구실에서는 이와 같은 문제점을 염두하고 클락 네트워크 합성법을 연구하여, 새로운 기술이 산업계에 적용되기 이전에 가이드라인을 제시하는 일을 하고 있다.


Clock Network Optimization - Clock Mesh and Crosslink
  
  이상적으로 클락 신호는 모든 래치/플립플롭에 같은 시간에 도달해야한다. 그러나 실제로는 래치/플립플롭의 물리적 위치, 클락 신호를 증폭해주는 버퍼의 제약 등으로 인해 시간차가 발생할 수 밖에 없다. 이를 클락 스큐(skew)라고 하며, 클락 스큐가 심해질 수록 회로가 오동작할 가능성이 높다. 심지어 클락 스큐는 공정, 전압, 온도 변화에 의해서도 영향을 받는데, 이는 설계 당시에는 예측할 수 없는 변수(On-Chip Variation)들이다. 
  공정이 미세화 되면서 클락 네트워크는 OCV에 더욱 민감하게 되었다. 따라서 근래의 회로 설계는 실제 동작시 발생할 수 있는 최악의 스큐까지 계산하고 이를 줄이기위한 클락 네트워크 합성을 수반한다. 이를 위해 제안된 대표적인 기법이 클락 메쉬(clock mesh)와 크로스링크(crosslink)이다. 두 기법은 모두 배선을 추가하여 두 노드를 연결(short) 시켜 클락 타이밍을 일치시킨다는 공통점을 갖고 있다. 본 연구실에서는 각 기법에 대하여 최소한의 배선으로 클락 스큐를 줄일 수 있는 설계법을 연구하고 있다.


Pulsed Latch Based Design
  
  Pulsed latch 기반 디자인은, 기존의 flip-flop 기반 디자인과 다르게, flip-flop 대신 latch를 기억 장치로 사용하고, 클럭 네트워크의 마지막 단에 clock pulse를 생성하는 pulse generator를 삽입하여 latch를 구동한다. Flip-flop은 clock edge에서만 데이터를 캡처하지만 pulsed latch는 clock pulse가 1인 동안 데이터를 캡처하기 때문에 time borrowing 같은 기법을 이용해서 클럭 주기를 최소화할 수 있으며, latch가 flip-flop에 비해 셀 자체에서 소모하는 파워가 적을 뿐 아니라 clock pin의 capacitance도 작기 때문에 pulsed latch 기반 디자인은 flip-flop 기반 디자인보다 약 20% 정도의 dynamic power를 절감하는 것으로 알려져 있다. 본 연구실에서는 pulsed latch 기반 디자인의 설계 플로우를 확립하고 이를 자동화하는 방법과 pulsed latch 기반 디자인을 위한 타이밍 및 전력 최적화 기법들을 연구하고 있다. 세부 연구 주제로는 각 pulse generator들과 그것이 구동하는 latch들의 배치 및 pulse 너비 할당, 그리고 clock pulse를 이용한 time borrowing 등이 있다.