Verilog 문법 – case의 종류들

Verilog의 case, casez, casex와 SystemVerilog의 case inside, unique, unique0, priority가 item을 어떻게 비교하고 어떤 logic으로 합성되는지를 simulation과 합성 결과로 정리한다.

Verilog의 case, casez, casex와 SystemVerilog의 case inside, unique, unique0, priority가 item을 어떻게 비교하고 어떤 logic으로 합성되는지를 simulation과 합성 결과로 정리한다.

서로 다른 clock으로 도는 두 영역 사이로 신호를 넘기는 CDC에서 무엇이 깨지는지와 synchronizer, handshake, async FIFO로 막는 방법을 정리한다. FIFO pointer에 쓰는 gray code의 규칙도 함께 본다. SoC 안에서는 CPU, bus, DDR controller, 주변장치, 외부 interface가 저마다 다른 clock으로 돈다.…

setup/hold 위반이 어떤 경로에서 생기고 PD에서 어떻게 고치는지, clock을 늦추면 왜 setup만 풀리는지 정리한다. 이어서 clock을 바꿀 때 mux에 생기는 glitch와 이를 막는 glitch-free clock mux를 RTL로 본다. SoC는 동작 중에 clock을 바꾼다. 전원이 들어오면 PLL이 lock될 때까지 oscillator clock으로…

Clock gating에 쓰는 ICG(Integrated Clock Gating) 셀은 clock을 끊을 때 생기는 glitch를 막으려고 FF 대신 latch를 쓴다. 이 글은 그 구조를 파형과 코드로 보고, RTL에서 latch를 다루는 법을 정리한다. level-sensitive latch는 enable이 열린 동안 D를 그대로 통과시키고, edge-triggered FF는 clock…

Verilog로 FSM을 짜면 상태 값은 어디에 저장될까. 다음 상태는 combinational logic이 곧바로 계산하고, 상태는 clock edge에서 flip-flop(FF)이 한 번 잡아 둔다. 이 글은 그 과정을 latch와 비교해 정리한다. FSM을 처음 배울 때 흔히 떠올리는 그림은 ‘다음 상태가 latch에 잠깐 담겼다가…
오키나와에는 많은 호텔들이 있지만 이번에 소개하고 싶은 곳은 친숙한 이름, Hyatt다. 하야트 리젠시 세가라키 하얏트 리젠시는 오키나와 중부, 온나손에 위치해있다. 공항에서 약 1시간 정도 운전해서 떨어진 위치에 있어서 렌트를 해서 가는 편이 좋지만 공항 버스가 다니는 것도 보긴 했으니 다른…

현업에서 검증 환경을 만들 때는 꽤 꼼꼼하게 보는 편이지만, 그건 도구를 믿는 사람의 꼼꼼함이었다. 시뮬레이터가 찍은 값은 사실로 놓고 내 설계와 테스트벤치만 의심하면 됐다. 지금은 도구 자체가 개발 중이라 용의자 목록의 세 번째 줄이 지워지지 않는다. 6편에서 정직한 도구는 용의자…

우선 이 글을 읽기전에 그래서 합격했냐? 라는 질문에 우선 나는 “불합격 했습니다.” 라고 먼저 결론을 꺼내고 싶다. 하지만 그럼에도 내가 이 기고록을 적는 이유는 무려 8개월에 걸친 컨텍부터 통보까지 어떤 과정들이 있었고 어떤 심정들이 나를 지배했는지. 그리고 과연 그들의 시스템은…

RTL을 짜다 보면 파형 어딘가에 X가 번져 있거나, 숫자가 한 사이클 밀려 있거나, 있어야 할 신호가 끝내 안 올라오는 걸 보게 된다. 그래도 시뮬레이터는 에러도 경고도 없이 끝까지 돌고 정상 종료한다. 고장 난 건 아니다. 내가 짠 회로가 틀렸고 시뮬레이터는…

기회의 나라, 기회의 시장 옛날 미국하면 떠오르는 단어는 아메리칸 드림이다. 기회의 땅이라고 불리는 미국. 그것도 이제 빛이 조금 바래긴 했지만 역시나 성공과 꿈을 위해서 사람들이 가야 할 곳으로 손 꼽히는 곳은 역시 여전히 미국이다. 투자 또한 마찬가지다. 지지부지한 국장을 넘어서…