CPLD 또는 FPGA의 회로도 설계보다 Verilog 또는 VHDL을 선택하게 만드는 이유는 무엇입니까? 전혀 없으며 프로젝트에서

프로그래밍 가능한 로직에 대한 배경 지식이 전혀 없으며 프로젝트에서 주로 마이크로 컨트롤러를 사용하지만 최근에는 비디오 작업이 필요했고 마이크로 컨트롤러가 너무 느려서 CPLD로 게임을 시작했습니다.

CPLD 만 회로도 설계를 사용하여 좋은 결과를 얻을 수 있었지만 CPLD에 대한 정보를 검색 할 때 VHDL과 Verilog를 사용하여 많은 예제를 보았습니다. 이 언어 중 하나로 내 장치를 정의하고 싶은 것이 무엇인지 궁금합니다. 회로도 설계가 할 수없는 것은 무엇입니까? 그들은 주로 기능에 사용됩니까?

지금까지 CPLD 만 사용 했으므로 FPGA 디자인은 이러한 언어를 사용함으로써 CPLD보다 더 많은 이점을 얻습니까?



답변

회로도 디자인은 상용 모듈 (카운터, 가산기, 메모리 등)을 함께 묶을 때만 유용합니다. 그러나 실제 알고리즘 (예 : 암호화 해싱 알고리즘)을 구현하는 것은 HDL (VHDL 또는 Verilog와 같은) 없이는 거의 불가능합니다. 왜냐하면 회로도 기호가있는 행동 수준에서 시스템을 설명 할 방법이 없기 때문입니다.

대부분의 프로젝트는 손으로 합성하기가 너무 복잡하여 로직 프리미티브를 개략적으로 사용하기 때문에 행동 스타일 HDL로 수행됩니다.

CPLD는 일반적으로 글루 로직에 사용되며 처리에는 덜 사용되며 일반적으로 로직은 개략적으로 구현하기 쉬우므로 FPGA 기반 디자인이 HDL을 사용하면 더 많은 이점을 얻을 수 있다고 제안 할 때 적절하다고 생각합니다.


답변

Jay의 탁월한 답변 외에도 몇 가지 실용적인 측면 :

  • 버그. 회로도 도구는 나머지 도구 세트보다 버그가 많은 * 경향이 있습니다. 이는 업계의 회로도보다 Verilog / VHDL을 선호하기 때문일 수 있으므로 소프트웨어 개발자는 회로도 입력에 덜 관심을 기울입니다.
  • 속도. 회로도를 합성 도구로 전달하기 전에 먼저 HDL로 변환해야합니다. 이는 빌드 시간에 부정적인 영향을 줄 수 있습니다. 어떤 이유로 검사해야 할 경우 생성 된 HDL을 읽을 수 없을 수도 있습니다.
  • 이식성. 사용 된 공급 업체 특정 프리미티브의 양에 따라 Verilog 및 VHDL은 장치간에 어느 정도 이식성이 있습니다. 포팅 회로도는 모든 것을 다시 그리거나 제공된 가져 오기 / 내보내기 기능 (있는 경우)에 의존해야합니다.

Xilinx ISE에서 가장 좋아하는 버그는 수직 와이어를 선택할 수 없다는 점입니다.


답변

Entry 디자인 입력 표준으로서 HDL (하드웨어 설명 언어)의 많은 장점이 있습니다.

기능에 대한 설명은 더 높은 수준에있을 수 있으며, HDL 기반 디자인은 선택한 기술에 대한 게이트 수준 설명으로 합성 될 수 있으며, HDL 디자인은 게이트 수준 넷 목록 또는 회로도 설명 및 HDL보다 이해하기 쉽습니다. 강력한 유형 검사로 인한 오류를 줄입니다.

하드웨어 설명 언어 VHDL 및 Verilog는 동시성, 타이밍, 계층 구조, 구성 요소 재사용, 상태 동작, 동기 동작, 비동기 동작, 동기화 및 고유 병렬 처리와 같은 기능을 포함하여 더 높은 추상화 레벨에서 모델링 할 의도로 하드웨어를 모델링하기 위해 설계되었습니다. .

설계 설명을 특정 프로세스 및 게이트 구현에 매핑하여 합성하는 동안 문제가 발생합니다. 이를 위해서는 HDL의 고급 기능을 사용할 수 없어야합니다. “합성 가능한 Verilog / VHDL”을 생성해야합니다.

따라서 합성을위한 HDL과 시뮬레이션을위한 HDL이 있으며 합성 가능한 서브셋은 도구마다 다릅니다.

동작 설계 설명에서 넷리스트 / 레이아웃으로 이동할 수 없습니다. 그러나 서로 비교할 수있는 합성 가능한 측면을 가진 동작 구성 요소를 갖도록 디자인을 구성 할 수 있습니다. 동작으로 시작한 다음 일단 작동하면 합성을 위해 다시 작성합니다 (일부 항목 임). 당신은 일반에서 특정으로 이동하고 그 과정에서 테스트 벤치를 구축합니다.


답변

또 하나의 장점은 HDL이 표준 버전 제어 시스템에서 사용될 수 있고 변경 사항을 검사하기 위해 다른 점에서 일반 프로그래밍 언어와 동일한 이점을 모두 얻을 수 있다는 것입니다.


답변

이미 언급 한 것 외에도 텍스트 표현은 특히 대규모 프로젝트에서 훨씬 더 관리하기 쉽습니다. 합성 할 수있는 HDL을 회로도로 변환 할 수는 있지만 수백 가지의 도식 요소보다 수백 줄의 일반 텍스트 작업이 더 쉽습니다.


답변