논리 회로를 통해 컴퓨터의 하드웨어를 만들 수 있다.

우리는 프로그래밍을 통해. 프로그램 코드에 논리가 들어가며, 명령어의 집합으로 이를 사용할 수 있다.

그러면 논리를 하드웨어로 만드는 것과 소프트웨어로 만드는 것 사이에 어떤 차이가 있을까?

펌웨어 (firmware) :원래 ROM에 담긴 소프트웨어를 가리키는 용어였지만, 요즘에는 플래시 메모리상에 존재하거나, RAM상에도 존재한다. 따라서 펌웨인 소프트웨어와 펌웨어가 아닌 소프트웨어 사이의 차이가 아주 적어졌다.

큰 마일라 필름 위에 색이 다른 마스킹 테이프를 붙이며 칩을 설계하던 시절이 있었다. 그러나 1979년 [Introduction to VLSI Systems] 라는 책이 나오며, 전자 설계 자동화가 시작되었다. 이후 칩 설계는 소프트웨어 개발이 되었다.

대부분 프로그래머들에게는 사용해야 할 하드웨어가 주어졌지만, 나중에 하드웨어와 소프트웨어를 함께 설계해야할 수도 있다.

초번에 모든 칩의 설계는 설계자가 만들어놓은 완전한 커스텀이었다. 그 후 게이트 배열(gate array)에서는 금속 계층만 커스텀화할 수 있다. 그리고 PROM에 해당하는 직접 프로그래밍 할 수 있는 칩으로 변화했고, 지우고 다시 프로그래밍 할 수 있는 EEPROM에 해당하는 칩도 존재한다.

현대적 FPGA(field-programmable gate array) 플래시 메모리에 해당하는 논리칩이다. 이를 이용해 소프트웨어 로직을 지우고, 다시 프로그래밍할 수 있다. 게다가 저렵하고, 기능이 다양하다. ex) ARM 프로세서 코어가 여러 개 들어있는 큰 FPG 등