Verilog는 «검증»과 «논리»라는 단어의 포르만토입니다. [5] 포크/조인 쌍은 Verilog에서 병렬 프로세스를 만드는 데 사용됩니다. 포크/조인 쌍 사이의 모든 문(또는 블록)은 포크에 부딪히는 실행 흐름에 따라 동시에 실행을 시작합니다. 실행은 가장 긴 실행 명령문 또는 포크와 조인 사이의 블록이 완료되면 조인 후에 계속됩니다. 플립 플롭은 다음으로 중요한 템플릿입니다. Verilog에서 D-flop은 가장 간단하며, 실제 하드웨어에 아날로그가 없는 여러 문장(예: $display)이 있습니다. 따라서 대부분의 언어는 하드웨어를 설명하는 데 사용할 수 없습니다. 여기에 제시된 예제는 실제 게이트에 직접 매핑되는 언어의 고전적인 하위 집합입니다. IEEE 1364로 표준화된 Verilog는 전자 시스템을 모델링하는 데 사용되는 하드웨어 설명 언어(HDL)입니다. 그것은 가장 일반적으로 추상화의 레지스터 전송 수준에서 디지털 회로의 설계 및 검증에 사용됩니다. 또한 아날로그 회로 및 혼합 신호 회로의 검증뿐만 아니라 유전 회로의 설계에 사용됩니다. [1] 2009년, Verilog 표준(IEEE 1364-2005)이 SystemVerilog 표준에 통합되어 IEEE 표준 1800-2009가 생성되었습니다.

그 이후, Verilog는 공식적으로 SystemVerilog 언어의 일부입니다. 현재 버전은 IEEE 표준 1800-2017입니다. [2] 같은 시간 프레임케이던스는 아날로그 시뮬레이터 유령 뒤에 표준 지원을 넣어 Verilog-A의 생성을 시작했다. Verilog-A는 독립 실행형 언어를 의도한 것이 아니었으며 Verilog-95를 포괄하는 Verilog-AMS의 하위 집합입니다. Verilog 프로세스를 선언하는 방법에는 두 가지가 있습니다. 항상 초기 키워드입니다. 항상 키워드는 자유 실행 프로세스를 나타냅니다. 초기 키워드는 프로세스가 정확히 한 번 실행되는 것을 나타냅니다. 두 구문 모두 시뮬레이터 시간 0에서 실행을 시작하고 둘 다 블록이 끝날 때까지 실행됩니다. 항상 블록이 끝에 도달하면 다시 일정이 조정됩니다. 초기 블록이 항상 차단되기 전에 실행될 것이라고 믿는 것은 일반적인 오해입니다.

사실, 초기 블록을 처음으로 완료 한 후 종료되는 상시 블록의 특수 사례로 생각하는 것이 좋습니다. Verilog와 같은 하드웨어 설명 언어는 전파 시간 및 신호 강도(감도)를 설명하는 방법을 포함하기 때문에 소프트웨어 프로그래밍 언어와 유사합니다. 할당 연산자는 두 가지 유형이 있습니다. 차단 할당(=) 및 비차단(<=) 할당입니다. 비차단 할당을 사용하면 설계자가 임시 저장소 변수를 선언하고 사용할 필요 없이 상태 시스템 업데이트를 설명할 수 있습니다. 이러한 개념은 Verilog의 언어 의미 체계의 일부이므로 설계자는 비교적 컴팩트하고 간결한 형태로 대형 회로에 대한 설명을 빠르게 작성할 수 있습니다. Verilog의 도입(1984년) 당시 Verilog는 이미 그래픽 회로도 캡처 소프트웨어와 특별히 작성된 소프트웨어 프로그램을 사용하여 문서화하고 시뮬레이션한 회로 설계자에게 엄청난 생산성 향상을 제공했습니다. 전자 회로. Verilog 표준의 별도 부분인 Verilog-AMS는 아날로그 및 혼합 신호 모델링을 기존 Verilog와 통합하려고 시도합니다. SystemVerilog, Verilog 2005(IEEE 표준 1364-2005)와 혼동하지 말고 사소한 수정, 사양 설명 및 몇 가지 새로운 언어 기능(예: uwire 키워드)으로 구성됩니다. PLI는 Verilog에서 C 언어로 작성된 프로그램 함수로 제어를 전송하는 메커니즘을 프로그래머에게 제공합니다. 그것은 공식적으로 완전히 PLI를 대체 하는 최신 Verilog 절차 인터페이스에 찬성 하 여 IEEE Std 1364-2005에 의해 더 이상 사용되지 않습니다.