реклама на сайте
подробности

 
 
> новичок, string, ошибка в коде
nomerlin
сообщение Sep 4 2018, 17:53
Сообщение #1





Группа: Участник
Сообщений: 7
Регистрация: 4-09-18
Пользователь №: 107 221



Приветствую форумчане, кратко обо мне, я начинающий любитель программист, немного знаю c++
и решил попробовать verilog, первое с чем я столкнулся, это работа со строками, и как создавать массивы больших размеров, например на C++ int arr[999999]
сейчас конкретно string выдаёт ошибку
matemat.vl:7: syntax error
matemat.vl:7: error: Invalid module instantiation
работаю с программой iverilog
Код
module main();

  integer p=0;
  string lastname  = "Tribbiani";

initial
  begin


     for (p=0; p<5; p++)
begin
                   $display("Vivod ", p);
end

                  
    

    $finish;
  end

endmodule
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
AVR
сообщение Sep 4 2018, 18:21
Сообщение #2


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



$display("Vivod %0d", p);


--------------------
Go to the top of the page
 
+Quote Post
nomerlin
сообщение Sep 4 2018, 18:38
Сообщение #3





Группа: Участник
Сообщений: 7
Регистрация: 4-09-18
Пользователь №: 107 221



Цитата(AVR @ Sep 4 2018, 19:21) *
$display("Vivod %0d", p);

ошибка так и осталась, так как она не связана с integer, она связана с string , так как после удаления строчки string программа компилится и запускается
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Sep 4 2018, 19:12
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!
Цитата(nomerlin @ Sep 4 2018, 21:38) *
ошибка так и осталась, так как она не связана с integer, она связана с string , так как после удаления строчки string программа компилится и запускается
Чистый verilog не поддерживает тип данных string. Это доступно только для SystemVerilog.
Вам надо посмотреть поддерживает ли iverilog стандарт SystemVerilog ну и компилировать файл с соответствующей опцией.

Удачи! Rob.
Go to the top of the page
 
+Quote Post
nomerlin
сообщение Sep 4 2018, 19:17
Сообщение #5





Группа: Участник
Сообщений: 7
Регистрация: 4-09-18
Пользователь №: 107 221



Цитата(RobFPGA @ Sep 4 2018, 20:12) *
Приветствую!
Чистый verilog не поддерживает тип данных string. Это доступно только для SystemVerilog.
Вам надо посмотреть поддерживает ли iverilog стандарт SystemVerilog ну и компилировать файл с соответствующей опцией.

Удачи! Rob.


я так понял, что я выбрал не правильный компилятор для новичков? или не расширенный.
Подскажите пожалуйста какими лучше пользоваться.(у меня Win 8)

Сообщение отредактировал nomerlin - Sep 4 2018, 19:18
Go to the top of the page
 
+Quote Post
AVR
сообщение Sep 5 2018, 05:29
Сообщение #6


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(nomerlin @ Sep 4 2018, 22:17) *
я так понял, что я выбрал не правильный компилятор для новичков? или не расширенный.
Подскажите пожалуйста какими лучше пользоваться.(у меня Win 8)

По дефолту он в Verilog компилит, а string есть в SystemVerilog, и для этого нужно задать соответствующую опцию, а может даже расширение файла не .v а может .sv, ибо опции у Icarus я чего не вижу.
Можно взять Modelsim Altera Starter Edition бесплатный и пробовать на нем.

В SystemVerilog лучше со строками, гораздо лучше. Не нужны лошадиные резервы по длинам, в SystemVerilog строки динамические. Но в синтезируемых модулях строки не нужны.


--------------------
Go to the top of the page
 
+Quote Post
nomerlin
сообщение Sep 5 2018, 06:25
Сообщение #7





Группа: Участник
Сообщений: 7
Регистрация: 4-09-18
Пользователь №: 107 221



Цитата(AVR @ Sep 5 2018, 06:29) *
По дефолту он в Verilog компилит, а string есть в SystemVerilog, и для этого нужно задать соответствующую опцию, а может даже расширение файла не .v а может .sv, ибо опции у Icarus я чего не вижу.
Можно взять Modelsim Altera Starter Edition бесплатный и пробовать на нем.

В SystemVerilog лучше со строками, гораздо лучше. Не нужны лошадиные резервы по длинам, в SystemVerilog строки динамические. Но в синтезируемых модулях строки не нужны.

понял, а насчёт огромных массивов типа int?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 21:19
Рейтинг@Mail.ru


Страница сгенерированна за 0.0145 секунд с 7
ELECTRONIX ©2004-2016