griha-leha 0 11 августа, 2010 Опубликовано 11 августа, 2010 (изменено) · Жалоба Доброго времени суток. И простите, что не умею пользоваться поиском (либо такое нигде не встречалось). Есть множество многомерных массивов, например reg [A:0] array [0:B][0:C]...[0:X] Нужно часто изменять (проводить опперации с элементами) этот массив. Пробовал реализовать опперацию обработки массива в виде функции function abc; input reg [A:0] mas [0:B][0:C]...[0:X]; begin какие-то действия вернуть 1 если удачно end endfunction Но при компиляции выходит ошибка что такое можно сделать в SV(работать в нем не выход из сложившейся проблемы). declaring module ports of function arguments with unpacked array types requires SystemVerilog Как выйти из такой ситуации? Может каким-то образом преобразовать массив? Изменено 11 августа, 2010 пользователем griha-leha Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
griha-leha 0 11 августа, 2010 Опубликовано 11 августа, 2010 (изменено) · Жалоба Нашел решение проблемы, применяя define-ы. Но хотелось бы увидеть ответ в виде функций. Изменено 11 августа, 2010 пользователем griha-leha Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 11 августа, 2010 Опубликовано 11 августа, 2010 · Жалоба Нашел решение проблемы, применяя define-ы. Но хотелось бы увидеть ответ в виде функций. запаковать массив что такое можно сделать в SV(работать в нем не выход из сложившейся проблемы). а почему? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
griha-leha 0 12 августа, 2010 Опубликовано 12 августа, 2010 (изменено) · Жалоба запаковать массив а почему? 1) Как запаковать массив? 2) А почему люди до сих пор пишут на С, когда есть С++ (С#)? Изменено 12 августа, 2010 пользователем griha-leha Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 12 августа, 2010 Опубликовано 12 августа, 2010 · Жалоба Как выйти из такой ситуации? Может каким-то образом преобразовать массив? 1. Использовать SV 2. Использовать VHDL Если всё это не подходит, то забыть о функциях и лабать все на процессах. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 12 августа, 2010 Опубликовано 12 августа, 2010 · Жалоба 1) Как запаковать массив? 2) А почему люди до сих пор пишут на С, когда есть С++ (С#)? 1)перенести непкованные размерности в пакованные при объявлении 2) а)не хотят развиваться; б)пишут для платформ, для которых компиляция С++ не поддержена. у вас первое или второе? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 13 августа, 2010 Опубликовано 13 августа, 2010 · Жалоба Слава богу, C и C++ сосуществуют параллельно. Не думаю, например, что кому-то сильно нужен C++ для PIC. А вот Verilog свои годы доживает. Дальше будет только SystemVerilog. Так что аналогия с C не совсем корректна. Работать в SV, компилятор-то понимает его, верно? - самый правильный выход. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться