data path macro