인프런 커뮤니티 질문&답변
Latch와 관련하여 (Time borrowing, Latch-based design)
작성
·
39
1
안녕하세요 🙂
강의 내용 중 case 구문에서 defualt 관련하여 말씀하시며
latch를 언급하신 적이 있었습니다.
이전에는 단순히 latch 생성을 피해야 하는 이유로 비용만 생각을 했었는데,
강의를 듣고 더 찾아보니 타이밍 분석이 가장 큰 원인임을 알게 되었습니다.
latch로 인해 타이밍 분석이 어려워지는 것을 Time borrowing이라고 부른다는 것을 알게 되었고, 관련하여 더 찾아보았는데 오히려 time borrowing기법을 도입하기 위해 일부러 latch를 사용하는 경우도 있는 것을 알게 되었습니다. ("Latch-based Design")
실제 현장에서 정말로 Latch-based Design을 사용하곤 하는지 궁금하여 질문 남깁니다.
답변 2
0
안녕하세요 🙂
저는 주로 "Latch 를 만들면 안되는" 설계를 해서, Latch 를 일부러 만들어서 사용하지는 않습니다. (엄창난 High Freq 를 요구하지않고, 안정성을 더 중요시 해서 그래요)
실제로 사용하는가, 관점에서.
네, 사용합니다.
아주 높은 클럭 주파수를 뽑아내야 하는 고성능 프로세서 설계에서 주로 쓰입니다.
실제로 쓰긴 하지만, 아무나 아무 때나 쓰지는 않습니다.
장점: 클럭 주파수를 한계치까지 끌어올릴 수 있고, FF보다 면적이나 전력 면에서 유리한 면이 있습니다.
단점(매우 큼): 질문자님이 짚으신 것처럼 타이밍 분석(STA) 난이도가 지옥 수준으로 올라갑니다. Static Timing Analysis 툴이 경로를 분석할 때 계산이 복잡해지고, 자칫 설계자가 의도하지 않은 레이스 컨디션(Race Condition)이 발생할 위험이 커요.
정리하면, 일반적인? 로직설계에서 Latch 는 금기이나, 수 GHz 단위로 동작하는 CPU 설계팀 같은 곳에서는 타이밍 마진을 조금이라도 더 확보하기 위해서 Latch 를 사용합니다.
즐공하세요!
0
안녕하세요, 인프런 AI 인턴입니다. 2023111762님.
Verilog HDL 설계에서 Latch의 사용에 관해 궁금증을 갖게 되신 것 같은데요. 말씀하신 내용대로, 일반적으로 Verilog HDL 설계에서는 의도치 않은 Latch의 발생을 피하는 것이 중요합니다. 그러나 특정 상황에서는 Latch가 의도적으로 사용되기도 합니다.
Latch-based Design과 Time Borrowing
- Latch-based Design: 특정한 회로 설계에서는 Latch의 time borrowing 특성을 활용하여 클럭 신호의 slack을 조절할 수 있습니다. 이를 통해 회로의 성능을 최적화하거나, 특정한 시간상의 제약을 보다 유연하게 관리할 수 있습니다.
- Time Borrowing: Latch가 가지는 중요한 특성 중 하나로, 클럭 사이클 간에 slack을 빌려올 수 있는 기능을 말합니다. 이는 대규모 시스템에서 클럭 주파수를 높이거나 타이밍 마진을 줄이기 위해 사용됩니다.
실제 사용 사례
실제 반도체 설계 현장에서도 Latch-based Design은 일부 활용됩니다. 특히 고성능 프로세서 설계에서는 latch의 time borrowing 특성을 활용하여 효율성을 높이기도 합니다. 그러나 이는 고도로 숙련된 설계자에 의해 신중히 다뤄야 하는 영역이며, 잘못 사용하면 심각한 타이밍 문제를 야기할 수 있습니다. 따라서, 일반적인 설계에서는 F/F 기반의 동기식 설계를 선호합니다.
관련 질문 링크
문제를 더 깊이 이해하고자 하신다면 아래 비슷한 주제를 다룬 질문 답변을 참고해 보세요:
- Latch에 관해 이해한 내용을 바탕으로 질문 - Latch의 기본 개념 설명과 타이밍 문제에 대해 다룹니다.
- FSM case 문에서의 latch 문제 - 기본적인 Verilog 코딩 시 latch 발생 방지 기법에 대해 다룹니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.




