만든 것과 차이를 동작 의미로 잇는 결
무엇을 만들어 봤는지부터 짧게 말씀드리면, 간단한 카운터와 상태를 가지는 작은 제어 회로를 직접 기술해 본 경험이 있습니다. 거기서 두 대입 방식의 차이를 몸으로 알았습니다. 두 방식의 핵심 차이는 대입이 차례로 즉시 반영되느냐, 한 시점에 동시에 반영되느냐입니다. 순차 대입은 한 줄을 처리하면 그 값이 바로 다음 줄에 쓰입니다. 그래서 조합 논리처럼 즉시 계산되는 동작을 적을 때 의도와 맞습니다. 동시 대입은 그 시점 입력값으로 다 같이 계산해 동시에 갱신합니다. 그래서 클록에 맞춰 한꺼번에 바뀌는 순차 회로를 적을 때 실제 하드웨어와 맞습니다. 제가 카운터에서 동시 대입을 써야 할 자리에 순차 대입을 썼다가, 시뮬레이션은 되는데 실제 동작이 어긋난 경험이 있어 그 차이가 또렷이 남았습니다. 정의를 외우기보다, 어디에 무엇을 써야 의도한 하드웨어가 나오는지가 핵심입니다. 다만 세부 시뮬레이션 규칙까지 다 안다고는 못 한다는 한계는 둡니다. 핵심은, 나열·정의가 아니라 두 대입이 어떤 회로에 맞는지 동작 의미로 잇는다는 점입니다.