EDA(Electronic Design Automation) 툴 개발 경험에 관하여....

ronnie의 이미지

이곳에 들어와서 가끔은 유용한 정보도 얻고 가끔은 혼자 웃는 관람객입니다.

이곳을 애용하시는 분들은 주로 소프트웨어 엔지니어분들 같은데...
혹시 제목과 같이 EDA(Electronic Design Automation) 툴, 예를 들면
반도체 칩 설계시 사용되는 Front-End, Back-End 툴과 같은 일종의 소프트웨어
개발에 직/간접적으로 참여하셨거나 혹은 관련 지식이 있으신 분들의 경험담을 듣고 싶습니다.
제가 이러한 질문을 드리는,

첫번째 이유는 이러한 툴 개발과 관련된 프로그래밍 분야의 이름을 정확하게 알고 싶어서이며,
(시스템 프로그래밍 인가요 혹시??)
두번째는 이러한 툴 개발에 경험있는 소프트웨어 엔지니어분의 글을 찾고 있는데.. 이곳에서는
EDA 툴과 관련된 글을 찾지 못해서 있습니다.

jachin의 이미지

FPGA 프로그래밍 방법을 아신다면,
EDA 프로그램의 제작에 대해 이해하실 수 있으리라 생각합니다.
프로그램 도구는 대부분 C와 그래픽 라이브러리를 기반으로 합니다.
Verification 부분에서 그래픽 라이브러리와
검증을 위한 알고리즘을 개발하여 보급하고,
FPGA 프로그래밍 부분은 JTAG 인터페이스에 맞추어
FPGA의 Netlist를 내부에 전달합니다.

회로의 채널을 연결하는 NetList 부분에 대한 정보를 알면,
FPGA 프로그래밍 툴을 만드실 수 있습니다.
물론 그것만이 아니라, HDL 언어를 분석하고,
검증하기 위한 시뮬레이터와 검증된 Logic을
NetList로 변환하는 프로그램이 필요합니다.

OpenCores.org나 유럽지역에 있는 EDA 개발회사들 사이트를 찾다보면,
관련된 내용에 대한 정보를 얻을 수 있을겁니다.

====
( - -)a 이제는 학생으로 가장한 백수가 아닌 진짜 백수가 되어야겠다.

inhosens의 이미지

반도체 칩 설계 회사에 근무하는 입장에서 말씀드리자면
질문이 모호해서 답글을 피하고 있었습니다.
jachin님이 잘 설명해 주시긴했지만 칩설계에 관련된 EDA툴은 한두가지가 아닙니다.

일단 원하시는 내용이 gEDA에 있나 확인해보시는게 나을 것 같습니다.

http://www.gpleda.org/index.html

greenufo의 이미지

어떤 툴들이 있고 어떻게 사용되는 지는 아래문서에 (좀 오래됐군요)
보시면 대략 overview를 하실수 있을 것 같습니다.

http://www.steveduncan.net/edabasics.pdf

질문하신 내용이 만약 EDA소프트웨어를 개발하기 위해 어떤 능력들이
필요한지에 관한 것이라면, 너무 답이 광범위해지기는 합니다만,
기본적으로 EDA는 반도체가 만들어지는 과정에 대한 engineering 지식과
computer자원을 효율적으로 효과적으로 사용하기 위한 기술의 조합이라고
할 수 있습니다.
위문서에 나와있는 여러가지 툴 또는 시스템들은 각자 요구되는 기능이나 성능때문에
각각 서로 다른 조합의 computer science 지식을 요구하게 됩니다.

대략 여기저기 많이 사용되는 일반적인 항목들을 보면,

compiler design
GUI programming
data modelling (대용량 설계 데이터를 효과적으로 표현하는 방법)
matrix solving
physical device (transistor) modeling
numerical analysis
placement & routing algorithms
polygon processing
parallel programming (multithreaded, distributed..)
scripting language handling
...

등등등 쓸수 있는건 다 쓰는거 같습니다. 그래서,

> 첫번째 이유는 이러한 툴 개발과 관련된 프로그래밍 분야의 이름을 정확하게 알고 싶어서이며,
> (시스템 프로그래밍 인가요 혹시??)

에서 처럼 어떤 프로그래밍 분야라고 말하기는 적당해 보이지 않습니다. 그냥,
주어진 문제를 풀거나 개선하기 위해서 computer로 할 수 있는 모든 방법을 사용하거나,
방법이 없다면, 새로운 방법을 연구해서 만들어 내거나 하는 일입니다.

대신 어떤 특정 tool로 국한한다면, 예를 들어 circuit simulator라거나, HDL synthesis
등을 개발할때 주로 사용되는 기술이 무었인가요 라고 물으면 원하시는 답변이
더 쉬울것 같습니다.

ronnie의 이미지

가끔 이곳에 와서 여러 엔지니어분들의 이야기를 읽기는 하였지만
이렇게 직접 질문을 올린 것늠 이번이 처음입니다.
그런데 저의 질문이 다소 모호함에도 불구하고 이렇게 유용한 댓글을 달아주시니
이곳에 글을 올리길 잘했다는 생각이 듭니다.

질문의 범위를 좀 더 좁히면 다음과 같습니다.
사실 저도 전자공학과 분야를 공부하였고 관련 분야(반도체 섥계)에서
일을 하였는데, 다음과 같은 궁금증이 있습니다.

1. 여기에 방문하시는 소프트웨어 엔지니어 분들 중에서 혹시 CAD tool
개발에 직접 참여하고 이를 상품화한 경험이 있으신 분들이 있는지요?
혹시 가능하다면 경험담(아무 이야기라도..)을 듣고 싶습니다.

2. 여기에 방문하시는 소프트웨어 엔지니어 분들은 CAD tool 개발에 대하여
어느 정도 매력을 갖고 계신지도 알고 싶습니다. 만약 여러분에서 선호하는
소프트웨어 개발 분야를 선택하라면 CAD tool 개발은 어느 정도의 선호도인가요?

3. 우리나라에는 CAD tool 개발하는 회사(그리고 엔지니어)가 아주 적은것으로
알고 있는데요. 이에 대한 여러 고수분들의 의견도 듣고 싶습니다. (예를 들면
무엇때문에 CAD tool 개발 분야가 활성화되지 못한것인지 등등...)

적어 놓고 보니 댓글이 아닌것 같습니다.... 처음이라서..

ronnie의 이미지

가끔 이곳에 와서 여러 엔지니어분들의 이야기를 읽기는 하였지만
이렇게 직접 질문을 올린 것늠 이번이 처음입니다.
그런데 저의 질문이 다소 모호함에도 불구하고 이렇게 유용한 댓글을 달아주시니
이곳에 글을 올리길 잘했다는 생각이 듭니다.

질문의 범위를 좀 더 좁히면 다음과 같습니다.
사실 저도 전자공학과 분야를 공부하였고 관련 분야(반도체 섥계)에서
일을 하였는데, 다음과 같은 궁금증이 있습니다.

1. 여기에 방문하시는 소프트웨어 엔지니어 분들 중에서 혹시 CAD tool
개발에 직접 참여하고 이를 상품화한 경험이 있으신 분들이 있는지요?
혹시 가능하다면 경험담(아무 이야기라도..)을 듣고 싶습니다.

2. 여기에 방문하시는 소프트웨어 엔지니어 분들은 CAD tool 개발에 대하여
어느 정도 매력을 갖고 계신지도 알고 싶습니다. 만약 여러분에서 선호하는
소프트웨어 개발 분야를 선택하라면 CAD tool 개발은 어느 정도의 선호도인가요?

3. 우리나라에는 CAD tool 개발하는 회사(그리고 엔지니어)가 아주 적은것으로
알고 있는데요. 이에 대한 여러 고수분들의 의견도 듣고 싶습니다. (예를 들면
무엇때문에 CAD tool 개발 분야가 활성화되지 못한것인지 등등...)

jonghyun의 이미지

예전에 디지털시스템설계쪽으로 공부도 하고 일도 했었는데,
지금은 아무것도 안하는 백수의 대답이 도움이 될런지는 모르겠네요..
일단 EDA 툴 범위가 너무 넓어서...
제가 알기로는 CAD Tool을 개발하는 국내 회사는 없는 또는 없을(?) 것 같구요.
Back-End 부분에서 P&R과 관련된 알고리즘을
서울대 최기영 교수님 쪽에서 연구를 하셨던 걸로 기억합니다.
그리고 전반적인 툴을 서울대 하순회 교수님쪽에서 개발을 시도했던 걸로 기억하구요.
한 번 이 두 연구실에 문의 해보심이 어떨까 생각됩니다.

ronnie의 이미지

먼저 유용한 정보 고맙습니다. 아무래도 우리나라는 EDA tool 개발 분야가
아직은 낯선것 같습니다.... 이곳을 방문하시는 여러 고수님들이 힘을 합치면
가능할것도 같은데...

제가 생각하기에 옛날과는 달리 요즘 칩 설계 분야도 소프트웨어에 대한
의존도가 높아져서 오히려 반도체 분야를 모르더라도 소프트웨어에 대한
지식과 경험이 많으면 쉽게 접근할 수 있을것이라 생각합니다.

하지만 여러 소프트웨어 엔지니어들에게 EDA tool 개발 분야는 그리
매력적인 분야가 아닌것 같습니다. 그 이유는 잘 모르겠지만요...

앞으로 차츰 나아지겠죠.

jachin의 이미지

매번 답변을 남기는 입장이라,
가끔 알 수 없는 질문을 하시는 분들께서
왜 그런 질문을 하셨는지 궁금할 때가 있습니다.

무슨 이유로 질문하셨는지 말씀해주실 수 있으신가요?
====
( - -)a 이제는 학생으로 가장한 백수가 아닌 진짜 백수가 되어야겠다.

ronnie의 이미지

제가 이런곳에 글을 쓴 적이 없어서리 조금은 망서려지는데요..
질문의 이유는 따로 없습니다. 이유라고 굳이 말하면 질문의
내용과 동일합니다.

다만... 좀 더 내심을 들여 보이면 EDA tool 개발에 관심이
많은데요. 물론 제 주위에 순수 칩 설계분야의 아는 엔지니어들은
많이 있지만 여기에 글을 남기는 분들처럼 소프트웨어 분야에
지식과 경험이 많은 분들은 없습니다. 그래서 소프트웨어 분야에
종사하고 있는 여러분들의 EDA tool 개발에 대한 솔직한
의견을 듣고 싶습니다. 그 이유는 제가 그리고 주위에 여러분들과
같은 소프트웨어 개발 분야에 경험이 없기 때문입니다.

언뜻 보기에 여기에 방문하시는 분들은 소프트웨어를 업으로
하시는 것 같은데.. 왜? 그 많은 분야중에서 유독 EDA tool
개발분야에 대해서는 관련 글이 없고 또한 왜? 유독 EDA tool
개발분야에 종사하시는 분들이 거의 없는지를 소프트웨어를 직접
개발하는 여러분의 입장에서 이해하고 싶습니다.

나름대로 이유를 설명하였는데 여전히 이유가 불분명한가요??

익명 사용자의 이미지

EDA tool을 만들려면 C++같은 소프트웨어를 알아야 하는 것이 아니라,
회로 이론이나 maxwell 방정식 같은 이론을 알야야 합니다.
이런 것을 자동으로 풀수 있게 프로그래밍 해 놓은 것들이 시뮬레이터 같은 소프트웨어 입니다.
C++ 같은 것은 단지 프로그램을 만들기 위한 도구인 것이지요.
시뮬레이터와 달리 레이아웃 툴 같은 것을 만든다고 해도 그것들의 특성을 잘 알아야 합니다.
각 레이어들의 특성 및 속성, 레이어들 간의 영향, DRC, LVS,....
즉, 그 쪽 분야에 정통해 있어야 프로그램을 만들 수 있습니다.
그런데, 대부분 그쪽에 정통해 있는 분들은 프로그램을 직접 만드는 일에는 흥미가 없는 것 같습니다(아님 SW관련 재주가 부족하거나).
결정적으로, 만들고 난 후에 돈이 되어야 시작을 하는데 우리나라 여건 상 돈 되기가 어렵습니다.
돈이 될려면 대기업에 팔아야 하는데 대기업은 상당히 보수적입니다.
이미 시장에서 어느정도 검증이 이루어지지 않은 툴을 쉽게 사주지 않습니다.

익명 사용자의 이미지

大家好

익명 사용자의 이미지

20여년간 CAD분야에 매달려온 회사인 것으로 알려져있지요
MyCAD/MyStation... 교육용으로 좀 이용되는 듯합니다

지금 이 회사 site(seloco.co.kr)가 좀 이상하네요. 불여시에서 공격사이트 보고로 나오네요