lehho 0 1 апреля, 2011 Опубликовано 1 апреля, 2011 · Жалоба Использую Synplify, язык System Verilog. Конструкция такая: always @(posedge rxclk) begin for (int i = 0; i <= `CHL_NUMBER - 1; i++) begin if ( rxsync_out ) dout_I <= dout_I_r; if ( rxsync_out ) dout_Q <= dout_Q_r; end end Синтезатор выдаёт предупреждение: @W:CL169 : AFE8406_SOI_tmp.v(51) | Pruning Register i[31:0] Что-то не нравиться в i. Как правильно написать? Да, в итоге всё синтезируется как задумано. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Shtirlits 0 1 апреля, 2011 Опубликовано 1 апреля, 2011 · Жалоба Вероятно, компилятор сообщает, что сам итератор i не попадет в схему. Может быть какая-то другая конструкция языка для этого лучше подходит, generate какой-нибудь есть в верилоге? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 2 апреля, 2011 Опубликовано 2 апреля, 2011 · Жалоба а так? always @(posedge rxclk) begin for (int i=0; i<=`CHL_NUMBER - 1; i++) begin if (rxsync_out[i]) begin dout_I[i] <= dout_I_r[i]; dout_Q[i] <= dout_Q_r[i]; end end end Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MKS 0 2 апреля, 2011 Опубликовано 2 апреля, 2011 · Жалоба for (int i = 0; i <= `CHL_NUMBER - 1; i++) Заменить на: for (integer i = 0; i <= `CHL_NUMBER - 1; i++) Предупреждение должно пропасть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 3 2 апреля, 2011 Опубликовано 2 апреля, 2011 · Жалоба for (int i = 0; i <= `CHL_NUMBER - 1; i++) @W:CL169 : AFE8406_SOI_tmp.v(51) | Pruning Register i[31:0] скорее всего он предупреждает, что разрядность переменной CHL_NUMBER не [31:0]. И он урезал результат Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lehho 0 4 апреля, 2011 Опубликовано 4 апреля, 2011 · Жалоба for (int i = 0; i <= `CHL_NUMBER - 1; i++) Заменить на: for (integer i = 0; i <= `CHL_NUMBER - 1; i++) Предупреждение должно пропасть. Спасибо замена на integer помогла, предупреждения пропали. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 4 апреля, 2011 Опубликовано 4 апреля, 2011 · Жалоба Спасибо замена на integer помогла, предупреждения пропали. Теперь, кто-нибудь, объясните, почему? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 3 4 апреля, 2011 Опубликовано 4 апреля, 2011 · Жалоба Теперь, кто-нибудь, объясните, почему? А если ли смысл заморачиваться. Кому нужна эта сборная солянка из стилей 2001 и 2005 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 4 апреля, 2011 Опубликовано 4 апреля, 2011 · Жалоба int - 32-битовое целое, где каждый бит может быть в 2-х состояниях integer - 32-битовое целое, где каждый бит может быть в 4-х состояниях Как это повлияло? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться