ภาษาอังกฤษภาษาฝรั่งเศสสเปน

Ad


ไอคอน Fav ของ OnWorks

iverilog - ออนไลน์ในคลาวด์

เรียกใช้ iverilog ในผู้ให้บริการโฮสต์ฟรีของ OnWorks ผ่าน Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

นี่คือคำสั่ง iverilog ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

โครงการ:

ชื่อ


iverilog - คอมไพเลอร์ Icarus Verilog

เรื่องย่อ


ไอเวอร์ล็อก [-ESVv] [-Bpath] [-ccmdfile|-fcmdfile] [-Dmacro[=defn]] [-pflag=value] [-dname]
[-g1995|-g2001|-g2005|-g ] [-Iincludedir] [-mmodule] [-Mfile] [-Nfile]
[-ooutputfilename] [-stopmodule] [-ttype] [-Tmin/typ/max] [-Wclass] [-ypath] ไฟล์ต้นฉบับ

DESCRIPTION


ไอเวอร์ล็อก เป็นคอมไพเลอร์ที่แปลซอร์สโค้ด Verilog เป็นโปรแกรมปฏิบัติการสำหรับ
การจำลองหรือรูปแบบ netlist อื่น ๆ สำหรับการประมวลผลต่อไป ปัจจุบันได้รับการสนับสนุน
เป้าหมายคือ vp สำหรับการจำลองและ FPGA เพื่อการสังเคราะห์ เป้าหมายประเภทอื่นๆ ถูกเพิ่มเป็น
มีการใช้งานตัวสร้างรหัส

OPTIONS


ไอเวอร์ล็อก ยอมรับตัวเลือกต่อไปนี้:

-Bฐาน พื้นที่ ไอเวอร์ล็อก โปรแกรมใช้โปรแกรมภายนอกและไฟล์การกำหนดค่าเพื่อประมวลผลล่วงหน้า
และรวบรวมแหล่งที่มาของ Verilog โดยปกติเส้นทางที่ใช้ค้นหาเครื่องมือเหล่านี้คือ
สร้างขึ้นใน ไอเวอร์ล็อก โปรแกรม. อย่างไรก็ตาม -B สวิตช์อนุญาตให้ผู้ใช้เลือก
ชุดโปรแกรมต่างๆ เส้นทางที่กำหนดใช้เพื่อค้นหา ไอวีแอลพี, ไอวิล, รหัส
เครื่องกำเนิดไฟฟ้าและโมดูล VPI

-cไฟล์ -fไฟล์
แฟล็กเหล่านี้ระบุไฟล์อินพุตที่มีรายการไฟล์ต้นทางของ Verilog
สิ่งนี้คล้ายกับ คำสั่ง ไฟล์ ของโปรแกรมจำลอง Verilog อื่น ๆ โดยเป็น
ไฟล์ที่มีชื่อไฟล์แทนการใช้ในบรรทัดคำสั่ง ดู
คำสั่ง ไฟล์ ด้านล่าง

-Dแมโคร กำหนดมาโคร แมโคร โดยมีสตริง `1' เป็นคำจำกัดความ แบบฟอร์มนี้ปกติ
ใช้เพื่อทริกเกอร์เงื่อนไข ifdef ในแหล่ง Verilog เท่านั้น

-Dมาโคร=defn
กำหนดมาโคร แมโคร as ป้องกัน.

-dชื่อ เปิดใช้งานคลาสของข้อความการดีบักคอมไพเลอร์ ดิ -d สวิตช์สามารถใช้เป็น
บ่อยครั้งเท่าที่จำเป็นเพื่อเปิดใช้งานข้อความที่ต้องการทั้งหมด ชื่อที่รองรับคือ
ขอบเขต, eval_tree, ซับซ้อน, และ synth2; ชื่ออื่น ๆ จะถูกละเว้น

-E ประมวลผลซอร์ส Verilog ล่วงหน้า แต่อย่าคอมไพล์ ไฟล์ที่ส่งออกคือ
อินพุต Verilog แต่มีการรวมไฟล์และการอ้างอิงมาโครขยายและลบออก
สิ่งนี้มีประโยชน์ ตัวอย่างเช่น ในการประมวลผลซอร์ส Verilog ล่วงหน้าสำหรับผู้อื่น
คอมไพเลอร์

-g1995|-g2001|-g2001-noconfig|-g2005
เลือกภาษา Verilog รุ่น เพื่อรองรับคอมไพเลอร์ นี้เลือก
ระหว่าง IEEE1364-1995, IEEE1364-2001,หรือ IEEE1364-2005. โดยปกติ Icarus Verilog
ค่าเริ่มต้นเป็นรุ่นล่าสุดของภาษาที่รู้จัก ธงนี้มีประโยชน์มากที่สุด
เพื่อจำกัดภาษาไว้เป็นชุดที่สนับสนุนโดยเครื่องมือเฉพาะรุ่นสำหรับ
เข้ากันได้กับเครื่องมืออื่น ๆ

-gverilog-ams|-gno-verilog-ams
เปิดใช้งานหรือปิดใช้งาน (ค่าเริ่มต้น) การสนับสนุนสำหรับ Verilog-AMS Verilog-AMS . น้อยมาก
ฟังก์ชันเฉพาะได้รับการสนับสนุนในขณะนี้

-gระบุ|-gno-ระบุ
เปิดหรือปิด (ค่าเริ่มต้น) ระบุการสนับสนุนบล็อก เมื่อเปิดใช้งาน ให้ระบุ block
รหัสถูกอธิบายอย่างละเอียด เมื่อปิดใช้งาน ระบุบล็อกจะถูกแยกวิเคราะห์แต่ละเว้น ระบุ
บล็อกไม่จำเป็นสำหรับการจำลอง RTL และในความเป็นจริงสามารถทำร้าย
ประสิทธิภาพของการจำลอง อย่างไรก็ตาม การปิดใช้งานบล็อกระบุจะลดความแม่นยำลง
ของการจำลองแบบเต็มเวลา

-gstd-รวม|-gno-std-รวม
เปิดใช้งาน (ค่าเริ่มต้น) หรือปิดใช้งานการค้นหาการติดตั้งมาตรฐานรวมถึง
ไดเร็กทอรีหลังจากไดเร็กทอรีอื่น ๆ ทั้งหมดรวมถึงไดเร็กทอรีอย่างชัดเจน มาตรฐานนี้รวมถึง
ไดเร็กทอรีเป็นสถานที่ที่สะดวกในการติดตั้งไฟล์ส่วนหัวมาตรฐานที่ Verilog
โปรแกรมอาจรวมถึง

-grelative-รวม|-gno-ญาติ-รวม
เปิดหรือปิด (ค่าเริ่มต้น) เพิ่มไดเร็กทอรีไฟล์ในเครื่องที่จุดเริ่มต้นของ
รวมเส้นทางการค้นหาไฟล์ อนุญาตให้รวมไฟล์ที่สัมพันธ์กับ
ไฟล์ปัจจุบันไม่ใช่ไฟล์ทั่วไปจะพบเฉพาะในไดเร็กทอรีการทำงานหรือ
ในเส้นทางการค้นหาไฟล์รวมที่ระบุ

-gxtype|-gno-xtypes
เปิดใช้งาน (ค่าเริ่มต้น) หรือปิดใช้งานการสนับสนุนสำหรับประเภทเพิ่มเติม การเปิดใช้งานประเภทขยาย
อนุญาตให้มีประเภทใหม่ที่รองรับโดย Icarus Verilog เป็นส่วนขยายนอกเหนือจาก
พื้นฐาน Verilog อาจจำเป็นต้องปิดการใช้งานประเภทขยายหากรวบรวมรหัส
ที่ขัดแย้งกับคำหลักใหม่สองสามคำที่ใช้ในการติดตั้งระบบประเภท

-gio-ช่วงข้อผิดพลาด|-gno-io-ช่วงข้อผิดพลาด
มาตรฐานกำหนดว่าพอร์ตเวกเตอร์มีช่วงที่ตรงกันสำหรับพอร์ตของมัน
การประกาศเช่นเดียวกับการประกาศสุทธิ/การลงทะเบียนใดๆ เป็นเรื่องธรรมดาใน
ผ่านมาเพื่อระบุเฉพาะช่วงการประกาศ net/register และเครื่องมือบางอย่าง
ยังคงอนุญาตให้สิ่งนี้ โดยค่าเริ่มต้นใด ๆ ที่ไม่ตรงกันจะถูกรายงานเป็นข้อผิดพลาด โดยใช้
-gno-io-ช่วงข้อผิดพลาด จะสร้างคำเตือนแทนความผิดพลาดร้ายแรงสำหรับคดี
ของ vectored net/register และการประกาศพอร์ตสเกลาร์

-gstrict-ca-eval|-gno-เข้มงวด-ca-eval
มาตรฐานกำหนดว่าหากมีการป้อนข้อมูลใด ๆ ไปยังนิพจน์การกำหนดอย่างต่อเนื่อง
เปลี่ยนค่า นิพจน์ทั้งหมดจะถูกประเมินใหม่ โดยค่าเริ่มต้น ส่วนของ
นิพจน์ที่ไม่ขึ้นอยู่กับค่าอินพุตที่เปลี่ยนแปลงจะไม่ถูกประเมินซ้ำ
หากนิพจน์มีการเรียกใช้ฟังก์ชันที่ไม่ขึ้นกับ . เพียงอย่างเดียว
ค่าที่ป้อนหรือมีผลข้างเคียง พฤติกรรมที่ได้จะแตกต่างไปจาก
ที่ต้องการตามมาตรฐาน โดยใช้ -gstrict-ca-eval จะบังคับมาตรฐาน
พฤติกรรมที่สอดคล้อง (มีการสูญเสียประสิทธิภาพการทำงานบางส่วน)

-Iรวมอยู่ด้วย
ต่อท้ายไดเร็กทอรี รวมอยู่ด้วย ไปที่รายการไดเร็กทอรีที่ค้นหา Verilog รวมถึง
ไฟล์ -I อาจใช้สวิตช์หลายครั้งเพื่อระบุไดเรกทอรีหลายรายการเป็น
ค้นหา ไดเร็กทอรีจะถูกค้นหาตามลำดับที่ปรากฏบนบรรทัดคำสั่ง

-Mเส้นทาง เขียนลงในไฟล์ที่ระบุโดยพา ธ รายการไฟล์ที่มีส่วนช่วยในการ
การรวบรวมการออกแบบ ซึ่งรวมถึงไฟล์ที่รวมโดย include
คำสั่งและไฟล์ที่โหลดโดยอัตโนมัติโดยการสนับสนุนไลบรารี ผลลัพธ์
เป็นชื่อไฟล์หนึ่งชื่อต่อบรรทัด โดยไม่มีช่องว่างนำหน้าหรือต่อท้าย

-mโมดูล
เพิ่มโมดูลนี้ในรายการโมดูล VPI ที่จะโหลดโดยการจำลอง มากมาย
สามารถระบุโมดูลได้ และทั้งหมดจะถูกโหลดตามลำดับที่ระบุ ดิ
โมดูลระบบโดยปริยายและรวมอยู่ด้วยเสมอ หากเป็นไฟล์ตารางฟังก์ชันระบบ
( .sft) มีอยู่สำหรับโมดูลที่จะโหลดโดยอัตโนมัติ

-Nเส้นทาง ใช้สำหรับการดีบักคอมไพเลอร์ที่เหมาะสม ดัมพ์ฟอร์ม netlist สุดท้ายของ the
ออกแบบให้เป็นไฟล์ที่กำหนด มิฉะนั้นจะไม่ส่งผลกระทบต่อการทำงานของ
คอมไพเลอร์ การถ่ายโอนข้อมูลเกิดขึ้นหลังจากการออกแบบอย่างละเอียดและปรับให้เหมาะสม

-o ชื่อไฟล์
วางเอาต์พุตในไฟล์ ชื่อไฟล์. หากไม่มีการระบุชื่อไฟล์เอาต์พุต ไอเวอร์ล็อก
ใช้ชื่อเริ่มต้น ออก.

-pธง=ค่า
กำหนดค่าให้กับแฟล็กเฉพาะเป้าหมาย ดิ -p สามารถใช้สวิตช์ได้บ่อยเท่า
จำเป็นต้องระบุแฟล็กที่ต้องการทั้งหมด แฟล็กที่ใช้ขึ้นอยู่กับ
เป้าหมายที่เลือก และอธิบายไว้ในเอกสารเฉพาะของเป้าหมาย ธง
ที่ไม่ได้ใช้จะถูกละเลย

-S สังเคราะห์. โดยปกติหากเป้าหมายสามารถยอมรับคำอธิบายพฤติกรรมได้
คอมไพเลอร์จะปล่อยให้กระบวนการอยู่ในรูปแบบพฤติกรรม ดิ -S สวิตช์ทำให้เกิด
คอมไพเลอร์เพื่อทำการสังเคราะห์แม้ว่าจะไม่จำเป็นสำหรับเป้าหมายก็ตาม ถ้า
ประเภทเป้าหมายเป็นรูปแบบ netlist, the -S สวิตช์ไม่จำเป็นและไม่มีผล

-s โมดูลด้านบน
ระบุโมดูลระดับบนสุดเพื่ออธิบายอย่างละเอียด Icarus Verilog จะเลือกโดยค่าเริ่มต้น
โมดูลที่ไม่ได้สร้างอินสแตนซ์ในโมดูลอื่น ๆ แต่บางครั้งก็ไม่ใช่
เพียงพอหรือยกตัวอย่างโมดูลมากเกินไป หากผู้ใช้ระบุอย่างน้อยหนึ่งรายการ
โมดูลรูทด้วย -s แฟล็ก จากนั้นจะถูกใช้เป็นโมดูลรูทแทน

-Tขั้นต่ำ|ประเภท|สูงสุด
ใช้สวิตช์นี้เพื่อเลือกเวลาต่ำสุด พิมพ์ หรือสูงสุดจากนิพจน์ min:typ:max
โดยปกติคอมไพเลอร์จะใช้ค่า typ จากนิพจน์เหล่านี้
(พิมพ์เตือนสิบตัวแรกที่พบ) แต่สวิตช์นี้จะบอก
คอมไพเลอร์อย่างชัดเจนว่าควรใช้ค่าใด สิ่งนี้จะระงับการเตือนว่า
คอมไพเลอร์กำลังตัดสินใจเลือก

-tเป้า
ใช้สวิตช์นี้เพื่อระบุรูปแบบเอาต์พุตเป้าหมาย ดู เป้าหมาย ส่วนด้านล่าง
สำหรับรายการรูปแบบเอาต์พุตที่ถูกต้อง

-v เปิดข้อความแบบละเอียด สิ่งนี้จะพิมพ์บรรทัดคำสั่งที่ดำเนินการไปยัง
ดำเนินการรวบรวมจริงพร้อมกับข้อมูลรุ่นจากต่างๆ
ส่วนประกอบตลอดจนเวอร์ชันของผลิตภัณฑ์โดยรวม คุณจะสังเกตเห็น
ที่บรรทัดคำสั่งรวมถึงการอ้างอิงถึงไฟล์ชั่วคราวที่สำคัญที่ผ่าน
ข้อมูลไปยังคอมไพเลอร์ที่เหมาะสม เพื่อไม่ให้ไฟล์นั้นถูกลบที่
สิ้นสุดกระบวนการ ระบุชื่อไฟล์ของคุณเองในตัวแปรสภาพแวดล้อม
IVERILOG_ICONFIG.

-V พิมพ์เวอร์ชันของคอมไพเลอร์แล้วออก

-Wชั้น เปิดคลาสต่างๆ ของคำเตือน ดู คำเตือน ประเภท ส่วนด้านล่างสำหรับ
คำอธิบายของกลุ่มคำเตือนต่างๆ ถ้าหลาย -W ใช้สวิตช์
ชุดคำเตือนเป็นการรวมกันของคลาสที่ร้องขอทั้งหมด

-yความใคร่
ต่อท้ายไดเร็กทอรีกับพาธการค้นหาโมดูลไลบรารี เมื่อคอมไพเลอร์พบ an
โมดูลที่ไม่ได้กำหนดจะค้นหาไฟล์ที่มีชื่อที่ถูกต้องในไดเร็กทอรีเหล่านี้

-Yวิภัตติ
เพิ่มส่วนต่อท้ายในรายการส่วนต่อท้ายชื่อไฟล์ที่ยอมรับที่ใช้เมื่อค้นหา a
ห้องสมุดสำหรับเซลล์ รายการเริ่มต้นเป็นรายการเดียว .v.

โมดูล ห้องสมุด


คอมไพเลอร์ Icarus Verilog รองรับไลบรารีโมดูลเป็นไดเร็กทอรีที่มี Verilog
ไฟล์ต้นฉบับ ในระหว่างการอธิบายอย่างละเอียด คอมไพเลอร์จะสังเกตเห็นการสร้างอินสแตนซ์ของ undefined
ประเภทโมดูล หากผู้ใช้ระบุไดเร็กทอรีการค้นหาไลบรารี คอมไพเลอร์จะค้นหา
ไดเร็กทอรีสำหรับไฟล์ที่มีชื่อประเภทโมดูลที่ขาดหายไป หากพบไฟล์ดังกล่าว
มันโหลดเป็นไฟล์ต้นทางของ Verilog พวกเขาพยายามอีกครั้งเพื่ออธิบายโมดูลอย่างละเอียด

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

เป้าหมาย


คอมไพเลอร์ Icarus Verilog รองรับเป้าหมายที่หลากหลาย เพื่อวัตถุประสงค์ที่แตกต่างกัน และ
-t ใช้สวิตช์เพื่อเลือกเป้าหมายที่ต้องการ

โมฆะ เป้าหมาย null ทำให้ไม่มีการสร้างรหัส มีประโยชน์ในการตรวจสอบ
ไวยากรณ์ของแหล่งที่มา Verilog

vp นี่คือค่าเริ่มต้น เป้าหมาย vvp สร้างรหัสสำหรับรันไทม์ vvp ผลลัพธ์
เป็นโปรแกรมที่สมบูรณ์ซึ่งจำลองการออกแบบ แต่ต้องดำเนินการโดย vp
คำสั่ง

FPGA นี่คือเป้าหมายการสังเคราะห์ที่รองรับอุปกรณ์ fpga ที่หลากหลาย ส่วนใหญ่โดย EDIF
เอาต์พุตรูปแบบ ตัวสร้างโค้ด fpga ของ Icarus Verilog สามารถสร้างได้อย่างสมบูรณ์
การออกแบบหรือมาโคร EDIF ที่สามารถนำเข้าสู่การออกแบบที่ใหญ่ขึ้นโดยผู้อื่น
เครื่องมือ NS FPGA เป้าหมายหมายถึงการสังเคราะห์ -S ธง.

วีดีโอ เป้าหมายนี้สร้างการแปล VHDL ของ Verilog netlist ผลลัพธ์คือ a
ไฟล์เดียวที่มีเอนทิตี VHDL ที่สอดคล้องกับโมดูลใน Verilog
รหัสแหล่งที่มา. โปรดทราบว่ารองรับเฉพาะชุดย่อยของภาษา Verilog ดู
wiki สำหรับข้อมูลเพิ่มเติม

คำเตือน ประเภท


เหล่านี้เป็นประเภทของคำเตือนที่สามารถเลือกได้โดย -W สลับกัน. คำเตือนทั้งหมด
ประเภท (นอกเหนือจาก ทั้งหมด) นำหน้าด้วย ที่ไม่มี เพื่อปิดการเตือนนั้น นี่คือ
มีประโยชน์มากที่สุดหลังจาก a -ผนัง อาร์กิวเมนต์เพื่อระงับประเภทคำเตือนที่แยกได้

ทั้งหมด ซึ่งจะช่วยให้ implicit, portbind, select-range, timescale และ
หมวดหมู่การเตือนความไว-ทั้งอาร์เรย์

โดยปริยาย
ซึ่งจะทำให้คำเตือนสำหรับการสร้างการประกาศโดยนัย ตัวอย่างเช่น ถ้า
ใช้ scalar wire X แต่ไม่ได้ประกาศในแหล่ง Verilog สิ่งนี้จะพิมพ์ a
เตือนเมื่อใช้งานครั้งแรก

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

เลือกช่วง
ซึ่งจะทำให้มีคำเตือนสำหรับการเลือกที่ไม่อยู่ในขอบเขตคงที่ ซึ่งรวมถึงบางส่วนหรือ
การเลือกที่ไม่อยู่ในขอบเขตอย่างสมบูรณ์รวมถึงการเลือกที่มี 'bx หรือ 'bz ใน
ดัชนี

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

อินฟลอป สิ่งนี้เปิดใช้งานการเตือนสำหรับคำสั่งเสมอที่อาจมีการวนซ้ำไม่สิ้นสุดรันไทม์
(มีเส้นทางที่ไม่มีความล่าช้าหรือเป็นศูนย์) คำเตือนประเภทนี้ไม่รวมอยู่ใน -ผนัง
และด้วยเหตุนี้จึงไม่มี ที่ไม่มี ตัวแปร ข้อความแสดงข้อผิดพลาดร้ายแรงจะเป็น .เสมอ
พิมพ์เมื่อคอมไพเลอร์กำหนดได้เลยว่าจะมีอนันต์แน่นอน
วนซ้ำ (เส้นทางทั้งหมดไม่มีความล่าช้าหรือเป็นศูนย์)

เมื่อคุณสงสัยว่าคำสั่ง always กำลังสร้าง runtime infinite loop ให้ใช้ this
ตั้งค่าสถานะเพื่อค้นหาคำสั่งเสมอที่จำเป็นต้องมีการตรวจสอบตรรกะ มันคือ
คาดว่าหลายคำเตือนจะเป็นผลบวกปลอม เนื่องจากรหัสถือว่า
ค่าของตัวแปรและสัญญาณทั้งหมดที่ไม่แน่นอน

ความไว-ทั้งเวกเตอร์
สิ่งนี้เปิดใช้งานการเตือนเมื่อชิ้นส่วนที่เลือกภายในคำสั่ง "always @*"
ส่งผลให้เวกเตอร์ทั้งหมดถูกเพิ่มลงในรายการความไวโดยปริยาย
แม้ว่าพฤติกรรมนี้จะถูกกำหนดโดยมาตรฐาน IEEE แต่ก็ไม่ใช่สิ่งที่อาจ
เป็นไปตามคาดและสามารถมีผลกับประสิทธิภาพได้หากเวกเตอร์มีขนาดใหญ่

ความไว-ทั้งอาร์เรย์
สิ่งนี้เปิดใช้งานการเตือนเมื่อคำที่เลือกภายในคำสั่ง "always @*"
ส่งผลให้อาร์เรย์ทั้งหมดถูกเพิ่มไปยังรายการความไวโดยนัย แม้ว่า
ลักษณะการทำงานนี้กำหนดโดยมาตรฐาน IEEE ไม่ใช่สิ่งที่อาจเป็น
คาดหวังและอาจมีผลกระทบต่อประสิทธิภาพหากอาร์เรย์มีขนาดใหญ่

ระบบ ฟังก์ชั่น ตาราง ไฟล์


หากชื่อไฟล์ต้นทางเป็น a .sft ต่อท้ายก็จะนำมาเป็นตารางฟังก์ชันของระบบ
ไฟล์. ไฟล์ตารางฟังก์ชันระบบใช้เพื่ออธิบายให้คอมไพเลอร์ทราบถึงประเภทการส่งคืน
สำหรับการทำงานของระบบ นี่เป็นสิ่งจำเป็นเพราะคอมไพเลอร์ต้องการข้อมูลนี้เพื่อ
นิพจน์ที่ซับซ้อนซึ่งมีฟังก์ชันของระบบเหล่านี้ แต่ไม่สามารถเรียกใช้ sizetf
ฟังก์ชั่นเนื่องจากไม่มีรันไทม์

รูปแบบของตารางคือ ASCII หนึ่งฟังก์ชันต่อบรรทัด บรรทัดว่างจะถูกละเว้นและ
บรรทัดที่ขึ้นต้นด้วย '#' เป็นบรรทัดความคิดเห็น แต่ละบรรทัดที่ไม่ใช่ความคิดเห็นเริ่มต้น
ด้วยชื่อฟังก์ชัน ตามด้วยประเภท vpi (เช่น vpiSysFuncReal) ประเภทต่อไปนี้คือ
สนับสนุน:

vpiSysFuncReal
ฟังก์ชันส่งคืนค่าจริง/เรียลไทม์

vpiSysFuncInt
ฟังก์ชันส่งคืนจำนวนเต็ม

vpiSysFuncSized
ฟังก์ชันส่งคืนเวกเตอร์ด้วยความกว้างที่กำหนด และมีการเซ็นชื่อหรือไม่ได้ลงนาม
ตามธง.

คำสั่ง ไฟล์


ไฟล์คำสั่งอนุญาตให้ผู้ใช้วางชื่อไฟล์ต้นฉบับและบรรทัดคำสั่งบางอย่าง
เปลี่ยนเป็นไฟล์ข้อความแทนบรรทัดคำสั่งแบบยาว ไฟล์คำสั่งรวมถึง C
หรือความคิดเห็นสไตล์ C++ เช่นเดียวกับความคิดเห็น # หาก # ขึ้นต้นบรรทัด

ไฟล์ ชื่อ
ชื่อไฟล์อย่างง่ายหรือพาธไฟล์ถูกใช้เป็นชื่อของไฟล์ต้นทางของ Verilog
เส้นทางเริ่มต้นด้วยอักขระที่ไม่ใช่ช่องว่างสีขาวตัวแรก ตัวแปรคือ
แทนที่ในชื่อไฟล์

-c cmdfile.php -f cmdfile.php
A -c or -f โทเค็นนำหน้าไฟล์คำสั่ง เหมือนกับที่ทำในคำสั่ง
ไลน์. cmdfile อาจอยู่ในบรรทัดเดียวกันหรือบรรทัดถัดไปที่ไม่ใช่ข้อคิดเห็น

-y ความใคร่
A -y โทเค็นนำหน้าไดเร็กทอรีไลบรารีในไฟล์คำสั่งเหมือนกับที่ทำ
บนบรรทัดคำสั่ง พารามิเตอร์ไปยัง -y ธงอาจอยู่บนเส้นเดียวกันหรือ
บรรทัดถัดไปที่ไม่แสดงความคิดเห็น

ตัวแปรใน ความใคร่ ถูกแทนที่

+incdir+รวมอยู่ด้วย
พื้นที่ +incdir+ โทเค็นในไฟล์คำสั่งให้ไดเร็กทอรีเพื่อค้นหาไฟล์รวม
ในลักษณะเดียวกับที่ -I แฟล็กทำงานบนบรรทัดคำสั่ง ความแตกต่างคือ
ที่ทวีคูณนั้น +รวมdir ไดเร็กทอรีเป็นพารามิเตอร์ที่ถูกต้องสำหรับ single +incdir+
โทเค็นแม้ว่าคุณอาจมีหลาย +incdir+ เส้น

ตัวแปรใน รวมอยู่ด้วย ถูกแทนที่

+ลิเบ็กซ์+ต่อ
พื้นที่ + ลิเบ็กซ์ โทเค็นในไฟล์คำสั่งห้านามสกุลไฟล์ที่จะลองเมื่อมองหา
ไฟล์ห้องสมุด นี้เป็นประโยชน์ร่วมกับ -y ตั้งค่าสถานะเพื่อแสดงคำต่อท้ายที่จะลอง
ในแต่ละไดเร็กทอรีก่อนที่จะไปยังไดเร็กทอรีไลบรารีถัดไป

+libdir+dir
นี่เป็นอีกวิธีหนึ่งในการระบุไดเร็กทอรีไลบรารี ดูแฟล็ก -y

+libdir-nocase+dir
นี้เป็นเหมือน + libdir คำสั่ง แต่ชื่อไฟล์ภายในไดเร็กทอรีที่ประกาศ
นี่คือตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ชื่อโมดูลที่หายไปในการค้นหาไม่จำเป็นต้องตรงกับ
ตัวพิมพ์ชื่อไฟล์ ตราบใดที่ตัวอักษรถูกต้อง ตัวอย่างเช่น "foo" ตรงกัน
"Foo.v" แต่ไม่ใช่ "bar.v"

+กำหนด+ชื่อ=ความคุ้มค่า
พื้นที่ +กำหนด+ โทเค็นจะเหมือนกับ -D ตัวเลือกบนบรรทัดคำสั่ง มูลค่า
ส่วนหนึ่งของโทเค็นเป็นทางเลือก

+ไทม์สเกล+ความคุ้มค่า
พื้นที่ +ไทม์สเกล+ โทเค็นใช้เพื่อตั้งค่ามาตราส่วนเวลาเริ่มต้นสำหรับการจำลอง
นี่คือหน่วยเวลาและความแม่นยำก่อน `คำสั่งมาตราส่วนเวลาหรือหลัง a
`รีเซ็ตคำสั่ง ค่าเริ่มต้นคือ 1 วินาที/1 วินาที

+topper-ชื่อไฟล์
โทเค็นนี้ทำให้ชื่อไฟล์หลังจากสิ่งนี้ในไฟล์คำสั่งถูกแปลเป็น
ตัวพิมพ์ใหญ่ สิ่งนี้ช่วยในสถานการณ์ที่ไดเร็กทอรีผ่าน DOS
เครื่องและในกระบวนการชื่อไฟล์จะกลายเป็น munged

+tolower-ชื่อไฟล์
สิ่งนี้คล้ายกับ +topper-ชื่อไฟล์ แฮ็คที่อธิบายไว้ข้างต้น

+จำนวนเต็มความกว้าง+ความคุ้มค่า
ซึ่งช่วยให้โปรแกรมเมอร์เลือกความกว้างสำหรับตัวแปรจำนวนเต็มใน
แหล่งที่มาของ Verilog ค่าเริ่มต้นคือ 32 ค่าสามารถเป็นค่าจำนวนเต็มที่ต้องการได้

ตัวแปร IN คำสั่ง ไฟล์


ในบางกรณี iverilog รองรับตัวแปรในไฟล์คำสั่ง เหล่านี้เป็นสตริงของ
แบบฟอร์ม "$(นามสกุล)" หรือ "${นามสกุล}", ที่ไหน นามสกุล เป็นชื่อของตัวแปรสภาพแวดล้อม
อ่าน. สตริงทั้งหมดจะถูกแทนที่ด้วยเนื้อหาของตัวแปรนั้น ตัวแปรคือ
แทนที่ในบริบทที่สนับสนุนอย่างชัดเจนเท่านั้น รวมถึงไฟล์และไดเร็กทอรี
เงื่อนไข

ค่าตัวแปรมาจากสภาพแวดล้อมระบบปฏิบัติการ ไม่ใช่จากตัวประมวลผลล่วงหน้า
กำหนดที่อื่นในไฟล์หรือบรรทัดคำสั่ง

ที่กำหนดไว้ล่วงหน้า มาโคร


คอมไพเลอร์กำหนดมาโครต่อไปนี้ไว้ล่วงหน้า:

__อิคารัส__ = 1
สิ่งนี้ถูกกำหนดไว้เสมอเมื่อคอมไพล์ด้วย Icarus Verilog

__VAMS_เปิดใช้งาน__ = 1
สิ่งนี้ถูกกำหนดหากเปิดใช้งาน Verilog-AMS

ตัวอย่าง


ตัวอย่างเหล่านี้ถือว่าคุณมีไฟล์ต้นทางของ Verilog ชื่อ hello.v ในไฟล์ปัจจุบัน
ไดเรกทอรี

ในการคอมไพล์ hello.v เป็นไฟล์เรียกทำงานชื่อ a.out:

iverilog สวัสดี.v

ในการคอมไพล์ hello.v เป็นไฟล์เรียกทำงานที่ชื่อว่า hello:

iverilog -o สวัสดี สวัสดี.v

ในการคอมไพล์และรันอย่างชัดเจนโดยใช้ vvp runtime:

iverilog -ohello.vvp -tvvp สวัสดี.v

ใช้ iverilog ออนไลน์โดยใช้บริการ onworks.net


เซิร์ฟเวอร์และเวิร์กสเตชันฟรี

ดาวน์โหลดแอพ Windows & Linux

คำสั่ง Linux

Ad