fpgas field programmable gate arrays lec 03 9696421