| VERILATOR(1) | User Contributed Perl Documentation | VERILATOR(1) |
نام (NAME)
Verilator - بررسی نحوی (lint)، کامپایل و شبیهسازی کدهای SystemVerilog با استفاده از C++/SystemC
خلاصه دستور (SYNOPSIS)
verilator --help verilator --version verilator --binary -j 0 [options] [source_files.v]... [opt_c_files.cpp/c/cc/a/o/so] verilator --cc [options] [source_files.v]... [opt_c_files.cpp/c/cc/a/o/so] verilator --sc [options] [source_files.v]... [opt_c_files.cpp/c/cc/a/o/so] verilator --lint-only -Wall [source_files.v]...
توضیحات (DESCRIPTION)
بستهٔ «Verilator» تمام طرحهای سنتزپذیر و بسیاری از طرحهای رفتاری Verilog و SystemVerilog را به یک مدل C++ یا SystemC تبدیل میکند که پس از کامپایل، قابل اجرا است. Verilator یک شبیهساز سنتی نیست، بلکه یک کامپایلر است.
برای مشاهده مستندات، به https://verilator.org/verilator_doc.html مراجعه کنید..SH "خلاصه آرگومانها (ARGUMENT SUMMARY)" این یک خلاصه کوتاه از آرگومانهای برنامه اجرایی «verilator» است. برای توضیحات دقیق این آرگومانها به https://verilator.org/guide/latest/exe_verilator.html مراجعه کنید.
<file.v> نام فایلهای بسته، ماژول و ماژول سطح بالای Verilog <file.c/cc/cpp> فایلهای اختیاری C++ برای کامپایل در برنامه <file.a/o/so> فایلهای اختیاری C++ برای پیوند در برنامه +1364-1995ext+<ext> استفاده از Verilog 1995 با پسوند فایل <ext> +1364-2001ext+<ext> استفاده از Verilog 2001 با پسوند فایل <ext> +1364-2005ext+<ext> استفاده از Verilog 2005 با پسوند فایل <ext> +1800-2005ext+<ext> استفاده از SystemVerilog 2005 با پسوند فایل <ext> +1800-2009ext+<ext> استفاده از SystemVerilog 2009 با پسوند فایل <ext> +1800-2012ext+<ext> استفاده از SystemVerilog 2012 با پسوند فایل <ext> +1800-2017ext+<ext> استفاده از SystemVerilog 2017 با پسوند فایل <ext> +1800-2023ext+<ext> استفاده از SystemVerilog 2023 با پسوند فایل <ext> --no-aslr غیرفعالسازی تصادفیسازی چیدمان فضای آدرس (ASLR) --no-assert غیرفعالسازی تمام ارزیابیها (assertions) --no-assert-case غیرفعالسازی ارزیابیهای unique/unique0/priority-case --assert-unroll-limit <iter> حداکثر تکرار ارزیابی SVA پیش از ایجاد خطا --autoflush تخلیه جریانها پس از تمام $displayها --bbox-sys جعبهسیاه در نظر گرفتن فراخوانیهای ناشناخته $system --bbox-unsup جعبهسیاه در نظر گرفتن ویژگیهای پشتیبانینشده زبان --binary ساخت باینری مدل --build ساخت فایل اجرایی/کتابخانه مدل پس از Verilation --build-dep-bin <filename> جایگزینی باینری Verilator برای وابستگی ساخت --build-jobs <jobs> میزان موازیسازی برای --build --cc ایجاد خروجی C++ -CFLAGS <flags> آرگومانهای کامپایلر C++ برای makefile --compiler <compiler-name> تنظیم برای کامپایلر C++ مشخصشده --compiler-include گنجاندن هدر اضافی در فایل پیشکامپایلشده --constraint-array-limit <size> حداکثر اندازه آرایه برای تقلیل آرایه قیدها --converge-limit <loops> تنظیم زمان پایدارسازی همگرایی --coverage فعالسازی تمام پوششها (coverage) --coverage-expr فعالسازی پوشش عبارات (expression coverage) --coverage-expr-max <value> حداکثر جایگشتهای مجاز برای یک عبارت --coverage-fsm فعالسازی پوشش حالت/کمان FSM --coverage-line فعالسازی پوشش خطوط --coverage-max-width <width> حداکثر عمق آرایه برای پوشش --coverage-per-instance فعالسازی شمارندههای پوشش بهازای هر نمونه --coverage-toggle فعالسازی پوشش تغییر وضعیت (toggle coverage) --coverage-underscore فعالسازی پوشش _signals --coverage-user فعالسازی پوشش کاربر SVL -D<var>[=<value>] تعریف مقدار پیشپردازنده --debug فعالسازی اشکالزدایی --debug-check فعالسازی ارزیابیهای اشکالزدایی --no-debug-leak غیرفعالسازی نشت حافظه در حالت --debug --debugi <level> فعالسازی اشکالزدایی در یک سطح مشخص --debugi-<srcfile> <level> فعالسازی اشکالزدایی یک فایل منبع در یک سطح مشخص --no-decoration غیرفعالسازی کامنتها و کاهش سطح فاصلهگذاری --decorations <level> تنظیم سطح کامنت و فاصلهگذاری خروجی --default-language <lang> زبان پیشفرض برای تجزیه +define+<var>=<value> تعریف مقدار پیشپردازنده --diagnostics-sarif فعالسازی خروجی عیبیابی SARIF --diagnostics-sarif-output <filename> تنظیم فایل خروجی عیبیابی SARIF --dpi-hdr-only فقط ایجاد فایل هدر DPI --dump-<srcfile> فعالسازی تخلیه همهچیز در فایل منبع --dump-ast-patterns فعالسازی تخلیه آمارهای الگوی Ast --dump-defines نمایش تعاریف پیشپردازنده با -E --dump-dfg فعالسازی تخلیه DfgGraphها در فایلهای .dot --dump-dfg-patterns فعالسازی تخلیه آمارهای الگوی Dfg --dump-graph فعالسازی تخلیه V3Graphها در فایلهای .dot --dump-inputs فعالسازی تخلیه فایلهای ورودی پیشپردازششده --dump-tree فعالسازی تخلیه فایلهای Ast .tree --dump-tree-addrids استفاده از شناسههای کوتاه به جای آدرسها --dump-tree-dot فعالسازی تخلیه فایلهای اشکالزدایی Ast .tree.dot --dump-tree-json فعالسازی تخلیه فایلهای Ast .tree.json و فایل .tree.meta.json --dumpi-<srcfile> <level> فعالسازی تخلیه همهچیز در فایل منبع در یک سطح مشخص --dumpi-dfg <level> فعالسازی تخلیه DfgGraphها در فایلهای .dot در یک سطح مشخص --dumpi-graph <level> فعالسازی تخلیه V3Graphها در فایلهای .dot در یک سطح مشخص --dumpi-tree <level> فعالسازی تخلیه فایلهای Ast .tree در یک سطح مشخص --dumpi-tree-json <level> فعالسازی تخلیه فایلهای Ast .tree.json در یک سطح مشخص -E پیشپردازش، بدون کامپایل --emit-accessors تولید متدهای getter و setter برای کلاس سطح بالای مدل --error-limit <value> توقف پس از این تعداد خطا --exe پیوند دادن برای ساخت فایل اجرایی --expand-limit <value> تنظیم حد بهینهسازی گسترش (expand) -F <file> تجزیه آرگومانها از یک فایل، بهطور نسبی -f <file> تجزیه آرگومانها از یک فایل -FI <file> گنجاندن اجباری یک فایل --flatten درونخطیسازی اجباری همه ماژولها، وظیفهها و تابعها --fourstate فعالسازی منطق چهاروضعیتی (fourstate) --no-fourstate غیرفعالسازی منطق چهاروضعیتی (fourstate) --func-recursion-depth <value> حداکثر عمق بازگشتی تابع ثابت --future0 <option> نادیده گرفتن یک گزینه برای سازگاری --future1 <option> نادیده گرفتن یک گزینه همراه با آرگومان برای سازگاری -fno-<optimization> غیرفعالسازی مرحله بهینهسازی داخلی -G<name>=<value> بازنویسی پارامتر سطح بالا (top-level) --gate-stmts <value> تنظیم عمق بهینهساز گیت --gdb اجرای تعاملی Verilator تحت GDB --gdbbt اجرای Verilator تحت GDB برای ردیابی به عقب (backtrace) --generate-key ایجاد کلید تصادفی برای --protect-key --get-supported <feature> بررسی پشتیبانی شدن یا نشدن ویژگی --getenv <var> دریافت متغیر محیطی همراه با مقادیر پیشفرض --help نمایش این راهنما --hierarchical فعالسازی Verilation سلسلهمراتبی --hierarchical-block <block> صرفاً استفاده داخلی برای --hierarchical --hierarchical-child <block> صرفاً استفاده داخلی برای --hierarchical --hierarchical-params-file <name> گزینه داخلی تعیینکننده فایل پارامترها برای بلوکهای سلسلهمراتبی --hierarchical-threads <threads> تعداد رشتهها برای زمانبندی سلسلهمراتبی -I<dir> دایرکتوری جستجو برای includeها --if-depth <value> تنظیم هشدار IFDEPTH +incdir+<dir> دایرکتوری جستجو برای includeها --inline-cfuncs <value> درونخطیسازی CFuncها با گرههای <=value (مقدار 0=خاموش) --inline-cfuncs-product <value> درونخطیسازی CFuncها در صورت size*calls <= value --inline-mult <value> تنظیم درونخطیسازی ماژول --instr-count-dpi <value> تعداد دستورهای پویای مفروض برای واردات DPI -j <jobs> میزان موازیسازی برای --build-jobs/--verilate-jobs --no-json-edit-nums عدم تخلیه editNum در فایلهای .tree.json --no-json-ids عدم استفاده از شناسههای کوتاه به جای آدرسها/مسیرها در .tree.json --json-only ایجاد خروجی تجزیهکننده JSON (.tree.json و .meta.json) --json-only-meta-output <filename> تنظیم نام فایل خروجی .tree.meta.json --json-only-output <filename> تنظیم نام فایل خروجی .tree.json --l2-name <value> نام حوزه Verilog برای ماژول سطح بالا (top) --language <lang> استاندارد پیشفرض زبان برای تجزیه -LDFLAGS <flags> آرگومانهای پیشآبجکتِ پیونددهنده برای makefile -libmap مشخص کردن فایل نگاشت کتابخانه --lib-create <name> ایجاد یک کتابخانه DPI +libext+<ext>+[ext]... پسوندها برای یافتن ماژولها +librescan نادیدهگرفتهشده برای سازگاری --lint-only بررسی لغوی و نگارشی (lint)، بدون ایجاد خروجی --localize-max-size <value> تنظیم اندازه متغیر در بهینهسازی محلیسازی --main تولید فایل main() در C++ --main-top-name مشخص کردن نام top ارسالی به مدل Verilated در main() تولیدشده C++ --make <build-tool> تولید اسکریپتها برای ابزار ساخت مشخصشده -MAKEFLAGS <flags> آرگومانهای ارسالی به make در طول --build --max-num-width <value> حداکثر عرض عدد (پیشفرض: 64K) --Mdir <directory> نام دایرکتوری آبجکت خروجی --MMD ایجاد فایلهای وابستگی .d --mod-prefix <topname> نام اضافه شونده به ابتدای کلاسهای پایینتر --MP ایجاد هدفهای وابستگی ساختگی (phony) +notimingchecks نادیدهگرفتهشده -o <executable> نام فایل اجرایی نهایی -O0 غیرفعالسازی بهینهسازیها -O1 بهینهسازیهای پیشفرض -O2 بهینهسازیهای قویتر -O3 بهینهسازیهای با کارایی بالا -O<optimization-letter> بهینهسازیهای قابل انتخاب --output-groups <numfiles> گروهبندی فایلهای .cpp در فایلهای بزرگتر --output-split <statements> تقسیم فایلهای .cpp به بخشهای مختلف --output-split-cfuncs <statements> تقسیم توابع مدل --output-split-ctrace <statements> تقسیم توابع ردگیری -P غیرفعالسازی شماره خطوط و خطوط خالی با -E --pins-bv <bits> تعیین انواع برای پورتهای سطح بالا --pins-inout-enables تعیین ایجاد سیگنالهای __en و __out برای inoutها --pins-sc-biguint تعیین انواع برای پورتهای سطح بالا --pins-sc-uint تعیین انواع برای پورتهای سطح بالا --pins-sc-uint-bool تعیین انواع برای پورتهای سطح بالا --pins-uint8 تعیین انواع برای پورتهای سطح بالا --no-pins64 عدم استفاده از uint64_t برای سیگنالهای ۳۳ تا ۶۴ بیتی --pipe-filter <command> فیلتر کردن تمام ورودی از طریق یک اسکریپت --prefix <topname> نام کلاس سطح بالا (top-level) --preproc-comments گنجاندن کامنتهای پیشپردازنده در خروجی با -E --preproc-defines گنجاندن تعاریف پیشپردازنده در خروجی با -E --preproc-resolve گنجاندن همه ماژولهای پیدا شده در خروجی با -E --preproc-token-limit حداکثر نشانههای مجاز در یک خط توسط پیشپردازنده --private اشکالزدایی؛ مستندات را ببینید --prof-c کامپایل کد C++ با نمایهسازی --prof-cfuncs نامگذاری توابع برای نمایهسازی --prof-exec فعالسازی تولید نمایه اجرا برای نمودار گانت (gantt chart) --prof-pgo فعالسازی تولید دادههای نمایهسازی برای PGO --protect-ids درهمسازی نام شناسهها برای مبهمسازی --protect-key <key> کلید محافظت از نمادها --protect-lib <name> ایجاد یک کتابخانه محافظتشده DPI --public علامتگذاری سیگنالها به عنوان public؛ مستندات را ببینید --public-depth <level> علامتگذاری عمومی تا عمق ماژول مشخصشده --public-flat-rw علامتگذاری تمام متغیرها و غیره به عنوان public_flat_rw --public-ignore نادیده گرفتن تمام علامتگذاریهای کامنت public --public-params علامتگذاری تمام پارامترها به عنوان public_flat -pvalue+<name>=<value> بازنویسی پارامتر سطح بالا (toplevel) --quiet به حداقل رساندن چاپهای خروجی اضافی --quiet-build عدم چاپ پیشرفت ساخت --quiet-exit عدم چاپ دستور در صورت بروز شکست --quiet-stats عدم چاپ آمارها --relative-includes حلوفصل includeها به صورت نسبی با فایل جاری --reloop-limit <value> حداقل تکرارها برای تشکیل حلقه --replication-limit <value> محدودیت الحاق تکرار (پیشفرض: 8k) --report-unoptflat عیبیابیهای بیشتر برای UNOPTFLAT --rr اجرای Verilator و ضبط با rr --runtime-debug فعالسازی اشکالزدایی زمان اجرای مدل --savable فعالسازی ذخیره/بازیابی (save-restore) مدل --sc ایجاد خروجی SystemC --sched-zero-delay تعیین پشتیبانی از تأخیر 0# --no-skip-identical غیرفعالسازی نادیده گرفتن خروجی یکسان --stats ایجاد فایل آمار --stats-vars ارائه آمار درباره متغیرها --no-std جلوگیری از بارگیری فایلهای استاندارد --no-std-package جلوگیری از تجزیه بسته استاندارد --no-std-waiver جلوگیری از تجزیه چشمپوشیهای lint استاندارد --no-stop-fail عدم فراخوانی $stop در صورت شکست ارزیابی -sv فعالسازی تجزیه SystemVerilog +systemverilogext+<ext> مترادف برای +1800-2023ext+<ext> --threads <threads> فعالسازی چندرشتگی (multithreading) --threads-dpi <mode> فعالسازی DPI چندرشتهای --threads-max-mtasks <mtasks> تنظیم حداکثر بخشبندی mtask --timescale <timescale> تنظیم مقیاس زمانی (timescale) پیشفرض --timescale-override <timescale> بازنویسی تمام مقیاسهای زمانی --timing فعالسازی پشتیبانی از زمانبندی (timing) --no-timing غیرفعالسازی پشتیبانی از زمانبندی (timing) --top <topname> نام مستعار برای --top-module --top-module <topname> نام ماژول ورودی سطح بالا (top-level) --trace فعالسازی ایجاد شکلموجهای VCD --trace-coverage فعالسازی ردگیری پوشش --trace-depth <levels> عمق ردگیری --trace-fst فعالسازی ایجاد شکلموجهای FST --trace-max-array <depth> حداکثر عمق آرایه برای ردگیری --trace-max-width <width> حداکثر عرض بیت برای ردگیری --trace-params فعالسازی ردگیری پارامترها --trace-saif فعالسازی ایجاد فایل SAIF --trace-structs فعالسازی ردگیری نامهای ساختار --no-trace-top عدم انتشار ردها برای سیگنالهای ماژول سطح بالا تولیدشده با verilator --trace-underscore فعالسازی ردگیری _signals --trace-vcd فعالسازی ایجاد شکلموجهای VCD -U<var> لغو تعریف پیشپردازنده --no-unlimited-stack عدم غیرفعالسازی حد اندازه پشته --unroll-count <loops> تنظیم حداکثر تکرارهای حلقه --unroll-limit <loops> حداکثر تکرارهای حلقه پیش از فرض حلقه بینهایت --unroll-stmts <stmts> تنظیم حداکثر اندازه بدنه حلقه --unused-regexp <regexp> تنظیم سیگنالهای lint با برچسب UNUSED -V اطلاعات مشروح نسخه و پیکربندی -v <filename> کتابخانه Verilog --valgrind اجرای Verilator تحت valgrind --no-verilate صرفنظر از Verilation و صرفاً کامپایل کدهای قبلاً Verilate شده --verilate-jobs رشتههای کاری برای مرحله Verilation +verilog1995ext+<ext> مترادف برای +1364-1995ext+<ext> +verilog2001ext+<ext> مترادف برای +1364-2001ext+<ext> --version نمایش نسخه برنامه و خروج --vpi فعالسازی کامپایلهای VPI --waiver-multiline ایجاد --match چندخطی برای چشمپوشیها (waivers) --waiver-output <filename> ایجاد فایل چشمپوشی بر اساس هشدارهای linter -Wall فعالسازی تمام هشدارهای سبکی (style) -Werror-<message> تبدیل هشدارها به خطا -Wfuture-<message> غیرفعالسازی هشدارهای پیام ناشناخته -Wno-<message> غیرفعالسازی هشدار -Wno-context غیرفعالسازی بافت منبع (context) روی هشدارها -Wno-fatal غیرفعالسازی خروج مرگبار بر اثر هشدارها -Wno-lint غیرفعالسازی تمام هشدارهای lint -Wno-style غیرفعالسازی تمام هشدارهای سبکی (style) -work <libname> تنظیم کتابخانه پیکربندی برای فایلهای پس از این -Wpedantic هشدار درباره موارد آزمون انطباق (compliance-test) -Wwarn-<message> فعالسازی پیام هشدار مشخصشده -Wwarn-lint فعالسازی پیام هشدار lint -Wwarn-style فعالسازی پیام هشدار سبکی (style) --x-assign <mode> اختصاص این مقدار به Xهای غیر اولیهسازیشده --x-initial <mode> اختصاص این مقدار به Xهای اولیه --x-initial-edge فعالسازی محرکهای لبه اولیه X->0 و X->1 -y <dir> دایرکتوری جستجو برای ماژولها.Ve
این خلاصهای کوتاه از آرگومانهای زمان اجرای شبیهسازی، یعنی برای مدلهای زمان اجرای نهایی شبیهسازی Verilated است. برای شرح تفصیلی این آرگومانها به <https://verilator.org/guide/latest/exe_verilator.html> مراجعه کنید.
+verilator+assert+lock قفل کردن تغییرات وضعیت assertion در زمان راهاندازی +verilator+coverage+file+<filename> تنظیم نام فایل خروجی پوشش (coverage) +verilator+debug فعالسازی اشکالزدایی +verilator+debugi+<value> فعالسازی اشکالزدایی در یک سطح مشخص +verilator+error+limit+<value> تنظیم محدودیت خطا +verilator+help نمایش راهنما +verilator+log+file+<filename> ثبت خروجیهای stdout و stderr در نام فایل +verilator+noassert غیرفعالسازی بررسی assert +verilator+prof+exec+file+<filename> تنظیم نام فایل پروفایل اجرا +verilator+prof+exec+start+<value> تنظیم نقطه شروع پروفایل اجرا +verilator+prof+exec+window+<value> تنظیم مدت زمان پروفایل اجرا +verilator+prof+vlt+file+<filename> تنظیم نام فایل پروفایل PGO +verilator+quiet به حداقل رساندن چاپهای اضافی +verilator+rand+reset+<value> تنظیم روش بازنشانی تصادفی +verilator+seed+<value> تنظیم مقدار سید (seed) تصادفی +verilator+solver+file+<filename> تنظیم نام فایل لاگ حلکننده تصادفی +verilator+V نمایش نگارش و پیکربندی با جزئیات کامل +verilator+version نمایش نسخه و خروج +verilator+vpi+<library>[:<bootstrap>] بارگذاری کتابخانه اشتراکی VPI +verilator+wno+unsatconstr+<value> غیرفعالسازی هشدارهای قید (constraint)
توزیع (DISTRIBUTION)
جدیدترین نگارش در https://verilator.org در دسترس است.
کپیرایت 2003-2026 متعلق به Wilson Snyder است. این برنامه یک نرمافزار آزاد است؛ شما میتوانید آن و/یا بخشهای داخلی Verilator را تحت شرایط مجوز GNU Lesser General Public License نسخه ۳ یا مجوز Perl Artistic License نسخه ۲.۰ بازتوزیع کرده و/یا تغییر دهید.
تمام کدهای Verilog و C++/SystemC نقلشده در این فایل مستندات تحت Creative Commons Public Domain (CC0) منتشر شدهاند. بسیاری از فایلهای نمونه و فایلهای آزمایشی نیز همانطور که در خود فایلها توضیح داده شده است، تحت CC0 و در عمل در مالکیت عمومی (Public Domain) منتشر شدهاند.
همچنین ببینید (SEE ALSO)
verilator_coverage, verilator_gantt, verilator_profcfunc, make,
"verilator --help" که منبع این مستند است،
و https://verilator.org/verilator_doc.html برای مستندات تفصیلی.
| 2026-09-05 | perl v5.42.2 |