系统与设计
的意见

需要有多少的抽象级别?

如何运用孙子兵法原则与系统级建模。

受欢迎程度

最近我有一次谈话与一个用户创建周期精确SystemC模型。我最初的想法是,“为什么这个是必要的吗?”在讨论的过程中我意识到,他确实有一个设计问题,要求的精度和仿真性能的权衡是适合他的需要。他周期精确SystemC模型运行在大约100千赫。

这让我想到有多少不同的抽象级别是真正需要的。在思考我意识到创建额外的可用的水平水平受《孙子兵法》10倍强度的区别是压倒性的概念,并认为自然界里是没有真空的。我可能需要解释我的思维过程更之前的声明是有意义的。

如果我看不同的抽象级别用于系统和硬件建模,然后考虑每一层的相对性能,我想出了以下一些标准的抽象层次和非常粗略的估计的性能:

RTL…10千赫
TLM 2.0…1 MHz
TLM 2.0 LT…100 MHz
主机c++…1 GHz

从理论上讲,性能和准确性之间的权衡应该是一个合理的连续过渡。我们应该能够选择任何性能点和权衡精度来实现这一性能。性能选项的范围我看到两个差距大到足以支持一个新的水平,没有竞争性能点。的差距足以证明建立一个新的性能点我孙子的模型假设10 x的区别是压倒性的新的性能点必须是10倍的速度比下一个和10倍低于下一个速度慢。通过这种推理,我们之间应该有一个新的点RTL和TLM, TLM之间的另一个点和LT。

客户我之前提到的正是针对RTL和TLM之间的差距。我跟其他人感兴趣这一点,但这是我第一次真正开始接受这是一个可行的和可能的性能和精度要求的水平应该是标准化。实际上,用户是解决这个问题的扩展TLM 2.0协议支持逐周期同步。最终这应该是标准化这将使模型在这个级别的互操作性和LT层次模型。

作为一个确认10 x的步骤很重要,我意识到我们在导师已经解决LT和之间的差距。在我们的建模支持LT +定时模式,增加了肝移植模型的准确性,不引起的全部开销一个层次模型。据坊间传言,我们已经看到,LT + t模型在大约10 MHz的性能点。

回到我最初的问题,我们真的需要多少水平?使用这种推理的一个周期精确的扩展,我们叫它CT(周期时间),和LT + t水平,我们有六个级别的抽象,把我们从非常高的性能主机执行到非常精确的RTL模拟相当平稳过渡和合理权衡性能和准确性在每一步。



留下一个回复


(注意:这个名字会显示公开)

Baidu