| |
| |
| |
| |
|
Verilator는 GCC 또는 Synopsys의 VCS와 유사한 매개변수를 사용하여 호출됩니다. 지정된 Verilog 또는 SystemVerilog 코드를 읽고, 린트 검사를 수행하고, 선택적으로 어설션 검사 및 적용 범위 분석 지점을 삽입하여 "검증"합니다. 단일 또는 다중 스레드 .cpp 및 .h 파일인 "Verilated" 코드를 출력합니다.
이러한 검증된 C++/SystemC 파일은 선택적으로 사용자 고유의 C++/SystemC 래퍼 파일과 함께 C++ 컴파일러(gcc/clang/MSVC++)에 의해 컴파일되어 검증된 모델을 인스턴스화합니다. 결과 실행 파일을 실행하면 설계 시뮬레이션이 수행됩니다. Verilator는 또한 선택적으로 암호화된 Verilated 생성 라이브러리를 다른 시뮬레이터에 연결하는 것을 지원합니다.
비공개 소스 Verilog 시뮬레이터의 모든 기능을 갖춘 대체 제품을 기대하거나 SDF 주석, 혼합 신호 시뮬레이션이 필요하거나 빠른 수업 프로젝트를 수행하는 경우 Verilator는 최선의 선택이 아닐 수 있습니다(수업 작업에는 Icarus Verilog를 권장합니다). 그러나 SystemVerilog를 C++/SystemC로 마이그레이션하거나 고속 설계 시뮬레이션을 원하는 경우 Verilator가 적합한 도구입니다.
Verilator는 Verilog HDL을 C++ 또는 SystemC로 직접 변환하지 않습니다. 오히려 Verilator는 코드를 훨씬 더 빠르게 최적화되고 선택적으로 스레드 분할 모델로 컴파일하며, 이는 다시 C++/SystemC 모듈 내에 래핑됩니다. 그 결과는 단일 스레드에서도 독립형 SystemC보다 10배 이상 빠르게 실행되고, 단일 스레드에서는 Icarus Verilog와 같은 해석된 Verilog 시뮬레이터보다 약 100배 빠른 컴파일된 Verilog 모델입니다. 멀티스레딩을 통해 추가로 2~10배의 속도 향상을 얻을 수 있습니다(해석된 시뮬레이터에 비해 총 200~1000배의 속도 향상).
Verilator는 일반적으로 비공개 소스 Verilog 시뮬레이터(예: Aldec Riviera-Pro, Cadence Incisive/NC-Verilog, Mentor ModelSim/Questa, Synopsys VCS, VTOC 및 Pragmatic CVer/CVC)와 비슷하거나 더 나은 성능을 제공합니다. 그러나 Verilator는 오픈 소스이므로 라이선스 대신 컴퓨팅에 돈을 쓸 수 있습니다. 따라서 Verilator는 최고의 시뮬레이션 주기/달러를 제공합니다.
자세한 내용은 다음을 참조하세요.
Verilator는 Linux Foundation 산하 CHIPS Alliance가 주도하는 커뮤니티 프로젝트입니다.
우리는 어떤 형태로든 귀하의 기여에 감사하고 환영합니다. Verilator에 기여하기를 참조하세요. 기여자와 후원자에게 감사드립니다.
Verilator는 또한 상업적 지원 모델과 조직을 지원하고 장려합니다. Verilator 상용 지원을 참조하세요.
Verilator의 저작권은 Wilson Snyder의 2003-2024입니다. (Verilator 문제에 버그를 보고하세요.)
Verilator는 무료 소프트웨어입니다. GNU Lesser General Public License 버전 3 또는 Perl Artistic License 버전 2.0의 조건에 따라 재배포 및/또는 수정할 수 있습니다. 자세한 내용은 설명서를 참조하세요.