[Digital design] Latch based Static Timing Analysis

소개 Latch-based design is used in digital semiconductor design. Compared to Flip-Flop-based design, it offers the advantage of reduced transistor count,...

[Digital design] Latch based Static Timing Analysis

소개

Latch-based design is used in digital semiconductor design.

Cell Transistor count
D Latch 12~16
D Flip-Flop 18~32

Compared to Flip-Flop-based design, it offers the advantage of reduced transistor count, which impacts power and area. A key benefit of latches is timing flexibility through time borrowing. However, Flip-Flops are more commonly used because they operate only on clock edges, providing the following advantages:

  1. Robustness against glitches.
  2. Easier pipeline design.
  3. Simpler block boundary design.

Thus, if (1)~(3) can be effectively managed, latch-based analysis can gain traction in high-speed designs.

Part 1: Differences and Basic Concepts of Latch and Flip-Flop

Latch-based design offers advantages over Flip-Flop-based design, such as reduced die size and timing flexibility through time borrowing. However, the level-sensitive nature of latches complicates Static Timing Analysis (STA), particularly in hierarchical designs, where timing closure presents additional challenges.

Comparison of Latch and Flip-Flop Operation

  • Latch: Level-triggered, becoming transparent when the enable signal is at the active level (high for positive-level latch, low for negative-level latch). Data passes from D input to Q output, and the last value is held when the enable signal is deactivated.
  • Flip-Flop: Edge-triggered, capturing data on the rising or falling edge and holding it until the next edge.

Timing Analysis Basics

  • Launch Latch: Begins launching data on the rising edge and continues until the falling edge.
  • Capture Latch: Captures data based on the clock level.
  • Waveform Analysis: For a positive-level latch, it becomes transparent when the clock is high, passing data, and holds data when the clock goes low.

Summary

To meet the setup time condition for a Flip-Flop, data must arrive before the clock edge.

Latch requires data to arrive during the Clock's Enable.

Example: Three Latches Connected in Series

Consider a circuit with three sequential cells (L1, L2, L3) connected in series, controlled by the same clock.

  • L1, L3: Flip-Flop
  • L2: Latch

The clock period is 20ns with a 50% duty cycle.

  • Clock is High from 0-10ns.
  • Clock is Low from 10-20ns.

Data Propagation

At t = 0ns (Rising Edge): L1 becomes transparent, and L1’s D data propagates through combinational logic to L2’s D input.

  • L1 → L2 delay: Assumed to be 24ns.
  • L2 → L3 delay: Assumed to be 5ns.
  1. At 24ns, data is transferred from L1 to L2. Since the clock is High from 20-30ns, the latch receives the data without issues. (In a Flip-Flop design, this would cause a setup violation as the 20ns active edge is missed.)
  2. At 24ns, L2 begins launching data, and L3’s next active clock edge is at 30ns. The data must arrive within 30-24ns = 6ns to meet the clock requirement. (In a Flip-Flop design, data is assumed to launch at 20ns, requiring 30-20ns = 10ns.)

In this scenario, the delay from A to B is very long, while the delay from B to C is short. In a Flip-Flop design, this results in a setup violation, but a Latch design avoids this violation.

글 참여 도구

공유하기 토론 참여
이 글이 어떤 도움을 줬나요? 공개 숫자 없이 품질 개선 신호로만 사용합니다.

비공개 제보

오류나 추가 설명이 필요한가요?

공개 토론 대신 편집자에게 직접 보낼 수정·질문·다음 글 요청을 남겨주세요.

VLSI Korea

비공개 제보 보내기

작성한 내용은 [email protected]로 전달됩니다.

어떻게 받을까요?

익명 모드는 이름과 이메일을 보내지 않습니다. 다만 전송 서비스가 IP 등 기술 정보를 처리할 수 있어 절대적인 익명성을 보장하지는 않습니다.

ENGINEER DISCUSSION

현장에서는 어떻게 보고 계신가요?

동의, 반론, 보완 자료와 현업 경험을 남겨주세요. 답글 알림이 다시 토론으로 연결됩니다.

VLSI KOREA BRIEFING

매일, 중요한 신호만.

반도체 설계와 산업의 변화를 현직 엔지니어 관점에서 정리합니다. 무료이며 페이월이 없습니다.

FOR BUSINESS

이런 기술 콘텐츠가 필요하신가요?

기업용 기술 콘텐츠, 스폰서드 딥다이브, 사내 브리핑을 명확한 범위와 가격으로 진행합니다.

협업 방식·가격 보기 →
VLSI Korea Free forever · No paywall · Weekly semiconductor insights from practicing engineers
MY VLSI

내 읽기 보관함

저장한 글과 읽던 글을 한곳에서 이어보세요.