да, с этими библиотеками всё работает, дело в том, что входной сигнал у меня имеет тип unsigned(если брать Ваш код, то это d),но этот сигнал идёт из другого блока(там я использовала numeric_std, и я никак не могу переделать его там в std_logic, потому что операции, которые там используются библиотекой std_logic_arith не поддерживаются),а c numeric_std этот код вылетает сразу с кучей ошибок...