X-Git-Url: http://git.joshuawise.com/firearm.git/blobdiff_plain/ff2b4c9dcaa802e67d12d7b0f84baf0bb2f971dc..55c6199c2c85349b6ff16144ec9cbd770b0ee5f6:/BlockRAM.v diff --git a/BlockRAM.v b/BlockRAM.v index 30f7515..091c749 100644 --- a/BlockRAM.v +++ b/BlockRAM.v @@ -12,7 +12,7 @@ module BlockRAM( * 0x00004000. rdata and ready must be driven to zero if the * address is not within the range of this module. */ - wire decode = (bus_addr & ~32'h00003FFF) == 32'h00000000; + wire decode = bus_addr[31:14] == 18'b0; wire [13:0] ramaddr = {bus_addr[13:2], 2'b0}; /* mask off lower two bits * for word alignment */ @@ -35,7 +35,7 @@ module BlockRAM( /* This is not allowed to be conditional -- stupid Xilinx * blockram. */ - temprdata <= data[ramaddr[13:2]]; + temprdata <= (bus_wr && decode) ? bus_wdata : data[ramaddr[13:2]]; lastread <= ramaddr; end endmodule