I am using RTL compiler for synthsise, and I want to implement clock gating. I don't have ICG cell, so I wrote a module as the clock-gating module, which has "ck, D,Q,enable, test", where test is the clock gating control signal.
it is not a good idea to implement a clock gater cell because of timing issues with gates put in the clock gate. as far as I have seen...most library vendors will provide a set of clock gaters(I have yet to see a library with clock gaters).
Clock gaters are bit complicated and specially handled by tools because they go into the clock tree. you should ask your vendor to provide the clock gater in the library