В этом примере показано, как можно использовать блок 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')