В этом примере показано, как можно использовать блок Float Typecast для извлечения битов знака, экспоненты и мантиссы из входных данных с плавающей точкой, а затем преобразовать биты назад в выходы с плавающей точкой после выполнения любых расчетов.
Откройте модель hdlcoder_float_typecast_example.
open_system('hdlcoder_float_typecast_example')
Модель умножает вход с плавающей точкой на два, чтобы получить выход с плавающей точкой. Чтобы умножить вход, алгоритм увеличивает экспоненту на единицу. Откройте HDL_DUT подсистему.
open_system('hdlcoder_float_typecast_example/HDL_DUT')
Модель уже сконфигурирована для совместимости HDL при помощи hdlsetup
функция. Симулируйте модель.
sim('hdlcoder_float_typecast_example') open_system('hdlcoder_float_typecast_example')
Прежде чем вы сгенерируете HDL-код, включите Native Floating Point
режим.
nfpconfig = hdlcoder.createFloatingPointTargetConfig('NATIVEFLOATINGPOINT'); hdlset_param('hdlcoder_float_typecast_example', ... 'FloatingPointTargetConfiguration', nfpconfig);
Сгенерируйте HDL-код для HDL_DUT
подсистема.
makehdl('hdlcoder_float_typecast_example')