gpt4 book ai didi

architecture - SoC 的首选 HDL 实例化层次结构

转载 作者:行者123 更新时间:2023-12-04 05:32:02 24 4
gpt4 key购买 nike

假设您正在实现一个带有 cpu、ram、rom 和 mmu 的简单 SoC,以将 ram 和 rom 映射到 cpu 的地址空间。在实例化不同的组件时,这样做会更有意义:

ram 和 rom 在 mmu 中实例化

top
cpu
mmu
ram
rom

或者

所有组件都在顶层实例化并在那里连接在一起
top
cpu
mmu
ram
rom

最佳答案

这实际上是一个设计问题,答案取决于您的要求。需要考虑的几点是:

重用

与许多 SoC 项目中的情况一样,您可能希望将模块或子系统从一个项目重用到下一个项目。将模块组合在一起是一个好主意,具体取决于它们在不同上下文中的重用方式。这样,除设计 RTL 之外的附属品(例如测试台、综合约束、断言等)也可以被重用。

依赖

这与重用的考虑是一致的,但请考虑模块之间的依赖关系。在您的示例中,mmu 是否总是需要 RAM 和 ROM?如果是,这是在 mmu 中实例化它们的论据。 mmu 会与不同数量的内存一起工作吗?如果是,这是实例化 mmu 之外的内存的论据。

验证范围

在现代 SoC 设计中,验证比设计本身需要更多的时间和资源。因此,以一种有助于且不妨碍验证工作的方式构建层次结构。例如,如果您的示例中的 cpu 要自行验证,则 cpu 应实例化所有子组件,在内部将它们连接起来,并且只显示相关的 cpu 端口。这样,验证环境(也称为测试平台)不必复制 cpu、mmu 和内存之间的所有连接。

一般来说,我认为层次结构(你的两个例子中的第一个)最有意义,也是最常见的。

关于architecture - SoC 的首选 HDL 实例化层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12450839/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com