англійськафранцузькаіспанська

Ad


Значок OnWorks

iverilog - онлайн у хмарі

Запустіть iverilog у постачальника безкоштовного хостингу OnWorks через Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

Це команда iverilog, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

ПРОГРАМА:

ІМ'Я


iverilog - компілятор Icarus Verilog

СИНТАКСИС


iverilog [-ESVv] [-Bpath] [-ccmdfile|-fcmdfile] [-Dmacro[=defn]] [-pflag=значення] [-dname]
[-g1995|-g2001|-g2005|-g ] [-Iincludedir] [-mmodule] [-Mfile] [-Nfile]
[-ooutputfilename] [-stopmodule] [-ttype] [-Tmin/typ/max] [-Wclass] [-ypath] вихідний файл

ОПИС


iverilog є компілятором, який перекладає вихідний код Verilog у виконувані програми для
моделювання або інші формати списків мереж для подальшої обробки. Наразі підтримується
цілі є vvp для моделювання, і FPGA для синтезу. Інші типи цілей додаються як
реалізовані генератори коду.

ВАРІАНТИ


iverilog приймає такі варіанти:

-Bбаза Команда iverilog програма використовує зовнішні програми та файли конфігурації для попередньої обробки
і компілюйте джерело Verilog. Зазвичай для пошуку цих інструментів використовується шлях
вбудований в iverilog програма. Однак, -B перемикач дозволяє користувачеві вибрати
інший набір програм. Наведений шлях використовується для визначення місцезнаходження ivlpp, ivl, код
генератори та модулі VPI.

-cфайл -fфайл
Ці прапорці визначають вхідний файл, який містить список вихідних файлів Verilog.
Це схоже на команда файл інших симуляторів Verilog, оскільки це a
файл, який містить імена файлів замість того, щоб приймати їх у командному рядку. Побачити
Command Файли нижче.

-Dмакрос Визначає макрос макрос з рядком "1" як його визначення. Ця форма зазвичай
використовується лише для запуску умовних умов ifdef у джерелі Verilog.

-Dмакрос=деф
Визначає макрос макрос as деф.

-dім'я Активуйте клас налагоджувальних повідомлень компілятора. The -d перемикач можна використовувати як
часто, якщо необхідно, щоб активувати всі потрібні повідомлення. Підтримувані імена
scopes, eval_tree, elaborate і synth2; будь-які інші імена ігноруються.

-E Попередньо обробляйте джерело Verilog, але не компілюйте його. Вихідним файлом є
Вхідні дані Verilog, але з розширеними та видаленими включеннями файлів і посиланнями на макроси.
Це корисно, наприклад, для попередньої обробки джерела Verilog для використання іншими
компілятори.

-g1995|-g2001|-g2001-noconfig|-g2005
Виберіть мову Verilog покоління для підтримки в компіляторі. Це вибирає
між IEEE1364-1995, IEEE1364-2001або IEEE1364-2005. Як правило, Icarus Verilog
за замовчуванням встановлюється останнє відоме покоління мови. Цей прапор є найбільш корисним
обмежити мову набором, який підтримується інструментами певних поколінь, для
сумісність з іншими інструментами.

-гверілог-амс|-gno-verilog-ams
Увімкнути або вимкнути (за замовчуванням) підтримку Verilog-AMS. Дуже мало Verilog-AMS
наразі підтримується певна функціональність.

-gвказати|-gno-вказати
Увімкнути або вимкнути (за замовчуванням) вказати підтримку блоків. Коли ввімкнено, вкажіть блок
розроблений код. Якщо вимкнено, вкажіть блоки, які аналізуються, але ігноруються. Вкажіть
Блоки зазвичай не потрібні для симуляції RTL і насправді можуть зашкодити
виконання моделювання. Однак відключення вказівних блоків знижує точність
моделювання повного робочого дня.

-gstd-include|-gno-std-include
Увімкнути (за замовчуванням) або вимкнути пошук за стандартною установкою
каталог після всіх інших явних каталогів include. Цей стандарт включає
каталог є зручним місцем для встановлення стандартних заголовних файлів, які Verilog
програма може включати.

-родича-включати|-gno-relative-include
Увімкнути або вимкнути (за замовчуванням) додавання локального каталогу файлів на початок
шлях пошуку файлу включення. Це дозволяє включати файли відносно
поточний файл, а не більш поширені файли знаходяться лише в робочому каталозі або
у вказаному шляху пошуку файлу включення.

-gxtypes|-gno-xtypes
Увімкнути (за замовчуванням) або вимкнути підтримку розширених типів. Увімкнення розширених типів
дозволяє використовувати нові типи, які підтримуються Icarus Verilog як розширення за межі
базовий Verilog. Під час компіляції коду може знадобитися відключити розширені типи
що суперечить кількома новими ключовими словами, які використовуються для реалізації системи типів.

-gio-range-error|-gno-io-range-error
Стандарти вимагають, щоб векторний порт мав відповідні діапазони для свого порту
декларацію, а також будь-яку мережну/реєстрову декларацію. Це була поширена практика в
past, щоб вказати лише діапазон для оголошення мережі/реєстру та деяких інструментів
все одно дозволяйте це. За замовчуванням будь-яка невідповідність повідомляється як помилка. Використання
-gno-io-range-error видає попередження замість фатальної помилки для випадку
векторної мережі/реєстру та оголошення скалярного порту.

-gstrict-ca-eval|-gno-strict-ca-eval
Стандарт вимагає, щоб будь-який вхід до неперервного виразу присвоєння
змінює значення, весь вираз повторно оцінюється. За замовчуванням частини
вирази, які не залежать від змінених вхідних значень, не оцінюються повторно.
Якщо вираз містить виклик функції, яка не залежить лише від її
введені значення або які мають побічні ефекти, результативна поведінка буде відрізнятися від
що вимагає стандарт. Використання -gstrict-ca-eval змусить стандарт
поступлива поведінка (з деякими втратами в продуктивності).

-Iвключено
Додати каталог включено до списку каталогів, які шукали за Verilog
файли The -I switch можна використовувати багато разів для визначення кількох каталогів
пошуку, каталоги шукаються в тому порядку, в якому вони відображаються в командному рядку.

-Mшлях Запишіть у файл, визначений шляхом, список файлів, які вносяться до
складання дизайну. Сюди входять файли, які включені
директиви та файли, які автоматично завантажуються підтримкою бібліотеки. Вихід
це одне ім’я файлу на рядок, без пробілів на початку чи в кінці.

-mМодулі
Додайте цей модуль до списку модулів VPI, які будуть завантажені моделюванням. Багато
модулі можна вказати, і всі будуть завантажені в зазначеному порядку. The
системний модуль є неявним і завжди включається. Якщо файл таблиці системних функцій
( .sft) існує для модуля, він буде завантажений автоматично.

-Nшлях Це використовується для налагодження власне компілятора. Дамп остаточної форми списку мереж
дизайн у вказаний файл. В іншому випадку це не впливає на роботу
компілятор. Дамп відбувається після розробки та оптимізації дизайну.

-o ім'я файлу
Помістіть вихід у файл ім'я файлу. Якщо ім’я вихідного файлу не вказано, iverilog
використовує назву за замовчуванням а.

-pпрапор=значення
Призначте значення цільовому прапору. The -p перемикач можна використовувати так часто, як
необхідно вказати всі потрібні прапорці. Прапори, які використовуються, залежать від
ціль, яка вибрана, і описані в документації щодо цілі. Прапори
які не використовуються, ігноруються.

-S Синтезувати. Зазвичай, якщо ціль може прийняти поведінкові описи
компілятор залишить процеси у поведінковій формі. The -S перемикач викликає
компілятор для виконання синтезу, навіть якщо він не є необхідним для цілі. Якщо
цільовий тип – це формат списку з’єднань -S перемикач не потрібний і не має ефекту.

-s верхній модуль
Вкажіть модуль верхнього рівня для розробки. Icarus Verilog за замовчуванням вибере
модулі, які не створені в жодних інших модулях, але іноді це не так
достатньо, або створює занадто багато модулів. Якщо користувач вказує один або кілька
кореневі модулі с -s прапори, то вони будуть використовуватися як кореневі модулі.

-Tмін|тип|макс
Використовуйте цей перемикач, щоб вибрати мінімальний, typ або максимальний час із виразів min:typ:max.
Зазвичай компілятор просто використовує значення typ із цих виразів
(друкує попередження для перших десяти знайдених), але цей перемикач повідомить про це
компілятор явно вказує, яке значення використовувати. Це пригніть попередження про те, що
компілятор робить вибір.

-tмета
Використовуйте цей перемикач, щоб указати цільовий формат виведення. Див ЦІЛІ розділ нижче
для списку дійсних вихідних форматів.

-v Увімкніть докладні повідомлення. Це надрукує командні рядки, які виконуються
виконати фактичну компіляцію разом з інформацією про версії з різних
компонентів, а також версії продукту в цілому. Ви помітите
що командні рядки містять посилання на тимчасовий файл ключа, який передається
інформацію до власне компілятора. Щоб цей файл не було видалено на
Після завершення процесу вкажіть власне ім’я файлу у змінній середовища
IVERILOG_ICONFIG.

-V Роздрукуйте версію компілятора та вийдіть.

-Wклас Увімкніть різні класи попереджень. Див УВАГА ВИДИ розділ нижче для
описи різних груп попереджень. Якщо кілька -W використовуються перемикачі,
набір попереджень є об'єднанням усіх запитуваних класів.

-ylibdir
Додайте каталог до шляху пошуку модуля бібліотеки. Коли компілятор знайде файл
undefined модуль, він шукає в цих каталогах файли з правильною назвою.

-YСуфікс
Додайте суфікс до списку прийнятних суфіксів імен файлів, які використовуються під час пошуку a
бібліотека для осередків. У списку за замовчуванням є один запис .v.

МОДУЛЬ БІБЛІОТЕКИ


Компілятор Icarus Verilog підтримує бібліотеки модулів як каталоги, які містять Verilog
вихідні файли. Під час розробки компілятор помічає створення екземпляра undefined
типи модулів. Якщо користувач вказує каталоги пошуку бібліотеки, компілятор шукатиме
каталог для файлів з назвою відсутнього типу модуля. Якщо він знайде такий файл,
він завантажує його як вихідний файл Verilog, вони знову намагаються розробити модуль.

Файли модулів бібліотеки повинні містити лише один модуль, але це не є обов’язковою умовою.
Бібліотечні модулі можуть посилатися на інші модулі в бібліотеці або в основному дизайні.

ЦІЛІ


Компілятор Icarus Verilog підтримує різноманітні цілі для різних цілей
-t перемикач використовується для вибору потрібної мети.

нулю Ціль null не призводить до створення коду. Це корисно для перевірки
синтаксис джерела Verilog.

vvp Це значення за замовчуванням. Ціль vvp генерує код для середовища виконання vvp. Вихід
є повною програмою, яка моделює дизайн, але повинна запускатися vvp
команда

FPGA Це мета синтезу, яка підтримує різноманітні пристрої FPGA, переважно EDIF
формат виведення. Генератор коду FPGA Icarus Verilog може генерувати повністю
проекти або макроси EDIF, які, у свою чергу, можуть бути імпортовані в більші проекти іншими
інструменти. The FPGA мета передбачає синтез -S прапор

VHDL Ця ціль створює VHDL-трансляцію списку мереж Verilog. Вихід а
один файл, що містить сутності VHDL, що відповідають модулям у Verilog
вихідний код. Зауважте, що підтримується лише підмножина мови Verilog. Побачити
Вікі для отримання додаткової інформації.

УВАГА ВИДИ


Це типи попереджень, які можна вибрати -W перемикач. Усі попередження
типи (крім всі) також може бути з префіксом ні- щоб вимкнути це попередження. Це
найбільш корисний після а -Стінка аргумент для придушення ізольованих типів попереджень.

всі Це вмикає неявні, portbind, select-range, timescale і
категорії попереджень чутливості всього масиву.

неявний
Це уможливлює попередження про створення неявних декларацій. Наприклад, якщо а
скалярний провід X використовується, але не оголошений у джерелі Verilog, це надрукує a
попередження при першому використанні.

portbind
Це вмикає попередження для портів екземплярів модулів, які не підключені
але, мабуть, має бути. Наприклад, звисаючі вхідні порти створять a
увага.

вибір-діапазон
Це дозволяє отримувати попередження про постійні вибори поза межами. Сюди входять часткові або
повністю поза межами вибирає, а також вибір, що містить 'bx або 'bz в
index.

шкала часу
Це дозволяє попереджати про непослідовне використання директиви про шкалу часу. Він виявляє
якщо деякі модулі не мають шкали часу, або якщо модулі успадковують шкалу часу від іншого
файл. Обидва, ймовірно, означають, що часові шкали є непослідовними, а час моделювання
може бути заплутаним і залежати від порядку компіляції.

infloop Це дозволяє отримувати попередження для операторів завжди, які можуть мати нескінченні цикли під час виконання
(має шляхи без або нульової затримки). Цей клас попереджень не входить до -Стінка
і, отже, не має a ні- варіант. Повідомлення про смертельну помилку завжди буде
друкується, коли компілятор може визначити, що буде безмежно
цикл (всі шляхи не мають або нульову затримку).

Якщо ви підозрюєте, що оператор always створює нескінченний цикл під час виконання, використовуйте це
прапорець, щоб знайти оператори always, логіку яких потрібно перевірити. це є
Очікується, що багато попереджень будуть помилковими, оскільки код обробляє
значення всіх змінних і сигналів як невизначені.

чутливість-цілий-вектор
Це вмикає попередження про те, коли частина вибирається в операторі "always @*".
призводить до того, що весь вектор додається до списку неявної чутливості.
Хоча така поведінка передбачена стандартом IEEE, це не те, що могло б бути
можна очікувати і може мати наслідки для продуктивності, якщо вектор великий.

чутливість-весь-масив
Це вмикає попередження про вибір слова в операторі "always @*".
призводить до того, що весь масив додається до неявного списку чутливості. Хоча
така поведінка передбачена стандартом IEEE, це не те, що могло б бути
очікуваний і може мати наслідки для продуктивності, якщо масив великий.

SYSTEM ФУНКЦІЯ ТАБЛИЦЯ ФАЙЛИ


Якщо ім’я вихідного файлу як a .sft суфіксом, то це вважається таблицею системних функцій
файл. Файл таблиці системних функцій використовується для опису компілятору типів повернення
для системних функцій. Це необхідно, оскільки компілятору потрібна ця інформація
складні вирази, які містять ці системні функції, але не можуть запустити sizetf
функцій, оскільки він не має часу виконання.

Формат таблиці ASCII, одна функція на рядок. Порожні рядки ігноруються, і
рядки, які починаються з '#символ ' є рядками коментарів. Кожен рядок без коментарів починається
з назвою функції, потім тип vpi (тобто vpiSysFuncReal). Наступні типи є
підтримується:

vpiSysFuncReal
Функція повертає значення в реальному/реальному часі.

vpiSysFuncInt
Функція повертає ціле число.

vpiSysFuncSized
Функція повертає вектор із заданою шириною і має знак або беззнак
відповідно до прапора.

КОМАНДА ФАЙЛИ


Командний файл дозволяє користувачеві розміщувати імена вихідних файлів і певний командний рядок
перемикається у текстовий файл замість довгого командного рядка. Командні файли можуть включати C
або коментарі в стилі C++, а також # коментарі, якщо # починається рядок.

файл ім'я
Просте ім'я файлу або шлях до файлу вважається ім'ям вихідного файлу Verilog.
Шлях починається з першого символу, який не є пробілом. Змінні є
замінені в іменах файлів.

-c cmd-файл -f cmd-файл
A -c or -f маркер додає префікс до командного файлу, точно так само, як і в команді
лінія. Файл cmd може бути в тому ж рядку або в наступному рядку без коментарів.

-y libdir
A -y маркер додає префікс до каталогу бібліотеки в командному файлі, точно так само, як це робить
в командному рядку. Параметр до -y прапор може бути на одному рядку або в
наступний рядок без коментарів.

Змінні в libdir замінюються.

+incdir+включено
Команда +incdir+ маркер у командних файлах надає каталоги для пошуку включених файлів
приблизно так само, як -I прапори працюють у командному рядку. Різниця є
що кілька +includedir каталоги є допустимими параметрами для одного +incdir+
маркер, хоча у вас також може бути кілька +incdir+ лінії

Змінні в включено замінюються.

+libext+ext
Команда +libext маркер у командних файлах п’ять розширень файлів, які можна спробувати під час пошуку a
файл бібліотеки. Це корисно в поєднанні з -y прапорці для переліку суфіксів, які можна спробувати
у кожному каталозі перед переходом до наступного каталогу бібліотеки.

+libdir+реж
Це ще один спосіб вказати каталоги бібліотек. Дивіться прапор -y.

+libdir-nocase+реж
Це схоже на +libdir оператор, але імена файлів всередині оголошених каталогів
тут не чутливі до регістру. Відсутнє ім’я модуля в пошуку не обов’язково збігається з ім’ям
регістр імені файлу, якщо літери правильні. Наприклад, "foo" відповідає
"Foo.v", але не "bar.v".

+визначити+ІМ'Я=значення
Команда +визначити+ токен те саме, що -D параметр у командному рядку. Значення
частина токена необов'язкова.

+часовий масштаб+значення
Команда +часовий масштаб+ маркер використовується для встановлення часового масштабу за замовчуванням для моделювання.
Це одиниці часу та точність до будь-якої директиви про шкалу часу або після a
`директива перезавантаження. За замовчуванням – 1с/1с.

+toupper-ім'я файлу
Цей маркер призводить до перекладу назв файлів після цього в командному файлі
великими літерами. Це допомагає в ситуаціях, коли каталог пройшов через DOS
машині, і в процесі імена файлів змінюються.

+tolower-ім'я файлу
Це схоже на +toupper-ім'я файлу хак, описаний вище.

+цілочисельна ширина+значення
Це дозволяє програмісту вибрати ширину для цілочисельних змінних у файлі
Джерело Verilog. За замовчуванням — 32, значенням може бути будь-яке потрібне ціле значення.

ЗМІННІ IN КОМАНДА ФАЙЛИ


У деяких випадках iverilog підтримує змінні в командних файлах. Це струни
форма "$(ім'я вар)" або "${ім'я вар}", де ім'я вар це ім'я змінної середовища
читати. Весь рядок замінюється вмістом цієї змінної. Змінні є
замінюються лише в контекстах, які явно підтримують їх, включаючи файл і каталог
струни.

Значення змінних надходять із середовища операційної системи, а не з препроцесора
визначає в іншому місці у файлі або в командному рядку.

ЗАВЕРШЕНИЙ МАКРОС


Наступні макроси попередньо визначені компілятором:

__ICARUS__ = 1
Це завжди визначається під час компіляції з Icarus Verilog.

__VAMS_ENABLE__ = 1
Це визначається, якщо увімкнено Verilog-AMS.

ПРИКЛАДИ


Ці приклади припускають, що у вас є вихідний файл Verilog під назвою hello.v у поточному
каталог

Щоб зібрати hello.v у виконуваний файл a.out:

iverilog привіт.v

Щоб зібрати hello.v у виконуваний файл під назвою hello:

iverilog -o привіт hello.v

Щоб зібрати та запустити явно за допомогою середовища виконання vvp:

iverilog -ohello.vvp -tvvp привіт.v

Використовуйте iverilog онлайн за допомогою служб onworks.net


Безкоштовні сервери та робочі станції

Завантажте програми для Windows і Linux

Команди Linux

Ad