AsynFIFO is a real dual-port RAM with independent wr/rd clock and some additional control logic providing the RAM status,such as empty/full,almost_empty/almost_full,etc.
SyncFIFO only has one clock,that samples both the write data and read data.
Implementing AsynFIFO in FPGA is always troublesome to use the grey code, but some development enviornments provide its Core.
SyncFIFO is always very simple in design and use.