ConstHw 0 22 июня, 2016 Опубликовано 22 июня, 2016 · Жалоба Всем привет Возник тонкий вопрос. Пользуюсь перечисляемым типом с предустановленными значениями и хочу этот тип переключать enum logic [1:0] {ALPHA = 0, BETA = 1, GAMMA = 2} muxer; always @(posedge clk) muxer <= cfg_wdata[1:0]; end Cadence Incisive при симуляции высыпает варнгинг This assignment is a violation of SystemVerilog strong typing rules for enumeration datatypes. Как правильно присваивать значение, чтобы избежать этого нарушения? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DimaG 0 22 июня, 2016 Опубликовано 22 июня, 2016 · Жалоба Как правильно присваивать значение, чтобы избежать этого нарушения? Попробуйте добавить еще одно значение в енум enum logic [1:0] {ALPHA = 0, BETA = 1, GAMMA = 2, ERR=3} muxer; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
embddr 0 22 июня, 2016 Опубликовано 22 июня, 2016 · Жалоба Всем привет Возник тонкий вопрос. Пользуюсь перечисляемым типом с предустановленными значениями и хочу этот тип переключать enum logic [1:0] {ALPHA = 0, BETA = 1, GAMMA = 2} muxer; always @(posedge clk) muxer <= cfg_wdata[1:0]; end Cadence Incisive при симуляции высыпает варнгинг This assignment is a violation of SystemVerilog strong typing rules for enumeration datatypes. Как правильно присваивать значение, чтобы избежать этого нарушения? Можно либо сделать дешифратор, либо привести тип к enum: typedef enum logic [1:0] {ALPHA = 0, BETA = 1, GAMMA = 2} muxer_t; muxer_t muxer; always @(posedge clk) muxer <= muxer_t'(cfg_wdata[1:0]); Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 22 июня, 2016 Опубликовано 22 июня, 2016 · Жалоба Всем привет Возник тонкий вопрос... Как правильно присваивать значение, чтобы избежать этого нарушения? Объявить тип и сделать приведение типов. В стандарте примеры есть Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ConstHw 0 22 июня, 2016 Опубликовано 22 июня, 2016 · Жалоба embddr, des00 спасибо, помогло Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться