fixed dumb bug that swapped read and write buffers
modularized dmareader to a separate module as well. now main.bsv is much cleaner