Parallel Programming For Fpgas