.../비메모리반도체

Verilog HDL(Introduction)

JAEHYEOKHO 2024. 7. 24. 22:40

Introduction

 

1990년대, 하드웨어 개발을 위해서는 로직 게이트를 이용하여 회로도를 그려야 했다. 수 많은 게이트 회로를 그리고, 그 기능을 검증하고 하면서 디지털 회로를 설계했다.

 

DSP(digital signal processor)를 내장한 통신 반도체를 개발하는데 사용할 수 있는 DSP IP가 없었다. 여기서 IP는 재사용 가능한 회로라고 이해하면 된다. 예를 들면 arm사는 자체 개발한 CPU인 ARM core IP를 팹리스 회사에 제공하고, 이 IP를 이용하여 삼성전자, 퀄컴 등에서 애플리케이션 프로세서(AP)를 개발한다. DSP 회사인 TI(texas Instruments)나 아날로그 디바이스 등은 DSP를 자체 판매하고, IP는 따로 제공하지 않았다. 따라서 DSP 코어를 자체 개발하기로 하고 프로레서를 기반으로 그 성능을 향상시켜 고성능 DSP를 개발하기로 하였다. 그러나 이미 개발된 프로세서는 모든 회로가 로직 게이트들이 연결된 회로도로 이루어져 있었으며, 이 회로를 분석하는데 많은 시간을 허비해야 했다.

결국, 회로 분석을 포기하고 처음부터 새로운 프로세서를 설계하기로 결정했다. 이렇게 회로도를 그려 설계하는 것은, 설계 및 검증뿐만  아니라 설계의 재사용에도 많은 어려움이 있다. 

인텔 코어2듀오 프로세서의 레이아웃

위 사진은 최근 컴퓨터 구조의 발전 중 가장 큰 변화라고 믿고 있는 인텔 코어2듀오 프로세서의 레이아웃 사진이다. 인텔 코어2듀오 프로세서는 2006년 시장에 출시되었으며, 내부에 두 개의 코어를 내장하고 있다. 코어2듀오는 그동안 단일 코어 기반으로 고성능 프로세서 개발을 시도하는 데 어려움이 있어 그냥 코어를 두 개 넣기로 결정한 것이다. 내장 코어의 수를 하나에서 두 개로 바꾸는데 많은 고민과 선행 연구가 있었지만, 한 번 두 개 코어를 내장하기 시작하더니 계속 코어의 개수는 증가하고 있는 추세이다. 

 

우리가 힘든 일을 혼자 하다가 어려움이 있으면 어떻게 하는가? 당연히 둘이서 하면 된다. 이렇게 당연한 사실이 최근 컴퓨터 구조 발전 중 가장 큰 발전이다. 보통 컴퓨터는 매우 복잡한 기기라고 생각들 한다. 그러나 컴퓨터는 그냥 단순한 주어진 연산을 계속하는 기기일 뿐이다. 즉 컴퓨터 구조의 발전에 있어 어떤 벽에 부딪히면, 그 해답은 우리가 일상생활에서 쉽게 찾을 수 있다. 사실은 현재 컴퓨터에 어떤 문제가 있는지? 어떤 벽에 부딪혀 있는지를 찾아내는 것은 쉽지 않을 뿐이다. 

 

인텔사의 Core2Duo는 약 3억 개의 트랜지스터로 구성되어 있다. 통상적으로 하드웨어 구현에 사용된 게이트 수를 계산할 때 사용하는 2-입력 NAND 게이트를 기준으로 7,500만 개의 게이트가 사용되었다. 인텔의 경우 2년마다 성능이 향상된 프로세서를 출시하고 있다. 7,00만 개가 넘는 게이트를 회로도를 그려 설계하고 향상된 프로세서를 계속 출시하는 것이 물리적으로 가능할까?

 

간단한 FSM(finite state machine)을 설계하는 문제를 풀이하는 데도 20여 분 이상이 걸린다. 그리고 심지어는 틀리기까지 한다. 더욱 힘들게 하는 것은 어디에서 틀렸는지 찾기가 더 힘들다는 사실이다. 즉 하드웨어의 복잡도가 증가하면서 새로운 방식의 설계 방법이 필요하게 되었다. 

 

HDL(hardware description language)는 하드웨어의 동작을 기술하는 프로그래밍 언어이다. 컴퓨터가 우리가 설계하고자 하는 회로의 요구사항을 이해할 수 있도록 프로그램하여 주고, CAD 툴을 이용하여 회로의 설계와 검증을 수행한다. 또한, 하드웨어를 언어로 기술하기 때문에, 회로도로 표현하는 것보다 읽기 편하고 재사용하기도 쉽다.

 

Verilog HDL은 VHDL과 비교하여 문법이 간결하고 편리하여 산업 현장에서 널리 사용되고 있다. CAD 툴 회사들은 하드웨어 디자인의 검증을 위하여 시뮬레이터를 제공한다. 설계자는 시뮬레이션을 통해 신호들의 파형을 확인하여 설계 검증을 수행한다. 또한, 실제 게이트로 회로를 구현해 주는 synthesizer도 제공한다.

 

FPGA 제조사들의 경우, HDL로 설계된 회로를 자사의 FPGA에서 검증하고 구현할 수 있도록 시뮬레이션, 합성, 맵핑, 라우팅, 성능 분석 드을 할 수 있는 툴을 제공한다. Xilinx는 Vivado 툴을 제공한다. Cadence사는 ASIC 설계에 필요한 대부분의 툴을 제공하는 EDA(Electronic Design Automation) 툴 전문 회사이다.

728x90