<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 6系列FPGA中使用塊RAM的心得(4)

          6系列FPGA中使用塊RAM的心得(4)

          作者: 時(shí)間:2017-10-13 來源:網(wǎng)絡(luò) 收藏

          調(diào)試過程中的一點(diǎn)小問題
          生成IP核的調(diào)用之后,然后對(duì)其進(jìn)行例化,格式是
          rrra YourInstanceName (
          .clka(clka),
          .addra(addra), // Bus [9 : 0]
          .douta(douta)); // Bus [43 : 0]
          然后調(diào)用sinplify,對(duì)其進(jìn)行綜合,結(jié)果很不順利。首先是synplify報(bào)不支持器件,才發(fā)現(xiàn)synplify 9.6.2是2008年的產(chǎn)品,比Spartan6器件還要老。更新到Synplify Pro D-2010.03之后,器件是支持了,但是一綜合就報(bào)錯(cuò)停止了,卻不提示有什么錯(cuò)誤。查看工程文件夾下面的.log和.srr文件,里面也是啥信息都沒給。沒辦法,只好切換會(huì)使用XST進(jìn)行綜合。這回能給出信息了:因?yàn)槔?8次,所以有28個(gè)錯(cuò)誤,全部提示ERROR:HDLCompilers:26 - f7.v line 49 unexpected token: rrra。
          HDLCompilers:26這個(gè)錯(cuò)誤,一般情況下是把wire類型的值賦給了reg型的變量才提示的,但是仔細(xì)檢查了程序沒有發(fā)現(xiàn)有不對(duì)的類型聲明,非常納悶。思考了好久才發(fā)現(xiàn),問題竟然就出在IP調(diào)用的身上。原來,我在使用rrra ROM0(start,addr0,temp0);調(diào)用之后,對(duì)應(yīng)的douta它是一個(gè)端口,自然是wire類型的,而程序聲明中temp0是一個(gè)reg型的,用來傳遞參數(shù)時(shí)因?yàn)轭愋筒黄ヅ渥匀惶崾惧e(cuò)誤了。
          這里也發(fā)現(xiàn)了在ISE中調(diào)用synplify進(jìn)行綜合的一個(gè)不足之處,就是如果源程序中如果有錯(cuò)誤的話,在直接調(diào)用synplify時(shí),并不給出錯(cuò)誤的具體信息,而是直接終止綜合;沒辦法還得使用XST點(diǎn)擊“check syntax”進(jìn)行程序的語法檢查,而在synplify環(huán)境下點(diǎn)擊“syntax check”一樣也能給出錯(cuò)誤信息??磥矶叩慕涌谶€不是非常完善吧。

          本文引用地址:http://www.ex-cimer.com/article/201710/365648.htm


          關(guān)鍵詞: FPGA RAM

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();