"FPGA"의 두 판 사이의 차이

크기가 바뀐 것이 없음 ,  11년 전
잔글
잔글 (→‎FPGA 설계와 프로그래밍: 오타 수정)
FPGA의 동작 정의를 위해서 사용자에게 [[하드웨어 기술 언어]] (HDL)나 [[도면]] 설계를 제공하고 있다. 일반적인 하드웨어 기술 언어는 [[VHDL]]과 [[베릴로그]]가 있다. [[전자설계 자동화]] 도구를 사용하면 기술적으로 매핑된 [[넷리스트]]는 생성된다. 넷리스트는 [[배치와 배선]]라고 불리는 작업을 이용한 실제 FPGA에 적합하게 할 수 있으며, 일반적으로 FPGA 회사 자산 배치와 배선 소프트웨어로 수행한다. 사용자는 맵, [[타이밍 분선]]을 통한 배치와 배선, [[시뮬레이션]], 다른 [[검증]] 방법록으로 검증할 것이다. 한번의 설계와 검증과정이 완료되면, (FPGA 회사 자산 소프트웨어를 사용하여) 생성된 이진 파일은 FPGA를 (재)설정하는 데 사용된다.
 
[[어셈블리어]]의 동급으로 비교해서 하드웨어 기술 언어에서 설계의 복잡성을 감소시키는 경향으로 설계의 추상적인 수준으로 끌어올린다. [[캐던시 디자인 시스템]], [[시놉시스]], [[셀록시카]]같은 회사들은 전통적인 하드웨어 기술 언어를 사용하여 가능한것보다 FPGA 설계 주기를 더 빠르게 가능한 병행 모델을 갖는 높은 수준 언어를 조합하는 방법으로 [[시스템C]]를 선전하였다. (라이브러리나 다른 확장이 되는 병렬 프로그래밍를 가지는) 표준 [[C (프로그래밍 언어)|C]]나 [[C++]] 기반의 접근은 [[맨터멘토 그래픽스]]의 캐터펄트 C 도구나 임펄스 가속 기술의 [[임펄스 C]] 도구들이 발견된다. 아나폴리스 마이크로 시스템 ({{lang|en|Annapolis Micro Systems, Inc.}})의 코어파이어 디자인 슈트는 높은 수준 설계 엔트리에 그림형태의 [[데이터흐름]] 접근을 제공한다. [[시스템베릴로그]], [[시스템VHDL]], ([[셀록시카]]로부터) [[헨델 C]]같은 언어들은 동일한 목적을 성취하려고 추구하였지만 생산된 현재의 하드웨어 공학은 더 생산적인것과 생산된 FPGA는 현재의 소프트웨어 공학에 더 접근하는 게 목적이다.
 
FPGA에서 복장한 시스템의 설계를 간단히 하려고 설계 과정을 빠르게 검증하고 최적화한 미리 정의된 복잡한 기능과 회로의 라이브러리가 존재한다. 미리 정의된 회로는 일반적으로 “[[반도체 지적재산 코어|IP 코어]]”라고 불리고 (드물게 자유 라이선스와 일반적으로 사유 라이선스로 공개한) FPGA 제조사와 제 3의 IP 공급자에게서 제공받을 수 있다. 다른 미리 정의된 회로는 (일반적으로 “[[자유 소프트웨어]]", [[GNU 일반 공중 사용 허가서]], [[BSD 사용 허가서]]와 비슷한 라이선스로 공개한) [http://www.opencores.org/ 오픈코어]와 다른 제공 커뮤니티같은 개발자 커뮤니티로부터 제공받을 수 있다.

편집

2,910