I'm using a zc706 board with vivado version 2017.4, bare metal application program method, I want to get 16 different square wave of customized duty cycle simultaneously from my zc706 board for an application. Is it possible? If so please guide me so that I can implement it.
You can get the configuration of the square wave from ethernet. The implementation of actual waveform generation can be in the PL side of zynq( hdl code), which in turn can be connected to 16 IO's. you can use gpio's to bring the configuration from PS to PL.
To check first you can first implement the hdl portion with hardcoded duty cycle's, then slowly built all the required features.