0

我正在尝试为流水线处理器进行后门级模拟。我有 vhdl 格式的网络列表,我现在需要再次模拟它以确保功能在合成之后正确。问题是我有 2 个 RAM,一个用于指令,另一个用于数据,在后门级模拟中,我无法查看内存列表视图并将指令和数据加载到我的 2 个 RAM 中。当它们被翻译成触发器和多路复用器时,如何将我的数据插入到 RAM 中?

提前致谢。

4

1 回答 1

0

根据您的描述,我假设这两个 RAM 用于指令缓存和数据缓存。由于这些通常很大,即使在较小的处理器上也是如此,我怀疑这些 RAM 是在触发器和多路复用器中实现的。因此,我的第一个建议是您检查网表以查看 RAM 是否实际上是单独的 RAM 原始模块。

原因是 RAM 原始模块有时(取决于模型)可能会使用文件的内容进行初始化。在这种情况下,您只需要制作具有正确格式的文件。

如果 RAM 原语模块实际上在网表中,但不允许初始化,则另一种方法是用您自己的可以初始化的版本替换 RAM 原语模块。

如果 RAM 实际转换为触发器和多路复用器,则处理器可能支持一些缓存操作指令,通常可从受保护(内核)模式获得。这些指令可用于将执行程序提供的内容加载到指令缓存和数据缓存中。以这种方式加载缓存 RAM 可能需要大量指令,因此需要一些仿真时间。

最后,您可以考虑不要在门级仿真上花费太多时间。运行一点可能没问题,只是为了确保网表没问题,但是商业知名的综合工具通常质量很高,所以这些不太可能是您设计中出现错误的原因。在项目的专用设计中出现错误的风险要大得多,因此您可能希望花更多时间在功能验证和代码审查上;-)

于 2013-05-18T15:48:17.713 回答