[an error occurred while processing this directive]
|
функция To_StdLogicVector перегружена для двух типов BIT_VECTOR и std_ulogic_vector, то есть если я применю эту функцию к std_logic_vector - получу ошибку, так как такая версия функции отсутствует (ну может есть в другой библиотеке)
поэтому я хочу узнать тип операнда (который является результатом какой-либо операции и допустим его тип не понятен) и поискать требуемую функцию в других библиотеках
это можно сделать написав свою функцию для определения типа, например так (пишу приблизительно чтобы показать идею), но это не элегантно
FUNCTION detect_type ( b : BIT_VECTOR ) report "bit_vector";
FUNCTION detect_type ( s : std_ulogic_vector ) report "std_ulogic_vector";
FUNCTION detect_type (s : integer) report "integer";
.....
просто я еще не разобрался с типами и трудно мне понять сообщение об ошибках
ну и вообще в С++ например принято переопределять =, почему в VHDL так не делают
E-mail: info@telesys.ru