试用手记:为国产FPGA正名(二,51硬核性能测试)

可编程逻辑

1356人已加入

描述

关键词: FPGA , 国产 , 国产FPGA , 试用

作者:特权同学

IO口速度测试,使用以下程序测试高电平脉宽。

    while(1)
    {
        P0 = 0xf;
        P0 = 0x0;
    }

同等条件下与其他MCU比较:

单片机/处理器

 

工作频率

 

高脉冲宽度

 
ASTRO 8051硬核
  25MHz
  约1us
 
ASTRO 8051硬核
  50MHz
  约500ns
 
ASTRO 8051硬核
  100MHz
  约250ns
 
STC89C516
  11.0592MHz
  约2.16us
 
NIOS II/e 32位软核
  25MHz
  约2.5us
 
NIOS II/s 32位软核
  25MHz
  约160ns
 
NIOS II/f 32位软核
  25MHz
  约160ns
 

在两次操作之间插入延时函数,分别延时delay(1)、delay(2)、delay(3)、delay(4)。测试延时函数如下:

void delay(uchar cnt)
{
    uchar i =0;
    while(i < cnt)
    {
        i++;
    }
}

由于delay()函数调用一次会有一些额外开销(如赋初值等),所以我们通过不同延时值的实际延时差来看指令运行的速度。换句话说,对前面的程序,可以通过每次delay()函数的差值来计算每多执行一次i++和一次i

特权同学曾使用相同条件测试了51单片机,通常11.0592MHz下工作的51单片机每多执行一次i++和一次i


延时函数

 

ASTRO 8051硬核

 

NIOS II/s 32位软核

 

50MHz

 

100MHz

 

25MHz

 

50MHz

 
Delay(1)
  5.0us
  2.5us
  6.5us
  4us
 
Delay(2)
  6.6us
  3.3us
  9us
  6us
 
Delay(3)
  8.3us
  4.2us
  11.5us
  7.5us
 
Delay(4)
  9.9us
  5.0us
  14us
  9.5us
 
i++与i
  约1.63us
  约0.83us
  约2.5us
  约1.25us
 


简单的一些性能测试,发现这个51硬核还是有花头的,至于稳定性和可靠性上还需继续验证和尝试。当然,本文的测试是使用了片内的存储器作为代码和数据存储,实际速度性能和存储器的性能关系非常大,是需要进一步考核的项目。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分