在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5278|回复: 10

[讨论] 请教版主个问题

[复制链接]
发表于 2012-5-23 18:34:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
版主的大作刚到手,只是大概翻了一下,我想问问书上设计的CPU是如何验证的呢?测过代码覆盖率了么
发表于 2012-5-23 18:59:16 | 显示全部楼层
感谢购买。这个代码当然验证过了,不过我不是验证科班出身,有专门做验证的同仁曾经验证过。发现了一个bug就是在长乘指令MULTL第一个周期执行时,不应该修改CPSR_Z标志,因为这样有可能打破条件执行的平衡。 这种情况出现的概率非常小,但还是在书中进行了修正,选择multl_z来暂存第一个周期MULTL对cpsr_z的修改。
更早的时候还叫FreeARM7的时候,有两个bug,不过早已经改过来了。
 楼主| 发表于 2012-5-23 19:19:38 | 显示全部楼层
这个没有高级语言的建模进行对比验证,你们用的是什么办法进行验证的呢
发表于 2012-5-23 19:56:48 | 显示全部楼层
欢迎对RTL进行验证。这个验证会比较容易,因为有arm architecture manual。你可以参照我的书和manual,对我的RTL进行独立评测。你会发现,在challenge我的设计过程中,你的验证和RTL设计能力会同步提高。而且在我高速版发布后,可以用这套同样的环境对它进行一个评估。以前,我的同仁也是这样challenge我,我们发现无论是设计和验证,都会有同步的进展和提高。
发表于 2012-5-23 20:01:56 | 显示全部楼层
回复 3# ma9453


    放心好了,没有一定的验证工作量,代码没有一定的稳定度,是不可能拿来一段BIN文件,即可启动里面隐藏的Linux系统的。
 楼主| 发表于 2012-5-23 20:05:25 | 显示全部楼层
汗。。不是不放心,只是想问问是如何验证的,比较现在的数字设计重点已经落在设计验证上了
发表于 2012-5-23 20:22:49 | 显示全部楼层
回复 6# ma9453


    基本上是按照我的回复讲的。以arm architecture manual和我总结的指令和中断描述作为基础,各自有两个截然不同的模型,一个是RTL的,一个是行为描述的。首先验证单个指令的匹配度,再根据三级流水线的特点,测试相邻3条指令之间的干扰性。这就是指令了。中断的话,只有七种,比较简单,没有做随机性的测试。

   说起验证,不知道你看到那个讨论FPGA上使用软核+C编程来对RTL进行验证的帖子了吗?我现在对这个系统有了更进一步的想法,可以简要谈谈。
   我想使用实时操作系统RTOS来“模拟”RTL和testbench。rtos的多任务模式非常适于来模拟硬件操作。在开发的初期,testbench和RTL各自使用一个软核来模拟它们的行为。也就是在设计的初期,即有一个living模型了,有了这个模型,验证的人员可以在软核模拟的"虚拟"RTL的基础上开发test case了。等到真正的RTL完成后,它替代虚拟的RTL,即可验证RTL的功能。
   有个多任务操作系统,我们只需要根据cycle描述硬件的行为,rtos会整合我们不同任务的描述,分配到各自的cycle上。不知道这个想法是否可行?商榷一下。
发表于 2012-5-23 20:32:11 | 显示全部楼层
回复 7# free-arm

现在的rtos非常多,它们都是基于定时器来划分节拍的。但我设想的测试系统,还是以节拍来表示RTL设计的cycle。但不是按照一定的时间来递进节拍,而是等所有的任务都进入delay态或wait态,才让tick+1。如此,任务繁重,那么它耗费的时间就多一些,任务轻的,就很快进入下一个周期。我们模拟的硬件逻辑,就是一个变长度时钟周期的行为描述了。每个任务各自描述行为,它最后都会进入delay态,也就是等待多少cycle;也可以进入Hold态,也就是它等待输入输出端口出现什么条件,再做某某操作。那么这个rtos系统,会让我们轻松的根据行为模型,来写成多个优先级的任务,开发这个模型,将变得非常容易。
发表于 2012-5-23 20:37:11 | 显示全部楼层
回复 8# free-arm


    ma9453应该是对验证非常精通,不知道对于嵌入式开发熟悉不,希望能对我的想法给出有建设性的意见。看看这两者有没有可能结合起来,这样我们验证的时候,直接使用C编程描述,无需systemverilog这种新语言了。
 楼主| 发表于 2012-5-23 20:54:25 | 显示全部楼层
不精通,只是有这个概念。。。因为有师兄是做这部分的,可能我以后也要做这部分,版主有QQ么,可以聊聊么
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-24 16:38 , Processed in 0.020484 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表