nomerlin 0 4 сентября, 2018 Опубликовано 4 сентября, 2018 · Жалоба Приветствую форумчане, кратко обо мне, я начинающий любитель программист, немного знаю 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 4 сентября, 2018 Опубликовано 4 сентября, 2018 · Жалоба $display("Vivod %0d", p); Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nomerlin 0 4 сентября, 2018 Опубликовано 4 сентября, 2018 · Жалоба $display("Vivod %0d", p); ошибка так и осталась, так как она не связана с integer, она связана с string , так как после удаления строчки string программа компилится и запускается Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 4 сентября, 2018 Опубликовано 4 сентября, 2018 · Жалоба Приветствую! ошибка так и осталась, так как она не связана с integer, она связана с string , так как после удаления строчки string программа компилится и запускаетсяЧистый verilog не поддерживает тип данных string. Это доступно только для SystemVerilog. Вам надо посмотреть поддерживает ли iverilog стандарт SystemVerilog ну и компилировать файл с соответствующей опцией. Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nomerlin 0 4 сентября, 2018 Опубликовано 4 сентября, 2018 (изменено) · Жалоба Приветствую! Чистый verilog не поддерживает тип данных string. Это доступно только для SystemVerilog. Вам надо посмотреть поддерживает ли iverilog стандарт SystemVerilog ну и компилировать файл с соответствующей опцией. Удачи! Rob. я так понял, что я выбрал не правильный компилятор для новичков? или не расширенный. Подскажите пожалуйста какими лучше пользоваться.(у меня Win 8) Изменено 4 сентября, 2018 пользователем nomerlin Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 14 5 сентября, 2018 Опубликовано 5 сентября, 2018 · Жалоба решил попробовать verilog, первое с чем я столкнулся, это работа со строками, и как создавать массивы больших размеров, например на C++ int arr[999999]Я вас уверяю, в Верилоге вам строки такой длины не понадобятся. Это не язык программирования. Начните с чего-нибудь другого -- логические элементы, мультиплексор, D-триггер. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 5 сентября, 2018 Опубликовано 5 сентября, 2018 · Жалоба я так понял, что я выбрал не правильный компилятор для новичков? или не расширенный. Подскажите пожалуйста какими лучше пользоваться.(у меня Win 8) По дефолту он в Verilog компилит, а string есть в SystemVerilog, и для этого нужно задать соответствующую опцию, а может даже расширение файла не .v а может .sv, ибо опции у Icarus я чего не вижу. Можно взять Modelsim Altera Starter Edition бесплатный и пробовать на нем. В SystemVerilog лучше со строками, гораздо лучше. Не нужны лошадиные резервы по длинам, в SystemVerilog строки динамические. Но в синтезируемых модулях строки не нужны. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nomerlin 0 5 сентября, 2018 Опубликовано 5 сентября, 2018 · Жалоба По дефолту он в Verilog компилит, а string есть в SystemVerilog, и для этого нужно задать соответствующую опцию, а может даже расширение файла не .v а может .sv, ибо опции у Icarus я чего не вижу. Можно взять Modelsim Altera Starter Edition бесплатный и пробовать на нем. В SystemVerilog лучше со строками, гораздо лучше. Не нужны лошадиные резервы по длинам, в SystemVerilog строки динамические. Но в синтезируемых модулях строки не нужны. понял, а насчёт огромных массивов типа int? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 14 5 сентября, 2018 Опубликовано 5 сентября, 2018 · Жалоба понял, а насчёт огромных массивов типа int?Самому попробовать не? Но огромные массивы при описании железа вам тоже вряд ли встретятся. Микросхемы не безразмерные. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nomerlin 0 5 сентября, 2018 Опубликовано 5 сентября, 2018 · Жалоба и можно ли в int переменной искать нужные цифры? например int i = 11313234412314; если в числе есть значение 344 то true и записать позицию где находится данное число в переменной Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 5 сентября, 2018 Опубликовано 5 сентября, 2018 · Жалоба и можно ли в int переменной искать нужные цифры? например int i = 11313234412314; если в числе есть значение 344 то true и записать позицию где находится данное число в переменной Представьте себе следующие схемные узлы: регистр, в котором хранится 11313234412314 мультиплексор, который из регистра выбирает по 3 байта счетчик, который умпавляет мультиплексором схема сравнения, на один порт которой подключен выход мультиплексора, а еа второй вход - константа 344 ну и наверное еще понадобится триггер, который при сбросе счетчика в исходное тоже будет сбрасываться, а при получении 1 от схемы сравнения - будет устанавливаться в 1, и Вы получите "true", а счетчик как раз и покажет позицию искомой последовательности... Как только научитесь думать не в "байтах", а в "триггерах", так и дело с верилогом пойдет... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nomerlin 0 5 сентября, 2018 Опубликовано 5 сентября, 2018 · Жалоба Представьте себе следующие схемные узлы: регистр, в котором хранится 11313234412314 мультиплексор, который из регистра выбирает по 3 байта счетчик, который умпавляет мультиплексором схема сравнения, на один порт которой подключен выход мультиплексора, а еа второй вход - константа 344 ну и наверное еще понадобится триггер, который при сбросе счетчика в исходное тоже будет сбрасываться, а при получении 1 от схемы сравнения - будет устанавливаться в 1, и Вы получите "true", а счетчик как раз и покажет позицию искомой последовательности... Как только научитесь думать не в "байтах", а в "триггерах", так и дело с верилогом пойдет... Спасибо большое за такой расширенный ответ, сейчас буду манну читать в этом направлении. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 5 сентября, 2018 Опубликовано 5 сентября, 2018 · Жалоба Спасибо большое за такой расширенный ответ, сейчас буду манну читать в этом направлении. Если хотите, то могу по скайпу голосом ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nomerlin 0 5 сентября, 2018 Опубликовано 5 сентября, 2018 · Жалоба Если хотите, то могу по скайпу голосом ... Хоспади, вы прям как ангел для меня, с меня на пиво, без прикола, скиньте скайп лс плиз Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 5 сентября, 2018 Опубликовано 5 сентября, 2018 · Жалоба Хоспади, вы прям как ангел для меня, с меня на пиво, без прикола, скиньте скайп лс плиз В личной карточке форума... :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться