FPGA(EP1C6Q240)和SRAM(IS61LV25616)两个板子上是一样的,只是开发板上有一片SRAM,我的板子上有两片,我的两片都是有各自的连线,在FPGA中是两组tri_state_bridge。还有就是我的板子的布线粗(11mil)间距也小(10mil);开发板的布线间距拉的大,间距小的地方只占很少的比例;而我的基本上都是贴在一起走线的,我不知道会不会是分布电容的原因。 在开发板上程序一切正常,大小程序都好用;但在我的板子上就只能下载40K内的,再大一点,就会出现: Downloaded 41KB in 1.3s (31.5KB/s) Verifying 00080000 ( 0%) Verify failed between address 0x80000 and 0x8A177 Leaving target processor paused ------------------------------------------------------------------------------------------ 由于我的板子上有两片SRAM,且小程序好用,所以我写了个测试程序: #include "system.h" #include <stdio.h> #include "io.h" int main() { unsigned char tdata; unsigned int i,offset; printf("Hello from Nios II!\n"); for(i=0;i<=0x7ffff;i++) { tdata=0x0; offset=i*1; IOWR_8DIRECT(UNTITLED_0_BASE,offset,0x45); tdata=IORD_8DIRECT(UNTITLED_0_BASE,offset); if(tdata==0x45) { printf("%x :OK\n",i); }else { printf("%X :FALL! DATA: 0x%X\n",UNTITLED_0_BASE+offset,tdata); return -1; } } return 0; } 把程序下到SRAM1中测试SRAM0,读写都是正确的,反之也一样,但我就是不知道下的程序一大为什么就校验出错。
|