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

 
 
 
Reply to this topicStart new topic
> QuestaSIm 10.4с, port типа packed struct array, очередной глюк ?!
RobFPGA
сообщение Jan 11 2017, 18:22
Сообщение #1


Знающий
****

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



Приветствую!

Новогодние праздники утихли а в голове продолжает шуметь...

Понадобилось обновить относительно недавний проект на SystemVerilog.
Есть в нем pkg в котором объявлен тип структуры который в свою очередь потом используется в том числе и для задания типа портов в ряде модулей. Пару лет назад все было отсимулированно и собранно без проблем.
Код
package type_pkg;
..
typedef struct packed {
  loagic [WHA-1:0] field_a;
  loagic [WHB-1:0] field_b;
  loagic           field_c;
} st_TYPE_t;
endpackage

import type_pkg::*;
module modA (
  ...
  output st_TYPE_t d_ou,
  ...
);
...
endmodule

import type_pkg::*;
module modB (
  ...
  input st_TYPE_t d_in [0:NN-1],
  ...
);
...
endmodule


import type_pkg::*;
module top;
...
st_TYPE_t d_w [0:NN-1];

generate for (genvar gi=0;g<NN;gi++) begin : g_for
  modA i_modA (
    ...
    .d_ou (d_w[gi])
  );
  end
endgenerate

modB i_modB (
  .d_in (d_w),
  ...
);
...

Сейчас же суть глюка в том что в версии QuestaSim с 10.4c при симуляции я вижу на входе d_in модуля i_modB Z!!! состояние на всех битах за исключением бита 0. А на шине d_w при этом все как надо. 8-(). Соответственно симуляция не проходит. При этом ни ошибок компиляции ни ошибок elaboration при запуске нет!.
Да и в Vivado тоже все собирается правильно.

Что это? (вот бы вспомнить что я пил на Новый Год, может в этом дело? sm.gif )

Удачи! Rob.


Go to the top of the page
 
+Quote Post
blackfin
сообщение Jan 11 2017, 19:37
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 721
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(RobFPGA @ Jan 11 2017, 21:22) *
Новогодние праздники утихли а в голове продолжает шуметь...

Вы принципиально игнорируете запятые, или только когда шумит? biggrin.gif
Go to the top of the page
 
+Quote Post
Kopart
сообщение Jan 14 2017, 10:45
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 1-03-05
Из: Spb
Пользователь №: 2 972



Цитата(RobFPGA @ Jan 11 2017, 21:22) *
Сейчас же суть глюка в том что в версии QuestaSim с 10.4c при симуляции я вижу на входе d_in модуля i_modB Z!!! состояние на всех битах за исключением бита 0. А на шине d_w при этом все как надо. 8-(). Соответственно симуляция не проходит. При этом ни ошибок компиляции ни ошибок elaboration при запуске нет!.

А вы при компиляции используете один Multiple File Compilation Unit (-mfcu)?


--------------------
Насколько проще была бы жизнь, если бы она была в исходниках
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Jan 14 2017, 12:44
Сообщение #4


Знающий
****

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



Приветствую!

Нет, не использую. Файлы pkg и модули компилируются раздельно.
Попробовал изменить тип шины d_w и соответственно порта d_in на
Код
st_TYPE_t [0:NN-1]  d_w,
...
st_TYPE_t [0:NN-1]  d_in,

В таком виде симулируется все как надо.

Удачи! Rob.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 24th November 2017 - 01:52
Рейтинг@Mail.ru


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