1. 程式人生 > >nios ii 及 quartus ii錯誤記錄

nios ii 及 quartus ii錯誤記錄

1

Quartus ii

Error (170040): Can't place all RAM cells in design

       Info (170034):Selected device has 46 memory locations of type M9K. The current designrequires 55 memory locations of type M9K to successfully fit.

       Info (170033):Memory usage required for the design in the current device: 120% M9K memoryblock locations required

Error (171000): Can't fit design in device

Error: Quartus II 64-Bit Fitter was unsuccessful. 2 errors,67 warnings

       Error: Peakvirtual memory: 882 megabytes

       Error: Processingended: Wed Mar 01 11:24:58 2017

       Error: Elapsedtime: 00:00:11

       Error: Total CPUtime (on all processors): 00:00:11

Error (293001): Quartus II Full Compilation was unsuccessful.4 errors, 112 warnings

 原因片上ram分配的太多了,fpga資源不夠

2、

Description  Resource      Path      Location Type

region `onchip_memory2' overflowed by 5808 bytes RGLV5KSoftware             C/C++ Problem

原因 ram資源不夠。

3

Description  Resource      Path      Location Type

undefined reference to `__alt_invalid'    alt_sys_init.c /RGLV5KSoftware_bsp             C/C++Problem

nios中偶爾出現了這個錯誤,後發現dsp檔案的配置有錯誤,

在dsp檔案右擊,選擇niosii---dsp editor

開啟的dsp edit偶爾選項卡中,在前面三項都選擇jtag_uart

再次編譯工程,不會報錯。

開啟APP工程內的Makefile,尋找C_SRCS關鍵字,沒有的話自己手動加入。

然後在後面新增錯誤的檔案

C_SRCS += src/debug/debug.c

4

Error (12153): Can't elaborate top-leveluser hierarchy

Quartus II不能精細的頂級使用者層次結構

實體名字與你的工程名不一致

5

Description    Resource Path Location Type

address 0x17fa0 of RGLVPulseSoftware.elfsection `.rwdata' is not within region `onchip_memory2' RGLVPulseSoftware                 C/C++ Problem

address 0x19e84 of RGLVPulseSoftware.elfsection `.onchip_memory2' is not within region `onchip_memory2'C/C++ Problem

也是片上ram空間不夠引起的。

6

nios ii SEVERE System ID mismatch -connected 0x1001703a, expected 0x0.

原因一

nios ide/sdk使用的sopcinfo或者ptf檔案和你對fpga配置的檔案不是同一個工程建立的.

原因二

system id不正確。在qsys中刪除systemid元件並重新新增,然後generate 解決

7

Error (176310): Can't place multiple pinsassigned to pin location Pin_6 (IOPAD_X0_Y22_N21)

       Info(176311): Pin o_epcs_sdo is assigned to pin location Pin_6 (IOPAD_X0_Y22_N21)

       Info(176311): Pin ~ALTERA_ASDO_DATA1~ is assigned to pin location Pin_6(IOPAD_X0_Y22_N21)

原因是不能分配給多功能管腳Pin_K22 。 這是由於Pin_K22 是一個多功能管腳,還有一個功能是nCEO,也是預設的功能。如果要用它當普通IO,需要提前設定一下:assignments>device>deviceand pin options>dual-purpose pins裡面把nCEO設定成use as regular i/o就可以了。

8

Error: Can't place 108 pins with 2.5 V I/Ostandard because Fitter has only 81 such free pins available for generalpurpose I/O placement.

  為了避免以上情況的出現,常常使用Virtual Pin對非IO引腳的訊號進行約束,經過約束的訊號,綜合佈線器將不對其分配IO資源。

  具體方法如下:

  在Quartus II中Assignments->AssignmentEditor,在Category欄選擇logicoptions,到列表中To列下新增要設定的引腳介面,將AssignmentName設定為Virtual Pin,將Value設定為On,Enabled 設定為Yes,如果需要設定的很多,可以通過在Pin Planner中將引腳複製過來。

  這樣設定為Virtual Pin 就不會佔用FPGA的IO資源,而且時序模擬不會增加額外的延時,更加準確。

  2、用quartus設計框圖時出現錯誤,錯誤資訊如下:

  Error: Can't place 117 pins with LVTTLI/O standard because Fitter has only 85 such free pins available for generalpurpose I/O placement

  Error: Can't place pins due to device constraints

  Error: Can't fit design in device

  Error: Quartus II Fitter wasunsuccessful. 3 errors, 0 warnings

  Error: Quartus II Full Compilation wasunsuccessful. 3 errors, 0 warnings

  這個問題我也碰到過,不到10分鐘就解決了。

  解決方法:

  在你開發的時候,你在給晶片指定管腳的時候, 可能因為某些原因刪除了一些管腳, 而你在ALL PIN列表中卻沒有刪除,當你繼續分配的時候,雖然你實際用到的管腳不到85,但是你曾經分配的管腳已經有117個了。 所以解決方法很簡單,就是在ALLPIN列表中刪除未用管腳。

  感覺這是QuartsII的一個小bug。

  Error: Can't place 98 pins with 3.3-VLVTTL I/O standard because Fitter has only 80 such free pins available forgeneral purpose I/O placement。

  提示資訊表明錯誤: 不能夠放置98個3.3LVTTL I?O標準電平引腳,因為Fitter只能有80個空餘的引腳用來作為GPIO。 請檢查你的工程管理的器件,不能滿足你的應用,得更換更多引腳或更高效能的晶片。