Quartus II和Nios II使用時遇到的錯誤及解決方法總結

2021-02-14 FPGA開源工作室
問題1:

nios燒寫報錯error code 8 base=0x211000 --epcs --sidp=0x212AA0 --id=0x0 --accept-bad-sysid --device=1

代碼太大,超出了代碼空間的大小。

問題2:

nios 調試時出現FAILED downloading ELFfailed ,Nios調試的時候出現downloadingELFprocess failed但是 燒寫 正常;並且在調試的過程中提示出錯位置 Verify failed between address 0x11000 and 0x1101F
Leaving target processor paused

發現提示錯誤的器件是epcs,其實epcs是沒有問題的。通過修改bsp的配置即可,Bsp右擊-nios ii –bspeditor 取消選中所有選項即可。

問題3:

qsys加入epcs後的waring問題
Warning (12251): Kernel: "No matching role found for EPCS:epcs_control_port:endofpacket (endofpacket)"
Warning (12251): Kernel: "No matching role found for EPCS:epcs_control_port:dataavailable (dataavailable)"
Warning (12251): Kernel: "No matching role found for EPCS:epcs_control_port:readyfordata (readyfordata)"

因為同時出現了nios中燒寫flash時候報epcs錯誤。後發現是代碼太大超出了限制。精簡代碼後,quartus 編譯不再報錯。

問題4:

Quartus iiError (170040): Can't place all RAM cells in design Error: Peakvirtual memory: 882 megabytes

原因 ram資源不夠。

問題5:

Description Resource Path Location Type undefined reference to `__alt_invalid' alt_sys_init.c problem.

nios中偶爾出現了這個錯誤,後發現dsp文件的配置有錯誤,在dsp文件右擊,選擇niosii—dsp editor,打開的dsp edit偶爾選項卡中,在前面三項都選擇jtag_uart再次編譯工程,不會報錯。打開APP工程內的Makefile,尋找C_SRCS關鍵字,沒有的話自己手動加入。然後在後面添加錯誤的文件C_SRCS += src/debug/debug.c。

問題6 :

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

Quartus II不能精細的頂級用戶層次結構實體名字與你的工程名不一致。

問題7:

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空間不夠引起的。

問題8:

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

原因一:

nios ide/sdk使用的sopcinfo或者ptf文件和你對fpga配置的文件不是同一個工程建立的。
原因二:

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

問題9:

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就可以了。

問題10:

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資源,而且時序仿真不會增加額外的延時,更加準確。

問題11:

用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

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

問題12:

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。請檢查你的工程管理的器件,不能滿足你的應用,得更換更多引腳或更高性能的晶片。

問題13:

quartus的Error Can't place multiple pins assigned to pin locatio
Error (176310): Can't place multiple pins assigned 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>device and pin options>dual-purpose pins裡面把nCEO設置成use as regular i/o就可以了。

問題14:

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

原因一:
nios ide/sdk使用的sopcinfo或者ptf文件和你對fpga配置的文件不是同一個工程建立的。
原因二:
system id不正確。在qsys中刪除systemid組件並重新添加,然後generate 解決。

問題15:

nios 中出現undefined reference to `__alt_invalid'alt_sys_init.c CC++ Problem
nios中偶爾出現了這個錯誤,後發現dsp文件的配置有錯誤,

在dsp文件右擊,選擇nios ii—dsp editor 打開的dsp edit偶爾選項卡中,在前面三項都選擇jtag_uart再次編譯工程,不會報錯。

問題16:

Verifying 000xxxxx ( 0%) Verify failed between address 0xxxxxx and 0xxxxxx Leaving target processor

首先要根據address後面的兩個地址判斷出錯的到底是什麼器件。一般情況出現錯誤的大多是存儲器。判斷的方法是根據sopc中的地址,或者是system.h中的地址,查找相應出錯的器件。

檢查硬體焊接是否正常。很多時候有些問題是硬體焊接造成的,這個主要針對的是自己焊接的板子,一旦地址數據總線有任何焊接問題,都會出現verify failed錯誤。

檢查sopc中的componet是否正常。如果是自己加入的接口邏輯,這個部分要確認其正常與否。

檢查Quartus中的設計:
檢查引腳鎖定是否正確,必須一一對應,不能有一個錯誤;地址對齊問題:針對8、16、32位的外部存儲器,對應地址最低位的應該是0、1、2。也就是說如果用16位的外部存儲器,那麼它的最低位是ADD[1],而ADD[0]是不用的,其他同理。數據總線必須是雙向IO口,這點很容易忽略。如果是SDRAM,需要計算並設定PLL的相移。

Nios IDE中檢查項目設計是否正確。

文章最後特別感謝網友李YZ對本文內容的貢獻。

Altera的Cyclone系列器件命名

相關焦點

  • quartus ii使用教程_quartus ii安裝教程
    打開APP quartus ii使用教程_quartus ii安裝教程 網絡整理 發表於 2020-12-18 15:25:42
  • 使用Quartus II開發軟體
    概括起來說就是 Quartus II的T.I.P.S.方法。本文引用地址:http://www.eepw.com.cn/article/81537.htm  T代表Timequest,新一代ASIC功能時序分析器,支持業界標準的Synopsys設計約束(SDC)時序分析方法。
  • 時尚女性首選 合肥索尼LT26ii報價2088
    【PConline安徽站 行情】索尼LT26ii是索尼LT26i的升級版本,這兩款機型在外觀上的改變不到,主要的增強了手機的CPU處理器能力,索尼LT26ii的外觀非常的精美,同時在原有的黑色和白色的基礎上,加入了粉色供用戶選擇,更加的適合現代都市潮流女性使用。
  • FPGA設計開發軟體Quartus II的使用技巧之:Quartus II軟體基礎介紹
    QuartusII軟體含有FPGA和CPLD設計所有階段的解決方案。本文引用地址:http://www.eepw.com.cn/article/201706/348826.htmQuartusII是Altera公司新一代的EDA設計工具,由該公司早先的MAX+PLUSII演變而來。
  • sk-ii小紅瓶和小燈泡對比 來瞅瞅看哪款更適合你
    sk-ii小紅瓶和小燈泡對比 來瞅瞅看哪款更適合你時間:2020-11-13 18:25   來源:七麗時尚網   責任編輯:沫朵 川北在線核心提示:原標題:sk-ii小紅瓶和小燈泡對比 來瞅瞅看哪款更適合你 很多人分不清sk-ii小燈泡和小紅瓶有什麼區別,下面就一起來了解下吧!
  • FPGA設計開發軟體Quartus II的使用技巧之: 典型實例-SignalTap II...
    5.10.1實例的內容及目標1.實例的主要內容本節旨在通過給定的工程實例——「正弦波發生器」來熟悉AlteraQuartusII高級調試功能SignalTapII和IntentMemoryContentEditor的使用方法。
  • 聊聊老牟---Glyptemys muhlenbergii
    18世紀時,自學成才的德裔美國植物學家和牧師Gotthilf Heinrich Ernst Muhlenberg首次紀錄到牟氏水龜。Muhlenberg 牟倫伯格命名了150多種北美植物,當時正在對賓夕法尼亞州蘭開斯特縣的植物群進行調查,結果發現了這種小王八。
  • 日本著名小學生書包品牌Fuwarii入駐繁星優選
    近日,微博大V「作業本」與日本排名第二的箱體書包品牌「Fuwarii」籤訂大陸地區代理協議,並宣布入駐「繁星優選」平臺獨家銷售。以設計精良和安全耐用著稱的日本書包品牌—Fuwarii從此正式進入中國,消費者也終於可以在國內通過正規渠道買到這一產品。
  • 錯誤終結者:Fragment在ViewPager中的正確應用
    四、更優雅的滑動到當前Fragment時加載數據新版本下的fragment,在使用FragmentStatePagerAdapter,我們會發現默認的構造方法是過時的:@DeprecatedpublicFragmentStatePagerAdapter(@NonNullFragmentManager fm) {this(fm, BEHAVIOR_SET_USER_VISIBLE_HINT
  • 14種模式搞定面試算法編程題(PART II)
    通常,約束就是需要就地執行此操作,即使用現有節點對象而不使用額外內存。這是上述模式有用的地方。此模式一次反轉一個節點,從一個指向鍊表頭部的變量(當前)開始,一個變量(上一個)將指向已處理的上一個節點。以鎖步方式,將通過將當前節點指向前一個節點,然後再轉到下一個節點來反轉當前節點。
  • sk-ii小燈泡多少錢?在哪裡買最便宜?一起來看看吧
    sk-ii是日本一個很出名的品牌,它家的小燈泡和其他產品都是相當不錯的。用過sk-ii小燈泡的精緻女孩們,都被這款精華不僅美白還能夠保溼滋潤皮膚的產品給徵服了。用這個搭配保溼的乳液和歐萊雅的黑瓶精華,皮膚大改善,毛孔小了很多。個人用完感受完美。一發不可收拾的愛上了。價格小貴,但絕對值這個價。就算3000也會繼續用,這就是所謂的依賴性吧!哈哈!每個人皮膚不一樣,這個只是個人用的觀點,不喜勿噴。
  • 使用Quartus II提高可編程邏輯設計效能的T.I.P.S
    使用 Quartus II 軟體來進行高密度 FPGA 設計,您可以迅速完成設計。 在系統集成過程中,保持設計模塊的性能不變   Quartus II 漸進式設計在功能上的改進包括了基於團隊的工程管理流程,大大提高了團隊設計的效率。系統規劃人員可以首先採用自上而下的方法定義一個工程。
  • 能不能通俗的講解下傅立葉分析和小波分析之間的關係?
    那麼,如果遇到類似的問題時,如何輸出正確的判斷結果呢?一種可行的方法是全部轉換為整數(0.7*10)/(0.1*10) == 7% ans = 1或者,求兩個數的差值,看差值的絕對值是否足夠小。>% 當你想使用A1變量時,只需要調用A{1}for ii = 1:100 A{ii} = ii:100;end7. i 和j都是MATLAB內置函數(built-in function)在上面的例子,我在for循環裡面的循環變量用的ii,而不是常用的i,這是為什麼呢?
  • JavaScript中使用bind()方法讓代碼更乾淨
    在我最近的編碼中,我發現了一個更簡單的方法。在這個過程中,它消除了匿名函數並刪除了linting錯誤,「不要在循環中寫函數」。你看,我一直在使用JavaScript中的bind()試驗。事實證明,我們可以在多個場合,包括處理我幾周前提到的閉包問題中,使用bind。什麼是bind()?
  • Excel使用方法:常見錯誤的解決辦法
    Excel使用方法:常見錯誤的解決辦法如何解決開頭的「0」不見了>相信大家都遇到過這種情況,明明在數字的開頭輸入了「0」,可是回車後,「0」卻不見了,例如下圖,結果輸入和顯示的數據並不一致。其實這種方法的解決非常簡單,點擊「右鍵」,「設置單元格格式」,選擇「自定義」,在「類型」下面的空白處,直接輸入「0」,點擊確定,即可解決。
  • 【筆記】整理了Git遇到錯誤時如何解決的一些坑!
    抖音號:startphp用短視頻和大家分享PHP學習方法,學習技巧與經驗分享,功能實例歡迎關注抖音號:startphp在工作中,你總是與代碼打交道,上傳代碼的時候,相信你不是用svn,就是用Git版本控制器,下面是最近這幾天整理下來經常會遇到的
  • 新能源乘用車車型積分計算方法註解及體會總結
    筆者對課件進行了學習後的理解,對企業而言最核心的是,要掌握新能源乘用車車型積分計算方法,進而就可以指導企業如何安排新能源汽車的研發、生產、銷售,科學地得到正積分,有效推動我國新能源汽車的健康發展。1)《積分辦法》計算方法的具體對象新能源乘用車是一個模糊的概念,但是具體到計算方法時,卻是具體車型了。
  • 佳能發布緊湊型相機 G9X Mark ii
    佳能發布緊湊型相機 G9X Mark ii 早前有消息指出,佳能可能會在 2017 年 1 月到 2 月之間發布兩款單反機身。據分析,這兩款機身的國內命名可能是 EOS 7X0D 和 EOS 100D。當然,傳說中的 EOS 6D Mark ii 也在預計之內。只是在 CES 期間,佳能還沒有推出這些單反類新品的打算,他們還是把目光放在緊湊型相機領域上。在 CES 開幕的前夜,Canon USA 「錯手」 發布了 1 英寸底緊湊型相機 PowerShot G9 X Mark ii。
  • 使用 matlab 進行傅立葉分析和濾波
    a(k+1) = a(k+1)+2/N*x(ii+1)*cos(2*pi*k*ii/N); b(k+1) = b(k+1)+2/N*x(ii+1)*sin(2*pi*k*ii/N); end c(k+1)=sqrt(a(k+1).^2+b(k+1).^2);end%傅立葉逆變換if(mod(N,2) ~=1) a(m)=a(m)/2;endfor ii=0:N