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# 43172

Vivado HLS - What is the difference between ap_(u)int and sc_big(u)_int regarding shift left operation?

Description

What is the difference between ap_(u)int and sc_big(u)int/sc_(u)int regarding shift left operation?

Solution

SystemC data types were not originally intended to be synthesized and exhibit some behaviors that are sub-optimal for hardware. The operation on Vivado HLS data types behave a bit differently than operation on SystemC data types.

For shift left operation:
Vivado HLS ap_(u)int will shift then assign, hence removing the upper bits.
SystemC both sc_big(u)int and sc_(u)int will assign then shift, hence preserving the upper bits.

Linked Answer Records

Master Answer Records

Answer Number Answer Title Version Found Version Resolved
47431 Xilinx Vivado HLS Solution Center - Design Assistant N/A N/A
AR# 43172
Date Created 01/17/2012
Last Updated 07/30/2012
Status Active
Type Solution Center
Tools
  • AutoESL - 2011.1
  • AutoESL - 2011.3
  • AutoESL - 2011.4
  • More
  • AutoESL - 2011.4.2
  • AutoESL
  • Vivado - 2012.2
  • Less