UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 22356

MicroBlaze - Divide by 0 hardware exception is only supported when configured with hardware divider

描述

Urgency: Standard

General Description:

When I configure MicroBlaze without the hardware divider (USE_DIV=0), divide by zero exceptions are not flagged.

解决方案

In the case of software divides, the GNU libraries (not a divide instruction) calculates the divide.

The GCC libraries do not flag the error as there is no well defined mechanism in C to present the exception to the user. There is nothing that tells the processor that the arithmetic and logical sequence it is executing is actually a soft IDIV.

In order for MicroBlaze to identify a divide by zero exception, it must be configured with the hardware divider (USE_DIV=1). The same holds true for the floating point hardware exceptions.

AR# 22356
日期 12/15/2012
状态 Active
Type 综合文章
的页面