목록분류 전체보기 (6)
Sunny Day
AHB : Advanced High performance Bus AXI : Advanced Xtensible Bus AHB의 주요 문제는 Outstanding Transaction(미해결 트랜잭션이 발행되었지만 응답을 기다리는) 지원이 안되는 것이다. Write는 Response 필수가 아니지만 대부분의 Read는 Response가 필요하다. Response 없이 Outstanding Transaction을 여러 개 발행하면 처리량을 높일 수 있다. AXI는 data 전송의 Duplex 모드를 가능하게 하는 R/W위한 독립적인 채널을 가지고있다. 예를 들어 Dual port SRAM에서 한쪽은 Read 한쪽은 Write 동시에 진행할 수 있다. 마스터가 1개 슬레이브가 1개인 시스템에서는 성능차이가 없고..
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에..

UVM은 검증 환경과 VIP(Verification IP)를 재사용하여 빠른 개발을 가능하게 하는 표준 검증 방법론이다. UVM을 활용하면 다른 팀들과 테스트벤치의 균일성, 호환성, 유지 관리의 유연성/용이성을 보장하여 효율적으로 일하게 도와준다. 그리고 제공되는 Class 들을 이용하여 stimulus과 monitoring 같은 중요한 검증 업무에만 집중할 수 있게 도와준다. System verilog 기반의 Class library set가 있어서 syntax에 맞게 사용해야 한다. UVM의 핵심은 다양한 프로젝에서 쓰일수 있게 API 프레임워크를 활용하여 검증 엔지니어가 modular, reusable, scalable testbench 구조를 쉽고 빠르게 만들 수 있게 하는 것이다. UVM은 OV..

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