特权同学

国产FPGA试用手记二(51硬核性能测试)

0
阅读(3768)

国产FPGA试用手记二(51硬核性能测试)

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

延时函数

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单片机,通常11.0592MHz下工作的51单片机每多执行一次i++和一次i

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

相关链接:

《NIOS2的GPIO操作速度》:http://blog.chinaaet.com/detail/10396.html

Baidu
map