ИМХО, сначало надо схему переделать. На базе примера схема нерациональна. data_clk сопровождает данные по clk. data_clk наверно надо воспринимать как импульс сопровождения данных. clk как gate clk. И на своем глобальном клоке формировать свой enable, что позволит получать результат на выходе в период смены данных на входе. Конвейером подобрать , чтобы данные устаканились в период глобального клока. Вот и будет один констрейн на глобальный клок.
Если уж другие констрейны, то только если данные не устаканились за период глобального клока.