cad4201,
你好,我以前也遇到过这种问题,你的sdram校验通不过有可能是
1。clk不对,在FPGA中有专业的pllout口资源。用它作输出clk波形很好,建议用示波器比较一下,这很重要哦。
2。clk在pll中有e口作外部输出,用c口没有e口输出好
3。在晶振输出接个小电阻可以很好滤波。
4。相移-20 到-75都可以,开始你可以将频率设小一些,这样相移因素就可以排除。
good luck
caopengly
caopengly,
非常感谢你的解答!
SDRAM的时钟输入我用的就是PLLout口,而且示波器看过它们波形,有固定的相移;在我的Device(EP1C12)里很奇怪,e口的PLL不能用,在Fitting的时候会报错(SDRAM的时钟输出是PLLOUT2_P),所以一直没用e口;所以不知怎么解决好了?
还有一个问题是调LED循环点亮程序时,会出现:
nios2-terminal: connected to hardware target using JTAG UART on cable
nios2-terminal: "USB-Blaster [USB-0]", device 1, instance 0
nios2-terminal: (Use the IDE stop button or Ctrl-C to terminate)
nios2-terminal: exiting due to I/O error communicating with target
就是说出现I/O通信的错误!不知这是什么原因呢?
cad4201,
事实上pll的e口就是对外输出的意思,你可以摸索一下,在pll的配置中。我曾经对比过c口的输出波形就是没有e口hao,而且我以前verify通不过就是这个原因。
debug时有通讯错误也是常有的,但还是可以调的。而且可以watch变量的值。如果不能watch,那就有问题了。
caopengly
[此贴子已经被作者于2007-1-12 18:03:21编辑过]
caopengly,
有可能真的是PLL的e口输出的问题吗?我的SDRAM的Clock引脚连接到了EP1C12的144引脚(PLLout1_p),但是不管如何配置PLL的参数除了EP1C12的38引脚(PLLout0_P)以外其他引脚均不能作为PLL的e口输出引脚?!
在使用PLL的C口作为SDRAM的时钟输入口的情况下,我在片上ram(Onchip-Memory)中写了很小的(不超过1K的)程序对SDRAM的数据线、地址线进行读写测试,发现SDRAM完全是可以进行读写使用的!是不是可以说明SDRAM的时钟可用,且物理连接也无问题呢?
而且我发现绝大多数情况下,可以进行下载验证通过的小程序(不超过1KBtyes),调试时总会出现I/O通信错误:
nios2-terminal: connected to hardware target using JTAG UART on cable
nios2-terminal: "USB-Blaster [USB-0]", device 1, instance 0
nios2-terminal: (Use the IDE stop button or Ctrl-C to terminate)
nios2-terminal: exiting due to I/O error communicating with target
而对于大程序进行调试时,总出现下面的验证错误:
Using cable "USB-Blaster [USB-0]", device 1, instance 0x00
Processor is already paused
Reading System ID at address 0x00005048: verified
Initializing CPU cache (if present)
OK
Downloading 01000000 ( 0%)
Downloaded 58KB in 0.7s (82.8KB/s)
Verifying 01000000 ( 0%)
Verify failed between address 0x1000000 and 0x100E4BB
Leaving target processor paused
是不是JTAG口的问题呢?下载线已经用的是USB-Blaster了。还有什么其他可以考虑失败因素呢?期待解答,谢谢!
cad4201
cad4201
不好意思,前几天有点事。现在才看到,如果你着急可以给我发个论坛内的message
你做了测试程序,这是很好的测试方法。一下就能说明硬件问题,而且对写驱动也有好处。
能下载小程序说明不是连接的问题,有可能是sdram里的bank有部分问题。
你可以增加测试程序,比如循环写读数。或者换块sdram试试。
goodluck
caopengly
[此贴子已经被作者于2007-1-18 17:20:37编辑过]
cad4201,
你好,我以前也遇到过这种问题,你的sdram校验通不过有可能是
1。clk不对,在FPGA中有专业的pllout口资源。用它作输出clk波形很好,建议用示波器比较一下,这很重要哦。
2。clk在pll中有e口作外部输出,用c口没有e口输出好
3。在晶振输出接个小电阻可以很好滤波。
4。相移-20 到-75都可以,开始你可以将频率设小一些,这样相移因素就可以排除。
good luck
caopengly
用PLL,是否就要用e口输出呢?觉的可以用C1口啊..我曾经用C0口,但是出来的结构是错误.
就是内存问题...
Using cable "USB-Blaster [USB-0]", device 1, instance 0x00
Processor is already paused
Reading System ID at address 0x00005048: verified
Initializing CPU cache (if present)
OK
Downloading 01000000 ( 0%)
Downloaded 58KB in 0.7s (82.8KB/s)
Verifying 01000000 ( 0%)
Verify failed between address 0x1000000 and 0x100E4BB
Leaving target processor paused
还是内存问题.
你应该是移相没搞好啊.
移相要看你的板子,给你的板子有关....
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |