搜索
bottom↓
回复: 12

请教:66.67M的主频Xilinx MicroBlaze,指令周期竟然达到250ns

[复制链接]

出0入0汤圆

发表于 2013-8-16 10:17:21 | 显示全部楼层 |阅读模式
  Xilinx Spartan6 搭建的MicroBlaze +PLB+外围IP 的嵌入式系统,MicroBlaze有Data Cache及Instruction Cache,系统时钟是66.666667MHz。用于采集ADC数据。

运行时,发现数据采集率极低,后查看指令周期,惊人的将近250纳秒,不到5MHZ呀,与66.666667MHz相差甚远。(系统时钟验证过,是66.666667MHz无误。)

本人初次使用FPGA来做项目,无甚经验,请各位指点和帮忙分析,谢谢!

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2013-8-16 12:55:21 来自手机 | 显示全部楼层
没那么慢吧,你是怎么查看的 ?

出0入0汤圆

 楼主| 发表于 2013-8-17 16:29:32 | 显示全部楼层
zkf0100007 发表于 2013-8-16 12:55
没那么慢吧,你是怎么查看的 ?

I/O输出高低电平,用示波器抓取波形,计算时间,以及此时间内所执行的汇编指令数。平均算出大概每条指令的时间。

出0入0汤圆

发表于 2013-8-17 17:04:56 | 显示全部楼层
本帖最后由 kevinstar888 于 2013-8-17 17:07 编辑

出0入31汤圆

发表于 2013-8-17 17:22:47 | 显示全部楼层
1、建议直接用定时器测量;
2、IO本身有时候速度很慢,需要加大IO翻转之间的指令数,建议时间至少ms级;
3、cache增加了测试的复杂性,程序设计不当可能造成性能下降,建议关闭cache测试

出0入0汤圆

发表于 2013-8-18 17:12:19 | 显示全部楼层
指令周期和时钟周期不一定一样。比方说传统的8051,12个机器周期才运行一条指令。使用12M频率时钟时候指令周期才是1MHZ,12个机器周期运行了一条指令,周期/指令=12  也就是CPI =12 。( CPI : CYCLE PER INSTRUCTION) 。

出0入0汤圆

 楼主| 发表于 2013-8-18 23:21:29 | 显示全部楼层
zchong 发表于 2013-8-17 17:22
1、建议直接用定时器测量;
2、IO本身有时候速度很慢,需要加大IO翻转之间的指令数,建议时间至少ms级;
3 ...

3:IO操作不涉及cashe
2:IO的速度10纳秒级别的,这个已经验证。
1:定时器测量,未验证过

出0入22汤圆

发表于 2013-8-19 00:02:38 来自手机 | 显示全部楼层
你都用fpga了,有的工作就应该通过硬件完成

出0入0汤圆

发表于 2014-4-22 17:11:33 | 显示全部楼层
本人现在遇到和你一样的问题,测microblaze GPIO频率只要5M左右 。请问你后来是怎么解决的?

出0入0汤圆

发表于 2014-4-22 17:40:09 | 显示全部楼层
AD采样速度不能与主频相提并论的吧

出0入0汤圆

发表于 2014-4-24 13:20:28 | 显示全部楼层
licheng0620 发表于 2014-4-22 17:40
AD采样速度不能与主频相提并论的吧

while (1)
  {

       (*(volatile u32 *)((XPAR_LED_BASEADDR)) = (0x0));
      for (Delay = 0; Delay < 50000; Delay++);
      
      (*(volatile u32 *)((XPAR_LED_BASEADDR)) = (0xFFFFFFFF));
      for (Delay = 0; Delay < 50000; Delay++);
  }


用示波器测的频率为62Hz  , 换算成系统时钟也就6M多。  输入时钟为50M ,为什么指令周期这么长?

出0入224汤圆

发表于 2014-4-24 13:33:29 | 显示全部楼层
要不你这样试一下,执行100条,或1000条指使才翻转一次IO试一下.

出0入0汤圆

发表于 2014-4-24 15:10:07 | 显示全部楼层
1.要看汇编代码来计算指令数
2.IO指令通过AHB/APB的时候,存在等待周期
3.我的方法:1000条NOP指令+一个IO指令
4.这种复杂的内核,影响速度的因素很多,CACHE、流水线、总线,以及中断等等,拿来做强实时的活,要慎重

楼主能不能晒晒你的测试代码看看?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 03:25

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表