[an error occurred while processing this directive]
16#0f002000# - это based literal, он задает значение integer или real в другой системе счисления. А вот x"0f002000" - это уже bit-string literal, он задает bit-string в другой системе счисления. Т.е., другими словами, например 16#5F# равен 95, а X"5F" равен "10010101". Значение одинаковые, а типы - разные!
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)