на assign sr_out[i] = sr[i*8-1:(i-1)*8]; но к сожалению это не получается не понимаю почему
Ох, уже слабо помню те обрывки Verilog-а, что когда-то пытался освоить. Но и без этого видно, что вы пытаетесь подставить "цифирку", мягко говоря не так. Вы подставляете её в имя "вектора" - тут оно так не работает. Иначе говоря, вам нужен двумерный массив.
Вот это не массив, это отдельные "вектора" по 8 бит.
Могу предположить, что вам надо вот такое определение (не уверен про синтаксис).
Код:
output [3:0][7:0]sr_out;
Копайте в этом направлении.
Удачи.
_________________ Когда уже ничего не помогает - прочтите, наконец, инструкцию. Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII) Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Всё равно что то не так использование массива ситуацию не улучшает ругается отладчик. Ещё не понятно регистр SR и регистры sr_out это разные регистры или это один переименованный в разные. Ведь тогда SR должен быть определен массивом наверное.
Проблема оказалась даже не в тестбэнче. Код который я писал становясь не нужным был за коментирован и что то пошло не так. Написано правильно а не работает. Только когда перенёс и очистил от кометтариев в новый файл всё заработало. Где могла сохраниться проблема в старом тексте.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения