우선 ASIC과 FPGA의 차이부터 설명하자.

ASIC은 특정 기능을 위해 구현된 칩으로, 제작 단가가 싸지만 제작 후 수정이 불가능하다.

FPGA는 계속하여 수정하며 설계가 가능하다. 그러나 비싸다. (ASIC보다 성능이 떨어질 수는 있다)

ASIC의 설계 단계

image.png

좀 더 쉽게 설명해보자.

  1. 기능 정하고
  2. 베릴로그로 코딩을 짠다. (임의의 input/output을 넣어서 맞게 돌아가는지 확인한다.
  3. synthesis 툴을 돌린다(그러면 behavior code가 structure code로 바뀐다.) → 네트리스트추출 후 시뮬레이션 돌려서 코딩대로 돌아가는지 확인하기
  4. 이를 토대로 layout을 짠다 →네트리스트 추출하기
  5. post layout simulation
  6. 맞게 됐다면 파운더리에 보낸다.

FPGA라면 더 쉽다. 그냥 코딩 짜서 올리면 된다. (나도 이후에 FPGA를 구매해서 갖고 놀아볼 생각이다)

참고로 난 FPGA를 이용하는 것이 앞으로 비메모리 반도체 산업에서 중요하다고 생각한다. 특히 가속화가 가능한 것이 진짜 사기인 것 같다. (소프트웨어보다 하드웨어를 형성하는것이 더 빠르다)

FF와 SRAM을 내부에 가지고 있다.(내가 사용한 DE1SOC는 SDRAM을 가지고 있었다.)