Use case statement for ROMs in Verilog

initial isn't supported by DC; always @(*) doesn't work in VCS because the
sensitivity list is never triggered.  Also, DC only appears to exploit
don't-cares (for non-power-of-2-depth ROMs) when case stataments are used.