for synthesizing trigonometric functions, there are two ways. the first is large-enough lookup tables (if it doesn't get too big). The second is algorithms named CORDIC. I have read about it, but don't know it exactly. However I know it works, and is reasonable. It could be pipelined or iterated.