PLI(현재 VPI)를 사용하면 Verilog가 테스트 하네스, 마이크로 컨트롤러의 명령 세트 시뮬레이터, 디버거 등과 같은 C 언어로 작성된 다른 프로그램과 협력할 수 있습니다. 예를 들어 현재 Verilog 작업 또는 함수의 인수를 작성하고 읽는 데 사용되는 C 함수 tf_putlongp() 및 tf_getlongp()를 각각 제공합니다. Verilog의 `와이어` 개념은 신호 값(4상태: “1, 0, 부동, 정의되지 않음”) 및 신호 강도(강함, 약한 등)로 구성됩니다. 이 시스템은 여러 소스가 공통 그물을 구동 공유 신호 라인의 추상 모델링을 할 수 있습니다. 와이어에 드라이버가 여러 개 있는 경우 와이어의 (가독성) 값은 소스 드라이버의 함수와 그 강점에 의해 해결됩니다. Verilog-2001상용 EDA 소프트웨어 패키지의 대부분에 의해 지원 되는 Verilog의 버전입니다. SystemVerilog, Verilog 2005(IEEE 표준 1364-2005)와 혼동하지 말고 사소한 수정, 사양 설명 및 몇 가지 새로운 언어 기능(예: uwire 키워드)으로 구성됩니다. 이 섹션의 Verilog 예제는 Icarus Verilog 시뮬레이터로 컴파일되었습니다. 당신이 어떤 실수를 발견하거나 더 이상 예를보고 싶은 경우에 알려 주시기 바랍니다. PLI는 Verilog에서 C 언어로 작성된 프로그램 함수로 제어를 전송하는 메커니즘을 프로그래머에게 제공합니다.
그것은 공식적으로 완전히 PLI를 대체 하는 최신 Verilog 절차 인터페이스에 찬성 하 여 IEEE Std 1364-2005에 의해 더 이상 사용되지 않습니다. 당시 VHDL의 성공이 증가함에 따라 케이던스는 개방형 표준화를 위해 언어를 사용할 수 있도록 하기로 결정했습니다. 케이던스는 오픈 베리로그 인터내셔널(OVI)(현재 는 아켈러라) 조직에서 베를로그를 퍼블릭 도메인으로 이전했습니다. Verilog는 나중에 IEEE에 제출되었고 일반적으로 Verilog-95라고 하는 IEEE 표준 1364-1995가 되었습니다. OpenVera와 같은 하드웨어 검증 언어의 출현과 Verisity의 e 언어는 공동 디자인 자동화 Inc.(Synopsys가 인수)에 의해 Superlog의 개발을 장려했습니다. 슈퍼로그와 베라의 기초는 나중에 IEEE 표준 P1800-2005되었다 아켈레라에 기증되었다 : SystemVerilog. Verilog-95에 대한 확장은 사용자가 원래 의 Verilog 표준에서 발견 한 결함을 충당하기 위해 IEEE에 다시 제출되었습니다. 이러한 확장은 Verilog-2001로 알려진 IEEE 표준 1364-2001이되었다.
Verilog 프로세스를 선언하는 방법에는 두 가지가 있습니다. 항상 초기 키워드입니다. 항상 키워드는 자유 실행 프로세스를 나타냅니다. 초기 키워드는 프로세스가 정확히 한 번 실행되는 것을 나타냅니다. 두 구문 모두 시뮬레이터 시간 0에서 실행을 시작하고 둘 다 블록이 끝날 때까지 실행됩니다. 항상 블록이 끝에 도달하면 다시 일정이 조정됩니다. 초기 블록이 항상 차단되기 전에 실행될 것이라고 믿는 것은 일반적인 오해입니다. 사실, 초기 블록을 처음으로 완료 한 후 종료되는 상시 블록의 특수 사례로 생각하는 것이 좋습니다.