Low-power dual-port asynchronous CMOS SRAM design techniques