Array Electronics -- DDR2, DDR SDRAM Controller IP Cores, FPGA Design for Xilinx and Altera FPGAs using VHDL and Verilog