One critical thing from the software side to consider is that ROMs are different from RAM, Flash, Regfile in that you need to pass the data to the gen script. The rest are all filled after tapeout
m
Matthew Guthaus
11/12/2020, 1:58 PM
Yes, this can be done with the usage of the top level script. We are mostly discussing the back end of that using the existing data structures.
j
jrsharp
11/12/2020, 8:24 PM
@Riking28 yes of course, as @Matthew Guthaus says, the ROM will be programmed by giving the top level script a binary data file (or an intel hex, or something). It should also be possible to verify and tapeout a ROM block, and "reprogram" it by reconfiguring the bitcells after tapeout, using some utility.
jrsharp
11/12/2020, 8:31 PM
The other nice thing that falls out of OpenRAM is that LVS and DRC can be performed on the programmed ROM
m
Matthew Guthaus
11/12/2020, 8:33 PM
@jrsharp I'm not sure about the reprogram feature. It might be more useful just to generate a new ROM since it is deterministic and the footprint wouldn't change.
j
jrsharp
11/12/2020, 8:34 PM
@Matthew Guthaus sure, if you use the same commit hash of the tool as was used to generate the original ROM, I guess