กลับไปหน้าบทความ

อ่าน 4 นาที

เวริเลเตอร์

Verilator เป็น เครื่องมือเขียน โปรแกรมซอฟต์แวร์ ที่แปลง ภาษาอธิบายฮาร์ดแวร์ Verilog ไปเป็น แบบจำลองพฤติกรรมที่แม่นยำระดับรอบการทำงาน ใน ภาษาโปรแกรม C++ หรือ SystemC...

เวริเลเตอร์

เวริเลเตอร์[ 1 ]
นักพัฒนาวิลสัน สไนเดอร์
เวอร์ชันเสถียร
5.048 [ 2 ] แก้ไขข้อมูลนี้บนวิกิดาต้า / 26 เมษายน 2026 ( 26 เมษายน 2569 )
เขียนเป็นซี++
ระบบปฏิบัติการลินุกซ์ , ฟรีบีเอสดี , ไมโครซอฟต์ วินโดวส์ (ผ่านไซกวินหรือดับเบิลยูเอสแอล[ 3 ] )
พิมพ์เครื่องจำลอง
ใบอนุญาตเฉพาะ LGPL 3.0หรือArtistic 2.0 เท่านั้น
เว็บไซต์verilator.org
ที่เก็บข้อมูล
  • github .com /verilator /verilator

Verilatorเป็นเครื่องมือเขียน โปรแกรมซอฟต์แวร์ ที่แปลงภาษาอธิบายฮาร์ดแวร์Verilogไปเป็นแบบจำลองพฤติกรรมที่แม่นยำระดับรอบการทำงานในภาษาโปรแกรมC++หรือSystemCแบบจำลองที่สร้างขึ้นมีความแม่นยำระดับรอบการทำงานและเป็นแบบ 2 สถานะ ดังนั้นแบบจำลองเหล่านี้จึงมักมีประสิทธิภาพสูงกว่าโปรแกรมจำลองแบบขับเคลื่อนด้วยเหตุการณ์ที่ ใช้กันอย่างแพร่หลาย ซึ่งสามารถจำลองพฤติกรรมได้ภายในรอบการทำงานของนาฬิกา Verilator ถูกนำไปใช้ในการวิจัยทางวิชาการ โครงการโอเพนซอร์ส และการพัฒนาเซมิคอนดักเตอร์เชิงพาณิชย์ เป็นส่วนหนึ่งของ ซอฟต์แวร์ การออกแบบอิเล็กทรอนิกส์อัตโนมัติ (EDA) ฟรีที่กำลังเติบโต เป็น ซอฟต์แวร์ฟรีและโอเพนซอร์สที่เผยแพร่ภายใต้ใบอนุญาต GNU Lesser General Public License (LGPL) 3.0 เท่านั้น หรือใบอนุญาต Artistic License 2.0

ใช้

Verilator ได้รับการใช้งานอย่างแพร่หลายที่สุดในแวดวงวิชาการและ ชุมชน ซอฟต์แวร์โอเพนซอร์ส ในขณะที่อุตสาหกรรมเซมิคอนดักเตอร์มีความระมัดระวังมากกว่าในการนำเครื่องมือโอเพนซอร์สมาใช้ และมีกำลังทรัพย์ที่จะใช้ทางเลือกเชิงพาณิชย์อื่นๆ ได้

เชิงวิชาการ

นักวิจัยได้ใช้ Verilator เพื่อพัฒนาสภาพแวดล้อมการจำลองร่วมแบบใหม่[ 4 ]ซึ่งเป็นส่วนหนึ่งของกระบวนการออกแบบASICและFPGA ทั่วไป [ 5 ] [ 6 ]และในการวิเคราะห์ประสิทธิภาพและพลังงาน[ 7 ] Verilator ยังเป็นเครื่องมือยอดนิยมสำหรับวิทยานิพนธ์ของนักศึกษาอีกด้วย

โอเพนซอร์ส

Verilator เป็นเครื่องมือโอเพนซอร์ส และได้รับการนำไปใช้ในโครงการอื่นๆ อีกหลายโครงการ ห้องปฏิบัติการอิเล็กทรอนิกส์ของ Fedora ได้นำ Verilator มาใช้เป็นส่วนหนึ่งของกระบวนการออกแบบโอเพนซอร์สสำหรับ Fedora 11 สถาปัตยกรรม OpenRISCจากOpenCoresประกอบด้วยแบบจำลองอ้างอิงที่แม่นยำระดับรอบการทำงาน ซึ่งสร้างขึ้นจาก Verilog โดยใช้ Verilator บทความในปี 2010 อธิบายวิธีการเรียกใช้ชุดทดสอบการถดถอยสำหรับGCCกับแบบจำลอง Verilator ของ OpenRISC 1200 เพื่อตรวจจับข้อผิดพลาดในการใช้งาน Verilog RTL [ 8 ]เครื่องมือ TestDrive Profiling Master ให้สภาพแวดล้อม FPGA เสมือนโดยใช้ Verilator

ทางการค้า

ในเชิงพาณิชย์ Philips Semiconductors (ปัจจุบันคือ NXP) เป็นผู้นำ[ 9 ]การใช้ Verilator ของพวกเขากำลังแพร่หลายมากขึ้น เช่น ในเอกสารประกอบการใช้งาน[ 10 ]เมื่อไม่นานมานี้ Art of Silicon ได้อธิบายถึงการใช้ Verilator บนฟาร์มโปรเซสเซอร์ Linux เป็นแนวทางในการทดสอบการถดถอยที่รวดเร็วยิ่งขึ้นสำหรับการออกแบบเชิงพาณิชย์ของพวกเขา[ 11 ] [ 12 ]ผู้ดูแล Verilator ในปัจจุบันระบุ[ 13 ]บริษัทและมหาวิทยาลัย 27 แห่งที่รายงานการใช้ Verilator หรือมีส่วนร่วมในการพัฒนา รวมถึง Intel, Arm, CSR, Broadcom, Raytheon, Infineon, Stanford University, Imperial College London และ Embecosm

ประวัติศาสตร์

คู่มือผู้ใช้ของ Verilator ให้ข้อมูลประวัติโดยย่อ[ 14 ]เครื่องมือนี้มีต้นกำเนิดในปี 1994 โดยทีมงานที่นำโดย Paul Wasson ที่ Core Logic Group ของDigital Equipment Corporation (DEC) โดยใช้ในการแปลงโค้ด Verilog เป็น C เพื่อการจำลองร่วมกับโมเดล CPU ที่ใช้ C ของโปรเซสเซอร์ Alpha ในช่วงกลางทศวรรษ 1990 Duane Galbi รับผิดชอบการพัฒนาต่อ และเทคโนโลยีนี้ได้รับการนำไปใช้โดยกลุ่มอื่นๆ ใน DEC ในปี 1998 DEC ได้เผยแพร่ซอร์สโค้ด

นับตั้งแต่ปี 2001 เทคโนโลยีนี้ได้รับการพัฒนาโดย Wilson Snyder และคนอื่นๆ ในฐานะส่วนหนึ่งของโครงการโอเพนซอร์ส Veripool มีการเพิ่มโหมด SystemCและเขียนเครื่องมือใหม่ทั้งหมดด้วยภาษา C++ ส่งผลให้ประสิทธิภาพเพิ่มขึ้น ในปี 2022 Verilator เวอร์ชัน 5 ได้เพิ่มตัวกำหนดตารางเวลาที่สอดคล้องกับมาตรฐาน IEEE และความหมายของการหน่วงเวลา ซึ่งผ่อนคลายข้อจำกัดก่อนหน้านี้ที่ละเลยการหน่วงเวลาทั้งหมด

เทคโนโลยีและคุณสมบัติหลัก

Verilator แปลง Verilog เป็น C++ หรือ SystemC สามารถรองรับ Verilog ทุกเวอร์ชัน รวมถึง assertion บางส่วนของ SystemVerilog ด้วย แนวทางนี้ใกล้เคียงกับการสังเคราะห์มากกว่าการจำลองแบบขับเคลื่อนด้วยเหตุการณ์ การออกแบบทั้งหมดจะถูกทำให้แบนราบ (กล่าวคือ โมดูลทั้งหมดจะถูกขยายเพื่อสร้างโมดูลเดียว) การวิเคราะห์แบบคงที่ถูกใช้เพื่อกำจัดสายไฟและกำหนดเวลาการประมวลผลทั้งหมดในระหว่างการสร้างแบบจำลองคลาส C++ จะถูกสร้างขึ้นพร้อมฟังก์ชันที่รับค่า 2 สถานะจากพอร์ตอินพุตและเปลี่ยนเป็นค่าบนพอร์ตเอาต์พุตเมื่อถึงขอบสัญญาณนาฬิกาถัดไป

SystemC รองรับการใช้งานโดยการจัดเตรียมคลาส Wrapper ที่ใช้พอร์ต SystemC และมีความไวต่ออัตราความเร็วสัญญาณนาฬิกา (วินาที) ซึ่งจะขับเคลื่อนพอร์ตของโมเดล C++ ที่อยู่เบื้องหลัง

Verilator รองรับการแบ่งการออกแบบออกเป็นหลายเธรดโดยอัตโนมัติ ซึ่งอาจช่วยปรับปรุงประสิทธิภาพได้อีกด้วย

ใช้งานร่วมกับ MATLAB

Verilator แปลงVerilog ที่สามารถสังเคราะห์ได้ เป็น C++ ในขณะที่ไลบรารี C++ สามารถคอมไพล์เป็นไฟล์ MEXโดยใช้ ส่วนต่อประสาน MATLABกับ C++ นี่คือวิธีการจำลองการออกแบบ Verilog โดยตรงจาก MATLAB การใช้โมเดล C++ ที่คอมไพล์แล้วกับ MATLAB นั้นเร็วกว่าการใช้ส่วนต่อประสานการจำลองร่วมกับ โปรแกรมจำลอง ภาษาคำอธิบายฮาร์ดแวร์ (HDL) แยกต่างหาก มีโครงการโอเพนซอร์สชื่อ vmodel ที่คอมไพล์ Verilog เป็นไฟล์ MEX โดยใช้ Verilator และมีชุดฟังก์ชันสำหรับการจำลองโมเดลจาก MATLAB

ดูเพิ่มเติม

  • เว็บไซต์อย่างเป็นทางการ
  • vmodelบนGitHub
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Verilator&oldid=1336478331 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ เวริเลเตอร์

Verilator เป็น เครื่องมือเขียน โปรแกรมซอฟต์แวร์ ที่แปลง ภาษาอธิบายฮาร์ดแวร์ Verilog ไปเป็น แบบจำลองพฤติกรรมที่แม่นยำระดับรอบการทำงาน ใน ภาษาโปรแกรม C++ หรือ SystemC...

ใช้

Verilator ได้รับการใช้งานอย่างแพร่หลายที่สุดในแวดวงวิชาการและ ชุมชน ซอฟต์แวร์โอเพนซอร์ส ในขณะที่ อุตสาหกรรมเซมิคอนดักเตอร์มีความระมัดระวังมากกว่าในการนำเครื่องมือโอเพนซอร์สมาใช้ และมีกำลังทรัพย์ที่จะใช้ทางเลือกเชิงพาณิชย์อื่นๆ ได้

เชิงวิชาการ

นักวิจัยได้ใช้ Verilator เพื่อพัฒนาสภาพแวดล้อมการจำลองร่วมแบบใหม่ [ 4 ] ซึ่งเป็นส่วนหนึ่งของกระบวนการออกแบบ ASIC และ FPGA ทั่วไป [ 5 ] [ 6 ] และในการวิเคราะห์ประสิทธิภาพและพลังงาน [ 7 ] Verilator ยังเป็นเครื่องมือยอดนิยมสำหรับวิทยานิพนธ์ของนักศึกษาอีกด้วย

โอเพนซอร์ส

Verilator เป็นเครื่องมือโอเพนซอร์ส และได้รับการนำไปใช้ในโครงการอื่นๆ อีกหลายโครงการ ห้องปฏิบัติการอิเล็กทรอนิกส์ของ Fedora ได้นำ Verilator มาใช้เป็นส่วนหนึ่งของกระบวนการออกแบบโอเพนซอร์สสำหรับ Fedora 11 สถาปัตยกรรม OpenRISC จาก OpenCores...