View All how do fpgas work