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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: 歪枣树

[求助] 在FPGA中如何计算CPU执行程序的时间

[复制链接]
发表于 2011-2-27 19:43:05 | 显示全部楼层
一定有方法得知程序开始执行的时间,如果是CPU内部的话,其代码段堆栈执行到程序的时候应该可以在代码上判断出来,除非任意程序,但是应该有规律的。如果能够得到开始点,那么结束点对应于开始点之间的clock周期数就是执行时间了。这样就简单了,难点不在于怎么计算时间,而在于怎么寻找程序的开始点和结束点。我觉得找找CPU对于测试程序执行的规律吧,解决了这个问题就不难了。
发表于 2011-2-28 11:07:58 | 显示全部楼层
回复 11# acgoal


这个不难,程序第一行就是对一个指示寄存器进行赋值,定时器发现寄存器被赋值后开始计数
程序最后一行是对该指示寄存器进行清空,定时器发现指示寄存器被清空时则停止计数。
最后用CPU读出定时器的数值就可以得到相应的时间。
 楼主| 发表于 2011-2-28 11:19:42 | 显示全部楼层
顶起!!!
发表于 2011-2-28 17:25:37 | 显示全部楼层
回复 12# MOSFET


    没有仔细思考,但是这个方法貌似可行。楼主可以参考。
 楼主| 发表于 2011-2-28 20:47:29 | 显示全部楼层
顶起!!
发表于 2011-2-28 23:32:30 | 显示全部楼层
一起学习学习~~
发表于 2011-4-7 17:02:29 | 显示全部楼层
自对准多晶硅化物
发表于 2011-4-8 13:51:26 | 显示全部楼层
回复 12# MOSFET


    简单实用 很好!!
发表于 2011-5-26 16:33:26 | 显示全部楼层
要不再找个timer模块的代码?自己写好像有点难吧。
发表于 2012-1-10 11:14:04 | 显示全部楼层
回复 1# 歪枣树


    这个简单. 当程序开始执行和结束时通过IO口输出给定一个变化的状态就可以测量出你程序实际执行时间了。比如该io上电复位 初值为1,那么在第一条程序处把该IO清0 ,在最后一条程序处再 把该IO置1 即可。那么通过外围设备(ARM或者示波器)抓该IO的低电平波形 即可。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

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

GMT+8, 2025-6-11 05:34 , Processed in 0.027317 second(s), 7 queries , Gzip On, MemCached On.

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