Sunny Day
Sync vs Async Reset 본문
Reset은 시스템 작동을 위한 초기화와 시뮬레이션을 위해 초기화 상태로 강제하기 위한 중요한 요소이다.
Reset은 Clock과 동기가 되는지 아닌지에 따라 장단점이 있어서 설계 시 고려하는 것이 필요하다.
ASIC 설계는 기본적으로 파운드리에서 제공해주는 Cell library를 사용한다. 그리고 대부분이 기본 FF이 async로 구현되어있다. 하지만 Logic를 설계하는 입장에서는 Reset release의 싱크를 맞추지 않으면 시스템의 Reset 타이밍이 틀어질 수 있다. 그래서 CDC 방법론처럼 Reset도 그룹을 묶어 sync를 관리하고 같은 Reset group이라도 다른 Clock domain으로 바뀌는 경우 Domaing crossing를 거쳐야 한다.
Sync Rest
장점
- 모든 FF에 reset이 clock과 완전히 동기화되어 reset recovery time이 보장되는 것
- sync reset logic은 (특히 D input을 생성하는 로직으로 게이트되는 경우) 더 작은 FF로 합성된다. 그러나 이경우 comb logic이 증가되어 전체 게이트 수는 비슷
- sync reset은 clock edge에서 바로 발생하지 않는 한 글리치의 영향을 받지않음. 내부 조건 집합에 의해 reset이 생성될 경우 sync reset 권장 (clock이 clock edge사이의 logic 글리치를 방지)
단점
- reset assertion에 문제가 있다. reset 신호가 active clock edge에서 캡쳐되지 않으면 assertion이 실패 (or clock이 reset signal 캡쳐하는데 느려짐)
- reset signal을 다른 data signal과 구별 불가능하다. 그러므로 logic 합성에 주의 필요하다. 그렇지 않으면 타이밍 문제로 reset signal이 가장 빠른 경로를 취할 위험이 있다.
- Low power 설계에서 clock이 gating 되는데 여기서는 async reset만 작동한다.
- 빠른 설계 시 sync reset을 처리하기 위해 추가 게이트와 추가 지연의 여유가 없다.
Async reset
장점
- data path가 reset 과 무관하여 고속 설계 시 사용
- clock이 없어도 reset 가능하여 low power 설계 시 사용
- logic 합성을 위한 솔루션 필요없음 (sync reset시 필요)
단점
- de-assertion(reset 해제)에서 문제 발생한다. edge 부근에서 해체되면 Metastability 상태 위험. ex) FF에서 reset이 해제될때 타이밍 차이로 다른 FF가 여전히 reset 상태일 떄 잘못된 동작할 수 있음
- Spurious reset(reset 글리치로 인한 가짜, 의도하지않은 reset ) 가능성
'Digital Design' 카테고리의 다른 글
FSM State Encoding - One hot vs gray vs binary (0) | 2022.07.02 |
---|---|
Reset Recovery & Removal time (0) | 2022.07.02 |
CDC & Metastability (0) | 2022.05.17 |