^

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

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

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.

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
Feed Back