|
nios中的代码
#include <stdio.h>
#include "sys/alt_timestamp.h"
#include "alt_types.h"
int main()
{
alt_u32 t0, t1;
alt_u32 a,b,c;
a=0xff00ff00;
b=0xf0f0f0f0;
alt_timestamp_start();
t0 = alt_timestamp();
usleep(1*1000*1000);
t1 = alt_timestamp();
printf("时间戳t0 = %ld \n", t0);
c=ALT_CI_CI_NAND_INST(a,b);
printf("时间戳t1 = %ld \n", t1);
printf("时间戳(t1-t0) = %ld \n", (t1-t0));
printf("c=%x\n",c);
printf("\n");
printf("系统时钟频率是 %ld Hz\n", alt_timestamp_freq());
printf("时间戳(t1-t0)花费 %f 秒\n",(double)(t1-t0)/alt_timestamp_freq());
t0 = alt_timestamp();
printf("时间戳t0 = %ld \n", t0);
c=~(a&b);
t1 = alt_timestamp();
printf("时间戳t1 = %ld \n", t1);
printf("时间戳(t1-t0) = %ld \n", (t1-t0));
printf("c=%x\n",c);
printf("\n");
printf("系统时钟频率是 %ld Hz\n", alt_timestamp_freq());
printf("时间戳(t1-t0)花费 %f 秒\n",(double)(t1-t0)/alt_timestamp_freq());
return 0;
}
输出的结果是
时间戳t0 = 544
时间戳t1 = 200526785
时间戳(t1-t0) = 200526241
c=0
系统时钟频率是 50000000 Hz
时间戳(t1-t0)花费 4.010525 秒
�奔浯羣0 = 202361089
时间戳t1 = 202588334
时间戳(t1-t0) = 227245
c=fff0fff
系统时钟频率是 50000000 Hz
时间戳(t1-t0)花费 0.004545 秒
输出的第一个C值为0,说明自定义的指令没有正确运行,第一个时间戳(t1-t0) = 200526241 和第二个时间戳(t1-t0) = 227245 相比,更加说明程序运行有问题。希望大家帮忙看下哪个地方出问题?
我参考了网上部分网上资源
【原创】SOPC用户自定义指令设计之软件篇
http://blog.ednchina.com/chactor/190749/message.aspx
【原创】SOPC用户自定义指令设计之硬件篇
http://blog.ednchina.com/chactor/190504/message.aspx
实验用到的工程文件ourdev_662344KK8CTK.rar(文件大小:7.12M) (原文件名:A13_SDRAM_50M_HZ.rar)
自定义指令参考的文档ourdev_662345NTMLQI.pdf(文件大小:242K) (原文件名:自定义指令.pdf) |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|