Notice
Recent Posts
Recent Comments
Link
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Archives
Today
Total
관리 메뉴

Sunny Day

FSM State Encoding - One hot vs gray vs binary 본문

Digital Design

FSM State Encoding - One hot vs gray vs binary

wanabi 2022. 7. 2. 16:08

 

Digital Design은 FSM과 Counter만 잘 만들어도 다 설계할 수 있다고도 한다. 중요한 만큼 FSM의 관리 용이성이 중요하다.

그래서 주로 State 관리를 위한 State Register를 만들어둔다. 대부분의 시스템은 State Reg에 저장된 정보를 바탕으로 동작흐름을 제어할 수 있다. 그리고 Control을 위한 State의 Encoding 방식에 따라 속도, 리소스 사용량(Register, Logic), 전력 소비 측면에서 성능에 영향을 준다. 그래서 State Register의 Encoding 방식을 설계 시 고려해야 한다.

 

FSM의 State의 Encoding은 크게 Binary, one-hot, gray 3가지 정도가 대표적이다.

 

 

  • Binary Encoding:  "000", "001", "010", "011", "100"…
  • One-hot Encoding: "000001", "000010", "000100", "001000", "010000"…
  • Gray Encoding : "000", "001", "011", "010", "110"…

Binary Encoding은 벡터 길이를 최소화한다.

One-hot Encoding은 일반적으로 더 빠르고 더 많은 Reg와 더 적은 Logic을 사용한다. 그래서 고속 설계나 Reg가 풍부한 FPGA 설계에서 원핫인코딩이 적합하다.

Gray Encoding은 branch가 제한되거나 없을떄 결함을 줄여준다. (카운터같은 단일 path에서 State 순환 시 좋음)

 

'Digital Design' 카테고리의 다른 글

Reset Recovery & Removal time  (0) 2022.07.02
Sync vs Async Reset  (0) 2022.07.02
CDC & Metastability  (0) 2022.05.17