A TLAST signal is a requirement for a DMA S2MM interface to make it function correctly.
The second approach is slightly easier as this will also create the IP to use in Vivado IP Integrator (for example).
Attached to this Answer Record is a Vivado HLS example
The source file + script is packaged as well as the already generated IP that you can reuse as-is.
To regenerate the IP, open a " Vivado HLS 2014.2 Command Prompt" and execute the command below:
vivado_hls -f run_hls.tcl
The output IP will be in directory proj_tlast_inserter_zynq/solution1/impl/ip.
If you check the C code, it does insert TLAST every 256 inputs (1<<8).
Note that this design has not been tested thoroughly.
Check out the documentation that is available on the XADC usage as found in the Xilinx Documentation Navigator tool.
For example, xapp1183 and xapp1203 should provide good insights.
xapp1183 confirms the above approach.
It used an RTL IP to generate the same type of block to insert the TLAST.