a) Software simulation=> logic representation을 simulation 하는 것이다.SW simulator을 통해 flexible한 검증이 가능해진다. logic value값(signal값)의 변화를 event로 하여queue와 list를 갖고 SW적으로 스케쥴한다. logic simulator를 통한 simulation은 HW design의 동작simulation에 가장 흔히 사용되는 방법이다.Software simulation은 interpreted-code로 동작하는 방식과 compiled-code로 동작하는 방식이있다.interpreted-code로 동작하는 simulator는 HDL model을 data로 하여, 모델을 실행시킨다.compiled-code로 동작하는것과 비교하면 컴파일 타임이 짧으나 실행시간이 길다.compiled-code로 동작하는 simulator는 interpreted-code 방식보다 컴파일타임이 길지만 실행시간이 짧다.b) Simulation acceleration and diagram=>IC의 크기가 점점 커지면서 SW로의 시뮬레이션이 너무 오래걸리는 문제가 생겨 나오게 되었다.합성 가능한 부분을 HW platform으로 넣어버리고, 나머지와 병렬적으로 시뮬레이션 하게 한다.Hw platform으로 넣으면 simulation event를 HW적으로 처리해서 줄이게 된다.HW로 실행 가능한부분이 많을수록 가속된다.Simulation acceleration은 병렬성의 이점을 활용한 것이다.acceleration 되는 이유는 다음과 같다1)evaluating in parallel2)simulation event 일부를 HW적으로 처리해 event 크기를 줄인다.3)HW는 동작이 zero time이다.* Emulation=>HW적으로 검증하는 것으로, acceleration에서 한단계 더 나아가 workstation에 남아있던 부분들도HW platform으로 mapping한다. 전체 설계가 HW platform으로 mapping된다.*simulation acceleration과 emulation의 공통점 3개=>하나는 디자인 실행을 위해 커스텀 프로세서 어레이를 쓴다.나머지 둘은 병렬성을 얻기위해 FPGA 어레이를 쓴다.re-timing issue나 글리치, race condition과 같은 문제들 해결 못하면 기능검증밖에 안된다.HW 컴포넌트를 SW처럼 스케쥴링하고, 모델링 해야한다.에뮬레이션에서 모델링은 functional, 순서는 가능한데 동작까지는 못따라간다.*에뮬레이션의 정의-워크스테이션에 test 벤치가 없다.(시뮬레이션은있음)-HW 엔진이 Master이다. (시뮬레이션 엑셀러레이션은 워크스테이션이 마스터이고, HW 엔진이 slave이다.simulation acceleration은 clk를 workstation에서 제어한다)c) In-circuit emulation and diagramtargetless emulation은 workstation에서 테스트벤치 input이 없으며 target system도 없다.-테스트벤치는에뮬레이터 안에 들어가서 같이 합성된다.simulation acceleration과 emulation은 간단한 명령으로 모드를 서로 전환할수있기 때문에 정의에 불분명한점이 있다.타겟보드(실제적인 환경)가 없으면 targetless고 있으면 In-circuit 이다.d) Hardware prototype and diagram=>프로토타입은 actual product의 바로 전단계이다. HW prototype은 custom HW를 구성하거나재사용 가능한 HW를 사용하여 시스템의 HW representation을 구성하는 것을 말한다.프로토 타입의 일반적인 tradeoff는 ASIC을 programmable logic으로 대체하여 시간을 절약하는 것이다.e) Compare a) ~ d) with respect to the flexibility.a , b , c , d 오른쪽으로 갈수록 개발비용이 높다.개발 진행율이 높을수록 장치가 커지고, SW적으로 시뮬레이션할 수 있는 속도에서 한계가 오는데,a~b는 인건비가 들었다면, c~d 물리적으로 테스트하는 장비를 사용하는데 있어 비용이 많이 든다.g) Compare a) ~ d) with respect to the performancea , b , c , d----------> 오른쪽으로 갈수록 빠르다.오른쪽으로 갈수록 performance가 증가하지만, 장단점이 있다. c , d는 a, b와 같이 중간 과정을 보기가 힘들다.a, b는 입력을 주면 중간과정을 세세히 볼수있지만, 결과까지의 시간이 오래 걸리고 c, d는 입력을 주면 결과도출이 빨리되지만 중간과정을 보기 힘들다.h) When you would design the high-density and large-capacity memory Chip, which two verification methods are supposed to be selected? And why?고밀도, 대용량의 메모리칩 설계시 2개의 검증방법을 사용한다면 왜 그걸 사용할거냐c와 d를 사용한다. 고밀도, 대용량 메모리일 경우 SW적으로만 수행하면 컴파일하는데만 며칠이 걸릴수 있고,simulation했는데 에러가 생긴다면 다시 수정후 컴파일을 해야한다. HW적으로 verification을 하여 이 문제를 해결한다.I) When you would design the SoC for smart phone, which two verification methods are selected? Explain why.b와 c를 사용하겠다.물론 최종단계에서 프로토타입은 항상 만들어져야 한다. d도 결국엔 사용될것이지만, b와 c가 주가 될 것이다.임베디드 시스템의 개발에 있어 In-circuit Emulation은 프로그래머에게 개발과정에 있어 편의를 제공한다.매년 나오는 스마트폰을 위한 SoC설계시 칩 내부의 모든 IP가 새로운걸로 바뀌진 않는다. 기존에 사용되던 내부 IP와 개선된, 새로 개발된 IP를 같이 연동하여 새로운 버전의 칩이 나오게 된다. 따라서 Simulation acceleration을 통해 기존의 IP들을 HW platform화 하여 SW적인 시뮬레이션의 속도를 올리고, In-circut Emulation을 통해 SoC 설계를 진행한다.2. HDL