Verilog로 회로 설계 시작하기

폭로: 귀하의 지원은 사이트 운영을 유지하는 데 도움이됩니다! 이 페이지에서 권장하는 일부 서비스에 대한 추천 수수료가 발생합니다.


Verilog는 하드웨어 설명 언어 (HDL)입니다. 이것은 프로그래밍 언어와 비슷하지만 완전히 같은 것은 아닙니다. 프로그래밍 언어는 소프트웨어를 구축하는 데 사용되는 반면, 하드웨어 기술 언어는 디지털 논리 회로의 동작을 설명하는 데 사용됩니다. 즉, HDL은 프로세서, CPU, 마더 보드 및 유사한 디지털 회로와 같은 컴퓨터 칩을 설계하는 데 사용됩니다..

Verilog 역사

Verilog는 최초의 현대 HDL 중 하나였습니다. 1960 년대로 거슬러 올라가는 몇 가지 초기 HDL이 있었지만 상대적으로 제한적이었습니다. Verilog (및 가까운 경쟁 업체 인 VHDL)까지 대부분의 회로 설계는 기본적으로 수작업으로 이루어졌으며 공식 하드웨어 설명 언어에 지정된 동작을 초안 회로 기판 청사진으로 변환했습니다..

Verilog는 1980 년대 초반 하드웨어 시뮬레이션 작업을위한 독점적 (폐쇄 소스) 언어로 시작하여 부분적으로 하드웨어 검증 작업을 수행했습니다. (이름은“확인”과“논리”의 조합입니다.) 디자인은 다른 HDL (대부분 HiLo)과 프로그래밍 언어 (대부분 C)의 아이디어를 통합했습니다. 사람들이 언어를 사용하기 시작하면 새로운 하드웨어를 디자인하는 데 사용될 수 있음이 분명했습니다. 이를 위해서는 HDL 모듈의 논리를 물리적 설계로 변환 할 수있는 하드웨어 합성 도구 설계가 필요했습니다..

1990 년, Verilog (Cadence)를 소유 한 회사는 오픈 소스 언어를 사용하기로 결정했습니다. 그들은 Open Verilog International (나중에 VHDL과 동등한 조직과 합병하여 Accellera를 형성 함)이라는 새로운 비영리 조직으로 권리를 양도했습니다. 하드웨어 공급 업체는 자체 목적에 맞게 Verilog를 신속하게 수정 및 확장하여 수십 가지의 약간 호환되지 않는 버전을 만들었습니다. OVI는 IEEE에게 1995 년에 한 언어의 표준화를 요구했다. IEEE는 Verilog 언어의 권위있는 표준기구이며, Accellera는 언어 개발의 주요 동인이다..

Verilog는 지난 30 년 동안 많은 변화를 겪었습니다. 표준화 이전에 Cadence의 각 새 버전에는 많은 새로운 기능이 도입되었습니다. 표준이 IEEE에 의해 채택 된 이후, 2005 년의 최신 3 가지 언어 사양이 있습니다..

Verilog 제품군

핵심 Verilog 언어 외에도 Verilog 제품군에는 두 가지 주요 구성원이 있습니다..

  • SystemVerilog는 완전한 하드웨어 검증 언어를 추가하는 Verilog의 상위 세트입니다..
  • Verilog-AMS는 아날로그 및 혼합 신호 시스템을 설명하기위한 기능을 추가하는 Verilog의 파생 제품입니다..

Verilog 구문 및 예

Verilog의 구문과 구조는 C와 매우 유사합니다. 가장 큰 차이점은 하드웨어 별 세부 정보를 설명하는 구조와 연산자를 포함한다는 것입니다..

Verilog에서 전파 시간 및 신호 강도와 같은 일부 사항은 C와 같은 언어에서는 다루지 않습니다..

다른 것들은 실제로 임시 변수에 임시로 할당 할 필요없이 Verilog에 표시 될 수있는 플립 플롭 (두 개의 변수 값 교환)과 같이 약간 추상화됩니다. 다음 예제에서는 x 및 y 변수의 값이 교체됩니다.

시작하다
엑스 <= y;
와이 <= x;
종료

언어에 대해 약간의 느낌을주기 위해 동일한 멀티 플렉스 프로세스의 세 가지 예가 있습니다. 이들은 모두 두 입력의 신호를 단일 출력으로 결합합니다..

예 : 연속 할당

와이어 아웃;
할당 = sel? a : b;

예 : 절차

재 등록;
항상 @ (a 또는 b 또는 sel)
시작하다
케이스 (sel)
1’b0 : 아웃 = b;
1’b1 : 아웃 = a;
엔드 케이스
종료

예 : If-Else

재 등록;
항상 @ (a 또는 b 또는 sel)
만약에 (sel)
아웃 = a;
그밖에
아웃 = b;

alwayskeyword는 끝없는 루프를 형성합니다. @ () 연산자가 추가되면 명명 된 값이 변경 될 때마다 루프가 한 번 반복됩니다..

Verilog 자료

Verilog는 전통적인 소프트웨어 프로그래밍 언어가 아니기 때문에 리소스에 더 많은 책이 집중되어 있습니다. 하지만 우리는 최고의 온라인 자료를 모았습니다.

온라인 자료

  • 튜토리얼
    • Asic World의 Verilog Tutorial : 특히 엔트리 레벨 튜토리얼이 필요한 사람들에게 유용한 정보입니다. 그러나 끔찍한 디자인을 무시해야합니다..
    • Verilog Primer : Verilog에 대한“사실 만”을 전달하려고하는 4 장의 온라인 설명서입니다. 혼란스러워하는 데 아주 좋습니다.
    • Verilog 소개 : 무료 9 장 코스.
  • 도구
    • VeriPool : Verilog 개발을위한 무료 소프트웨어 도구.
    • Verilog 온라인 시뮬레이터 : 무료 Verilog 통역사.

서적

널리 사용되는 소프트웨어 개발 언어와 달리 Verilog에 대한 온라인 리소스와 자습서는 많지 않습니다. 언어를 배우려면 실제 책을 습득해야합니다.

입문서

이것은 Verilog를 배우기 시작한 사람들을위한 것입니다.

  • Verilog 소개 : 더 나은 “시작하기”책 중 하나.
  • Verilog Design을 사용한 Digital Logic의 기초 : 대학 수준의 과정을위한 교과서로 작성 및 디자인 된 주제 소개. Verilog를 물리적 회로 설계로 변환하기위한 CAD (Computer-Aided Design) 소프트웨어를 통합하고 실제 칩의 실제 작동 방식을 문서화.
  • 예제 별 Verilog : FPGA 설계를위한 간결한 소개 : FPGA는 현장 프로그래밍 가능 게이트 어레이로, 제조 후 프로그래밍 (및 재 프로그래밍) 될 수있는 집적 회로 유형입니다. 이는 ASIC에서와 같이 직접 하드웨어 구현 속도와 소프트웨어 프로그래밍의 유연성을 결합한 것입니다. Verilog를 사용하여 FPGA를 프로그래밍 할 수 있습니다 (실제로 막 시작한 경우 ASIC보다 FPGA에서 설계를 구현할 가능성이 훨씬 높기 때문에 맞춤형으로 제작해야합니다). 이 책은이 주제에 대한 확실한 소개를 제공합니다..
  • 디지털 디자인 (Verilog) : Verilog를 사용한 임베디드 시스템 접근 방식 : Verilog에 대한 입문 정보가 포함 된 또 다른 대학 교과서, 임베디드 시스템 설계에 중점을두고 있습니다. 실제 세계).
  • 디지털 디자인 : Verilog HDL 소개
  • 디지털 디자인 및 Verilog HDL 기초
  • Verilog HDL 합성, 실용적인 입문서
  • Design Second Edition 용 SystemVerilog : 하드웨어 설계 및 모델링에 SystemVerilog 사용 안내서

중급 및 고급 도서

Verilog를 이미 알고 있고 기술 수준을 높이고 싶은 사람들을위한 책.

  • Verilog 및 SystemVerilog Gotchas : 101 일반적인 코딩 오류 및 방지 방법 : 전문가가 되고자하는 중급 Verilog 프로그래머에게 권장되는 책.
  • Verilog Designer ‘s Library : Verilog 개발자를위한 일종의 Verilog 레시피 북.
  • Verilog의 고급 칩 설계, 실용 예제 : Verilog 캐논에 최근 추가 된 것 중 하나 인이 2013 책은 기술 마스터로부터 칩 설계를 심층적으로 살펴본 것입니다.
  • 디지털 로직 RTL & Verilog 인터뷰 질문

System Verilog 관련 서적

  • UVM 입문서 : 범용 검증 방법론에 대한 단계별 소개
  • SystemVerilog for Verification : 테스트 벤치 언어 기능 학습 안내서
  • SystemVerilog 어설 션 및 기능 범위 : 언어, 방법론 및 응용 프로그램 안내서

Verilog의 대안

Verilog는 가장 일반적으로 사용되는 두 가지 하드웨어 설명 언어 중 하나입니다. 다른 하나는 VHDL입니다. 또한 C ++은 HDL 및 HVL로도 사용할 수 있지만 대부분 고급 동작 디자인에만 사용됩니다. 가장 심각한 하드웨어 개발자는 C와 같은 주요 저수준 운영 체제 언어에 능숙합니다..

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map