Scrypt is resistant because it is memory hard.
The amount of memory required is controlled specifically by a psuedo randomly generated list that is changed at every hashing cycle. This means that the setup and take down of the list is expensive and it has to be done with each iteration. The alternative is to only generate a small subset of it, but the generation algorithm is itself CPU intensive.
For the record I built an FPGA scrypt miner a few weeks ago.
Hmm, let me stop you right there. In my opinion, I believe you failed the scrypt knowledge test and are unlikely to have produced a working FPGA implementation of it, if that's your understanding of how scrypt works. A good read of the Tarsnap scrypt whitepaper and a good look at the source code of a few scrypt implementations will probably help with accurate technical details on the next BS attempt though.