목록Digital Design (4)
Sunny Day
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", ..

Reset은 D-FF의 data signal 처럼 setup/hold time의 비슷한 개념이 있다. 이 분석은 async reset 에서 반드시 필요하다. de-assertion하는 동안 Metastability를 방지하기 위해 정해진 margin을 지켜줘야 한다. Recovery Time은 reset이 해제된 후 다음 active clock edge에 필요한 최소 시간이고 Recovery Time은 reset이 clock edge 이후에 reset이 해제될 수 있는 최소 요구 시간이다. Recovery Slack = Data Required Time – Data Arrival Time Data Arrival Time = Clock Network Delay to FF1 + Combination path..
Reset은 시스템 작동을 위한 초기화와 시뮬레이션을 위해 초기화 상태로 강제하기 위한 중요한 요소이다. Reset은 Clock과 동기가 되는지 아닌지에 따라 장단점이 있어서 설계 시 고려하는 것이 필요하다. ASIC 설계는 기본적으로 파운드리에서 제공해주는 Cell library를 사용한다. 그리고 대부분이 기본 FF이 async로 구현되어있다. 하지만 Logic를 설계하는 입장에서는 Reset release의 싱크를 맞추지 않으면 시스템의 Reset 타이밍이 틀어질 수 있다. 그래서 CDC 방법론처럼 Reset도 그룹을 묶어 sync를 관리하고 같은 Reset group이라도 다른 Clock domain으로 바뀌는 경우 Domaing crossing를 거쳐야 한다. Sync Rest 장점 모든 FF에..

설계 시 빠지지 않는 이슈 중 하나인 CDC에 대해 알아보겠다. CDC(Clock Domain Crossing)은 서로 다른 Clock domain간의 데이터 처리 시 사용되며 반드시 고려해야 한다. Clock source 하나를 분주하여 사용한다면 CDC를 고려하지 않지만 업계에서는 시스템 설계 시 다양한 속도의 IP 들에 대해 저전력 설계 및 최적화를 위해서 여러 개의 Clock source를 사용한다. (PNR 과정에서 clock tree 최적화에도 도움이 되지 않을까 추측해본다.) Clock source가 다르면 같은 속도라고 해도 skew가 다를 수 있기 때문에 Metastability에 의해 값을 보장할 수 없다. Metastability란 값이 0인지 1인지 보장할 수 없는 상태로 시스템에 ..