免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: fineamy
打印 上一主题 下一主题

什么是软件CPU [复制链接]

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
61 [报告]
发表于 2009-01-02 13:41 |只看该作者
原帖由 fineamy 于 2009-1-2 13:25 发表
人们无法一时仿出所有关心的特性。难度问题。
于是分了很多来仿真验证不同的关注点。
比如分了行为仿,功能仿,FPGA仿等等,后面还有什么逻辑等效性。
还有很多比如工艺提供方,制造商等等一堆人所做的

因为像每个clock都去算像CPU这么复杂的一个有限状态机的状态、输出是一个很郁闷的事情,会看上去非常非常慢。
其实时序仿真一般不是对整个VLSI的,而是对于某个比较小的模块。
各级仿真的基本出发点永远都只有两个,一个是接口,这是功能性的体现;一个是模拟具体的硬件状态机,这是时序性的体现。

论坛徽章:
0
62 [报告]
发表于 2009-01-02 16:15 |只看该作者
越来越精彩!

论坛徽章:
0
63 [报告]
发表于 2009-01-02 18:20 |只看该作者
1)“软件和硬件不在同一个时空内”
不懂。
2)“对模拟设备,绝对可以完全逼近。在你的精度要求下,几乎可以认为完全模拟。
这是原理上的。数字可以模拟模拟。这个数学上有一整套完整的理论垫基。”
据我所知,至今为止,还没有“数学上有一整套完整的理论垫基”。对任何一类模拟电路,都需有特定的数字电路去逼近它。而且,对同类模拟电路的不同应用,往往有不同的数字电路去仿真它。你说的可能是某特定的模拟电路吧?
3)“比如我仿真它是拿来运行的,而不是为了测试性能的,那就是一个完全实打实的功能仿真”
好,我举一个实打实的例子。我编一段用软件实现定时的代码,用软件CPU来运行会怎么样?这只是最简单的例子。

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
64 [报告]
发表于 2009-01-02 18:29 |只看该作者
.........时序仿真,我都说到了这个词了。我应该知道这是数字电路,而非模拟电路了..........
功能仿真,时间的精度不可能非常高。软件CPU去运行软件实现定时的代码,定时可能没有那么精确。

论坛徽章:
0
65 [报告]
发表于 2009-01-02 19:19 |只看该作者
1)“软件和硬件不在同一个时空内”
类似cjaizss的说法,就是硬件CPU的一个CYCLE可能要花软件很长时间去模拟。所以他们的时间尺度是不同的。

2)“对模拟设备,绝对可以完全逼近。在你的精度要求下,几乎可以认为完全模拟。
这是原理上的。数字可以模拟模拟。这个数学上有一整套完整的理论垫基。”
据我所知,至今为止,还没有“数学上有一整套完整的理论垫基”。对任何一类模拟电路,都需有特定的数字电路去逼近它。而且,对同类模拟电路的不同应用,往往有不同的数字电路去仿真它。你说的可能是某特定的模拟电路吧?
任何模拟电路理论上都可以。只存在复杂度的问题,当然模拟不管怎样都是模拟不能代替真实。
而且也要看你如何看待一个东西,观点不同,就会有不同的模拟。
不管怎么抽象,最后都归结到方程组了。只要你这个方程组能用数字计算机近似或完全解出来(这就是说的精度问题),这个系统就是可以用数字模拟的。(解的时间就是复杂性问题了)。
3)“比如我仿真它是拿来运行的,而不是为了测试性能的,那就是一个完全实打实的功能仿真”
好,我举一个实打实的例子。我编一段用软件实现定时的代码,用软件CPU来运行会怎么样?这只是最简单的例子。
我觉得这里没有问题,完全可以做到完全仿真,如果你不苛求他们的时间尺度,可以仿真任何细节。

论坛徽章:
0
66 [报告]
发表于 2009-01-02 19:25 |只看该作者

为什么不行

功能仿真,时间的精度不可能非常高。软件CPU去运行软件实现定时的代码,定时可能没有那么精确。

常见到的单片机或类似CPU的仿真器没有关注这点,但不代表它不能仿这个。说来说去还是在带CYCLE与不带CYCLE的问题。
如果换个方式,比如有这个单片机的RTL代码,放在modelsim里去仿,载入软定时代码,就可以做到。

[ 本帖最后由 fineamy 于 2009-1-2 19:28 编辑 ]

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
67 [报告]
发表于 2009-01-02 19:34 |只看该作者
以下是一个说明,不能算是证明。
时序电路是有限状态机,状态的改变和输出的改变有且只依赖于输入的改变,当然,这里,时钟在这里也是输入,对于有限状态机的数学模型来说,时钟输入信号和别的输入信号一样,没有优势可言。现实中不存在图灵机、线性有界机、下推自动机,只存在有限状态机。对形式系统的编程本质上是改变形式系统的输入。用状态跳转表来表示状态机,当外部输入发生改变的时候,则可以编程根据状态跳转表来计算状态转移,并根据状态和输入来决定新的输出。于是,在不考虑效率和编程资源的情况下,对有限状态机的完全的时序仿真是可以做到的。现实中,可能会有比如组合电路的延迟、亚稳态、电磁干扰等因素的影响,这另当别论。

[ 本帖最后由 cjaizss 于 2009-1-2 20:34 编辑 ]

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
68 [报告]
发表于 2009-01-02 19:38 |只看该作者
原帖由 fineamy 于 2009-1-2 19:25 发表

常见到的单片机或类似CPU的仿真器没有关注这点,但不代表它不能仿这个。说来说去还是在带CYCLE与不带CYCLE的问题。
如果换个方式,比如有这个单片机的RTL代码,放在modelsim里去仿,载入软定时代码,就可以做到。

纯的功能仿真,(不考虑其时序),考虑到宿主机的硬件、操作系统等方面的限制,有可能会不是很精确。

论坛徽章:
0
69 [报告]
发表于 2009-01-02 19:54 |只看该作者

回复 #68 cjaizss 的帖子

既然是功能仿,却在考察定时这样的时序特性,当然不行了。
所以要考量它的时序特性,比如要仿定时,还得选择带有时序仿的软件CPU.

[ 本帖最后由 fineamy 于 2009-1-2 19:57 编辑 ]

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
70 [报告]
发表于 2009-01-02 20:41 |只看该作者
原帖由 fineamy 于 2009-1-2 19:54 发表
既然是功能仿,却在考察定时这样的时序特性,当然不行了。
所以要考量它的时序特性,比如要仿定时,还得选择带有时序仿的软件CPU.

即便是带时序仿真的,本质上也依然是给出多少个clock,并不是给出多少时间.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP