[FPGA]

넷리스트(Netlist)란 무엇인가?

Neo Park 2012. 5. 20. 21:52

 

Netlist : circuit synthesis(합성)후 나오는 결과

 

 

회로 설계자들이 원하는 기능을 만족하는 회로를 만들때 사용하는 방법이 HDL(Hardware Description Language) 언어로 구현을 하거나 CAD 툴을 써서 직접 회로를 그리는 방법이다. 이때, HDL 언어를 사용하는 경우는 보통 사람들이 구현하기 쉬운 방법으로 사용하기 때문에 실제 하드웨어에 적용해야 하는 경우(예를 들면 칩으로 구현하는 경우) 회로 합성(synthesis) 과정을 거치게 된다.

 

예를 들면

 

 

c = a + b;

 

 

와 같은 표현은 하드웨어가 알기에는 너무 높은 수준의 언어이다. 따라서 이를 회로적으로 나타내기 위해서는 a와 b를 입력으로 하는 adder(덧셈기)를 하드웨어적으로 표현해야 한다. 결국 회로 합성툴을 사용하게 되면 위 예에서 보여주는 구문은 1비트 입력 2개를 사용하는 덧셈기(adder)로 구성하는 회로의 그림을 보여주게 된다.

 

 

이러한 과정을 circuit synthesis(회로합성) 과정이라고 하고, 입력과 출력 그리고 이들이 사용하는 adder의 형태를 가리켜 netlist라고 한다. 여기서 synthesis 결과는 하나의 화일형태로 나오는데(이를 netlist화일이라고 합니다.)

 

화일 내용에는

 

c = add_1(b, a);

 

 

와 같은 내용으로 표현되게 됩니다. 물론 CAD툴을 사용하는 경우에는 circuit 자체가 netlist 화일로 표현이 된다. 이렇게 만들어진 netlist 화일은 layout 과정을 통해 실제 칩으로 구현 가능한 형태의 circuit netlist을 도출하게 된다

 

 

 

참조:http://blog.naver.com/karakkangsik?Redirect=Log&logNo=130020943125