Forum Discussion
Altera_Forum
Honored Contributor
7 years ago --- Quote Start --- There is nothing wrong with the code. I suspect the problem is just with quartus. And although the website you found only mentions 13.1, The problem may have persisted. I remember this issue from a long time ago (8/9 years ago), maybe it never got fixed. Have you tried in a newer version of Quartus? Other than that, the work around is to use ifs or a case statement:
case msg_id_count is
when 3 => uart_tx_data_s <= tx_id_s(23 downto 16);
when 2 => uart_tx_data_s <= tx_id_s(15 downto 8);
when 1 => uart_tx_data_s <= tx_id_s( 7 downto 0);
when others => report "Illegal value for msg_id_count" severity FAILURE; -- simulation case to catch illegal value of msg_id_count
end case;
--- Quote End --- Thank u , I can try your expression , I hope The problem will be solved by Altera. Because Generic action is very important with our project. of course ,I know if or case statement. :) But ıf I use case statement , I have to change my code Different project. We want to use like IP core. We can try analysıs Vivado program , The error is not occur. But my favourite program is Altera. I hope the promlem will solve in the future. Thanks , repeat =)