xuzhengan123 发表于 2012-3-25 20:38:21

Nios的问题

本帖最后由 xuzhengan123 于 2012-3-25 20:38 编辑

本人新手,SOPC新建完毕,Nios中的程序也编译通过,但是在将Nios的核下到FPGA中时出现故障,在Quartus中点击programmer时弹出如下对话框警告:
不知道该怎么解决,希望大家帮帮忙,谢谢了!

jetaime 发表于 2012-3-26 01:29:05

license文件不和谐, 能下载下去一个**_time_limited.sof文件....
1、检测和谐步骤;
2、删除工程目录下 /db 文件夹,和/.sopc_builder 文件夹。并重新在SOPC下编译一次;
3、如若还是不妥,请核实是否在nios配置中调用了license权限外的core;曾经遇到过调用ddr控制器不妥,参考以下方式解决,请您参考:
   ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    以下为引用内容
             Hey there !

I have some trouble getting the DDR Controller to work on the Nios Development Board, Cyclone II edition. I am using Quartus II 8.0 SP1, Web Edition.

I've started my experiments from the "small" reference design, which doesn't include the controller.

The "default" reference design fails for me, and I wasn't able to get it to synthetise without errors.

I'm trying to follow the instructions given by the DDR Controller User Guide, Appendix B. Adding the component to the SOPC system was rather easy, providing the system clock is greater than 77Mhz (I've settled for 80Mhz). This my first question : do I have to clock my system at 80 Mhz, or can I keep the 50Mhz default setting, and have a PLL with x2 multiplier provide a 100Mhz clock to the DDR Controller ?

Now I have trouble with correctly setting up the PLL. The documentation says I should instanciate the generated ddr_pll_cycloneii.vhd at top level, then somehow connects it to the controller.

My understanding of it is that the PLL instanciation cannot take place in SOPC builder, since doing it there ends up in configuring c0 and c1 manually, and I haven't found a way to provide the two required clock inputs to the controller.

I tried to add the ddr_pll_cycloneii.vhd file to the Quartus project using the Settings > File configuration dialog. The component then shows up in the Files and in the Design units panel, but doesn't show up in the Hierarchy panel. At that point I'm stuck, so this my second question : how do I connect the provided PLL to the DDR Controller ?

Now there is a chance I misunderstood what was required. What drove me to these conclusions was the error message that quartus give me at the Classic Timing Analysis compilation stage. Here is the log for reference and forum searches :
Error: Post compile timing analysis failed (retcode=1)
Error: Output clocks to SDRAM Not Found
Error: Output clocks to SDRAM Not Found
Error: In-System timing verification of DDR/DDR2-SDRAM Megacore variation 'ddr_sdram_0' could not be completed due to the above errors.
Error: Evaluation of Tcl script auto_verify_ddr_timing.tcl unsuccessful
Error: Quartus II Shell was unsuccessful. 5 errors, 0 warnings
Error: Peak virtual memory: 55 megabytes
Error: Processing ended: Tue Nov 11 13:44:10 2008
Error: Elapsed time: 00:00:08
Error: Total CPU time (on all processors): 00:00:00


#2
November 12th, 2008, 04:08 AM
pletz
Altera Guru
       
Join Date: Jun 2007
Posts: 971
Rep Power: 3028

Re: Setting up PLL for the DDR Controller Megacore
Quote:
Originally Posted by elie
Hey there !

I have some trouble getting the DDR Controller to work on the Nios Development Board, Cyclone II edition. I am using Quartus II 8.0 SP1, Web Edition.

I've started my experiments from the "small" reference design, which doesn't include the controller.

The "default" reference design fails for me, and I wasn't able to get it to synthetise without errors.

I'm trying to follow the instructions given by the DDR Controller User Guide, Appendix B. Adding the component to the SOPC system was rather easy, providing the system clock is greater than 77Mhz (I've settled for 80Mhz). This my first question : do I have to clock my system at 80 Mhz, or can I keep the 50Mhz default setting, and have a PLL with x2 multiplier provide a 100Mhz clock to the DDR Controller ?

Now I have trouble with correctly setting up the PLL. The documentation says I should instanciate the generatedddr_pll_cycloneii.vhd at top level, then somehow connects it to the controller.

My understanding of it is that the PLL instanciation cannot take place in SOPC builder, since doing it there ends up in configuring c0 and c1 manually, and I haven't found a way to provide the two required clock inputs to the controller.

I tried to add the ddr_pll_cycloneii.vhd file to the Quartus project using the Settings > File configuration dialog. The component then shows up in the Files and in the Design units panel, but doesn't show up in the Hierarchy panel. At that point I'm stuck, so this mysecond question : how do I connect the provided PLL to the DDR Controller ?

Now there is a chance I misunderstood what was required. What drove me to these conclusions was the error message that quartus give me at the Classic Timing Analysis compilation stage. Here is the log for reference and forum searches :
Error: Post compile timing analysis failed (retcode=1)
Error: Output clocks to SDRAM Not Found
Error: Output clocks to SDRAM Not Found
Error: In-System timing verification of DDR/DDR2-SDRAM Megacore variation 'ddr_sdram_0' could not be completed due to the above errors.
Error: Evaluation of Tcl script auto_verify_ddr_timing.tcl unsuccessful
Error: Quartus II Shell was unsuccessful. 5 errors, 0 warnings
Error: Peak virtual memory: 55 megabytes
Error: Processing ended: Tue Nov 11 13:44:10 2008
Error: Elapsed time: 00:00:08
Error: Total CPU time (on all processors): 00:00:00

Hi,

I used a DDR controller long time ago and I remember that the megawizard generates some TCL scripts (e.g. one for the timing analysis). These files must be in the Quartus rundir. Otherwise they will fail. I will look for the old project, maybe I found a more detailed answer.

#3
December 10th, 2010, 04:25 AM
richy759
Altera Pupil
       
Join Date: Jun 2006
Posts: 7
Rep Power: 1960

Re: Setting up PLL for the DDR Controller Megacore
After upgrading to Quartus 10.1 I am getting this error, did you find a solution?
Thanks,
Richard

#4
January 15th, 2011, 12:58 AM
Tristan Schmelcher
Altera Scholar
       
Join Date: Jun 2007
Posts: 33
Rep Power: 1616

Re: Setting up PLL for the DDR Controller Megacore
I'm also getting that error after upgrading to 10.1.

Did you find a solution?

#5
January 17th, 2011, 03:01 AM
richy759
Altera Pupil
       
Join Date: Jun 2006
Posts: 7
Rep Power: 1960

Re: Setting up PLL for the DDR Controller Megacore
I found a work-around probably frowned upon. I just comment out the reference to the tcl script in the qsf file.

#6
February 4th, 2011, 12:50 PM
lundril
Altera Beginner
       
Join Date: Jan 2009
Posts: 3
Rep Power: 1019

Re: Setting up PLL for the DDR Controller Megacore
I found a hack to fix this, but I am not sure if I did the right thing. I have Quartus II 10.1 installed under C:\altera\10_1\ So all paths here refer to that base directory. I patched the file C:\altera\10_1\ip\altera\ddr_ddr2_sdram\lib\tcl\pa ths.tcl In the procedure "extract_clk_tco" there are the lines

Code:
} elseif { $family == "cycloneii" } {
::ddr::extract::follow_edge2 mux async "${basename}\\|ddio_out_...:auto_generated\\|muxa\\\[\\\\]\$" found_tco "" failflag
::ddr::extract::follow_edge2 mux async "~DELAY_CELL\$" found_tco "" failflag
} elseif { $family == "stratixii" } {
I think the 2nd "::ddr::extract::follow_edge2 mux ..." is wrong so I changed that to

Code:
} elseif { $family == "cycloneii" } {
::ddr::extract::follow_edge2 mux async "${basename}\\|ddio_out_...:auto_generated\\|muxa\\\[\\\\]\$" found_tco "" failflag
# ::ddr::extract::follow_edge2 mux async "~DELAY_CELL\$" found_tco "" failflag
} elseif { $family == "stratixii" } {
commenting this line out. After that it worked without problems. so long
Last edited by lundril; February 4th, 2011 at 12:53 PM.. Reason: have to get line wrap correct :-(
--------------------------------------------------------------------------------------------------------
引用出处:http://www.alteraforum.com/forum/showthread.php?t=3970
---------------------------------------------------------------------------------------------------------
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

xuzhengan123 发表于 2012-3-26 14:58:51

jetaime 发表于 2012-3-26 01:29 static/image/common/back.gif
license文件不和谐, 能下载下去一个**_time_limited.sof文件....
1、检测和谐步骤;
2、删除工程目录下 /db ...

谢谢大虾的指点,问题已经解决了哈
页: [1]
查看完整版本: Nios的问题