As I look at this more closely, I’m checking the many (848) warnings produced, and many look important, although the code did seem to function. Here are the synthesis errors:
Things like the number of address lines seem odd. I used the code example for the XEM7310 and generated the RAM interface based on the instructions - seems like they should match.
