Systemverilog/Verilog VCP2000 «Синтаксическая ошибка. Неожиданный токен: class[_IDENTIFIER].»

Я не мог понять, что не так с кодом здесь:

https://www.edaplayground.com/x/SpPU

Фрагмент кода

1 // Code your testbench here
2 // or browse Examples
3
4 class myclass;
5 endclass

Сообщение об ошибке

[2024-09-02 08:46:01 UTC] vlib work && vlog '-timescale' '1ns/1ns' '-v95' +incdir+$RIVIERA_HOME/vlib/uvm-1.1d/src -l uvm -err VCP2947 W9 -err VCP2974 W9 -err VCP3003 W9 -err VCP5417 W9 -err VCP6120 W9 -err VCP7862 W9 -err VCP2129 W9 design.sv testbench.sv  && vsim -c -do "vsim +access+r; run -all; exit"  
VSIMSA: Configuration file changed: `/home/runner/library.cfg'
ALIB: Library "work" attached.
work = /home/runner/work/work.lib
ERROR VCP2000 "Syntax error. Unexpected token: class[_IDENTIFIER]." "testbench.sv" 4  6
WARNING VCP2515 "Undefined module: gen_pkt was used. Port connection rules will not be checked at such instantiations." "testbench.sv" 36  15
FAILURE "Compile failure 1 Errors 1 Warnings  Analysis time: 0[s]."
Exit code expected: 0, received: 255
Done

Настройки симулятора указаны в 1-й строке сообщения об ошибке. Я погуглил эту тему, но большинство проблем возникало только из-за отсутствия ;

Пожалуйста, укажите код и соответствующую ошибку в своем вопросе вместо ссылки на него.

nneonneo 02.09.2024 09:01

Я считаю, что именно в этом цель EDA Playground. Или, может быть, вы не знаете, как им пользоваться?

renvill 02.09.2024 09:06

Посетите Справочный центр: stackoverflow.com/help/how-to-ask . «Если возможно создать живой пример проблемы, на который можно дать ссылку (например, на sqlfiddle.com или jsbin.com), сделайте это, но также скопируйте код в сам вопрос. . Не каждый может получить доступ к внешним сайтам, и ссылки могут со временем сломаться».

nneonneo 02.09.2024 09:09

Я считаю, что флаг -v95 заставляет симулятор компилировать код как Verilog IEEE1364-1995, который не поддерживает class. Удалите флаг, чтобы его можно было скомпилировать как SystemVerilog.

Greg 02.09.2024 23:57

Большое спасибо @Greg! Каким-то образом я просто переключал этот флаг между {-v95}, {-v2k} и {-v2k5} и все равно получаю ту же ошибку. После его удаления ошибка исчезла, и я могу продолжить отладку других синтаксических ошибок. Большое спасибо за вашу помощь!

renvill 03.09.2024 03:14

@nneonneo Сэр, я не хочу показаться грубым, но немного сострадания и терпения помогут таким невежественным любителям, как я, которым просто нужна была максимально быстрая помощь от самых терпеливых экспертов. Я еще не знаю полных правил этой платформы, поэтому не знаю, что делает отрицательное голосование (возможно, уменьшает видимость моего вопроса и т. д.). Я уже улучшил свой вопрос, но он был хладнокровно закрыт. В любом случае спасибо, по крайней мере, я получил ценный ответ Грега. Он явно эксперт по SV/Verilog.

renvill 03.09.2024 03:25

@renvill, я считаю, что ннеоннео действительно проявил сострадание и терпение. Они предоставили два комментария, которые помогут вам улучшить ваш вопрос. Будьте осторожны с предположениями: у нас нет возможности узнать, кто проголосовал против вашего вопроса. «Я еще не знаю полных правил этой платформы» — однако вы уже должны были прочитать страницу «Как задать вопрос», о которой упоминается во втором комментарии.

Chris 03.09.2024 12:23

@Greg, вопрос открыт снова; не стесняйтесь оставлять свой комментарий в качестве ответа. Поскольку эта ошибка не появилась при быстром поиске в Google, я думаю, что было бы полезно получить окончательный ответ.

nneonneo 03.09.2024 13:20

@Chris Извиняюсь, я действительно предполагал, что это было неоннео, и не удосужился проверить, кто за это проголосовал. Но, как вы упомянули, узнать это невозможно. Тогда я должен быть благодарен nneonneo за то, что он проложил путь к более дисциплинированному (и профессиональному) сообществу вопросов и ответов. Большое спасибо !

renvill 04.09.2024 03:37
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
9
52
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Флаг -v95 заставляет симулятор компилировать код как Verilog IEEE1364-1995, который не поддерживает class. Убрав этот флаг, симулятор сможет скомпилировать код как SystemVerilog. SystemVerilog поддерживает class, typedef, enum, int и другие ключевые слова, используемые в вашем коде по ссылке edaplaygroud.

Другие вопросы по теме