| |
| |
| |
| |
|
Verilator ถูกเรียกใช้ด้วยพารามิเตอร์ที่คล้ายกับ GCC หรือ VCS ของ Synopsys โดยจะ "ตรวจสอบ" รหัส Verilog หรือ SystemVerilog ที่ระบุโดยการอ่าน ดำเนินการตรวจสอบ Lint และอาจแทรกการตรวจสอบการยืนยันและจุดการวิเคราะห์ความครอบคลุมหรือไม่ก็ได้ มันส่งออกไฟล์ .cpp และ .h แบบซิงเกิลหรือมัลติเธรด ซึ่งเป็นโค้ด "Verilated"
จากนั้นไฟล์ C++/SystemC ที่ตรวจสอบแล้วเหล่านี้จะถูกคอมไพล์โดยคอมไพลเลอร์ C++ (gcc/clang/MSVC++) ซึ่งอาจเป็นทางเลือกพร้อมกับไฟล์ wrapper C++/SystemC ของผู้ใช้เอง เพื่อสร้างอินสแตนซ์ของโมเดล Verilated การดำเนินการปฏิบัติการผลลัพธ์จะเป็นการจำลองการออกแบบ Verilator ยังรองรับการลิงก์ไลบรารีที่สร้างโดย Verilated หรือเข้ารหัสหรือไม่ก็ได้ เข้ากับตัวจำลองอื่น ๆ
Verilator อาจไม่ใช่ตัวเลือกที่ดีที่สุดหากคุณคาดหวังว่าจะมีการแทนที่คุณลักษณะเต็มรูปแบบสำหรับตัวจำลอง Verilog แบบปิด ต้องการคำอธิบายประกอบ SDF การจำลองสัญญาณผสม หรือกำลังทำโปรเจ็กต์คลาสด่วน (เราขอแนะนำ Icarus Verilog สำหรับงานของชั้นเรียน) อย่างไรก็ตาม หากคุณกำลังมองหาเส้นทางในการย้าย SystemVerilog ไปยัง C++/SystemC หรือต้องการจำลองการออกแบบด้วยความเร็วสูง Verilator คือเครื่องมือสำหรับคุณ
Verilator ไม่ได้แปล Verilog HDL เป็น C++ หรือ SystemC โดยตรง แต่ Verilator จะคอมไพล์โค้ดของคุณให้เป็นโมเดลแบบแบ่งพาร์ติชันเธรดที่ได้รับการปรับปรุงให้เหมาะสมเร็วขึ้นมาก ซึ่งในทางกลับกันจะรวมอยู่ในโมดูล C++/SystemC ผลลัพธ์ที่ได้คือโมเดล Verilog ที่คอมไพล์แล้วซึ่งทำงานได้แม้บนเธรดเดียวเร็วกว่า SystemC แบบสแตนด์อโลนถึง 10 เท่า และบนเธรดเดียวก็เร็วกว่าตัวจำลอง Verilog ที่ตีความ เช่น Icarus Verilog ประมาณ 100 เท่า การเร่งความเร็วอีก 2-10 เท่าอาจได้รับจากมัลติเธรด (ให้ผลรวม 200-1,000x จากตัวจำลองการตีความ)
โดยทั่วไปแล้ว Verilator จะมีประสิทธิภาพใกล้เคียงกันหรือดีกว่าเมื่อเทียบกับเครื่องจำลอง Verilog แบบโอเพ่นซอร์ส (เช่น Aldec Riviera-Pro, Cadence Incisive/NC-Verilog, Mentor ModelSim/Questa, Synopsys VCS, VTOC และ Pragmatic CVer/CVC) แต่ Verilator เป็นแบบโอเพ่นซอร์ส ดังนั้นคุณจึงสามารถใช้จ่ายด้านคอมพิวเตอร์แทนใบอนุญาตได้ ดังนั้น Verilator จะให้รอบการจำลองที่ดีที่สุดแก่คุณ/ดอลลาร์
สำหรับข้อมูลเพิ่มเติม:
Verilator เป็นโครงการชุมชนที่ได้รับคำแนะนำจาก CHIPS Alliance ภายใต้มูลนิธิ Linux
เราขอขอบคุณและยินดีรับการมีส่วนร่วมของคุณในรูปแบบใดก็ตาม โปรดดูการมีส่วนร่วมกับ Verilator ขอขอบคุณผู้สนับสนุนและผู้สนับสนุนของเรา
Verilator ยังสนับสนุนและสนับสนุนโมเดลและองค์กรสนับสนุนเชิงพาณิชย์ โปรดดูการสนับสนุนเชิงพาณิชย์ของ Verilator
Verilator เป็นลิขสิทธิ์ 2003-2024 โดย Wilson Snyder (รายงานจุดบกพร่องไปยังปัญหาของผู้ตรวจสอบ)
Verilator เป็นซอฟต์แวร์ฟรี คุณสามารถแจกจ่ายต่อและ/หรือแก้ไขได้ภายใต้เงื่อนไขของ GNU Lesser General Public License เวอร์ชัน 3 หรือ Perl Artistic License เวอร์ชัน 2.0 ดูเอกสารประกอบสำหรับรายละเอียดเพิ่มเติม