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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 在FPGA的編程語(yǔ)言里,這是你最容易犯的錯(cuò)誤

          在FPGA的編程語(yǔ)言里,這是你最容易犯的錯(cuò)誤

          作者: 時(shí)間:2018-05-15 來(lái)源:網(wǎng)絡(luò) 收藏

            我知道,我對(duì)與電子有關(guān)的所有事情都很著迷,但不論從哪個(gè)角度看,今天的現(xiàn)場(chǎng)可編程門(mén)陣列(),都顯得“鶴立雞群”,真是非常棒的器件。如果在這個(gè)智能時(shí)代,在這個(gè)領(lǐng)域,想擁有一技之長(zhǎng)的你還沒(méi)有關(guān)注,那么世界將拋棄你,時(shí)代將拋棄你。本公眾號(hào)作者ALI,多年FPGA開(kāi)發(fā)經(jīng)驗(yàn),所有文章皆為多年學(xué)習(xí)和工作經(jīng)驗(yàn)之總結(jié)。

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

            邏輯寫(xiě)多了,有時(shí)候一些基本的錯(cuò)誤忘了避免了。

            昨天設(shè)計(jì)邏輯的時(shí)候就不小心觸雷了,有個(gè)信號(hào)有激勵(lì)沒(méi)響應(yīng),后來(lái)看了時(shí)序報(bào)告,有這么一句話。

              

           

            這是什么呢?鎖存器啊!

            最容易產(chǎn)生的是在always(*)語(yǔ)句中,最后一定是所有分支條件都要描述并賦值。

            狀態(tài)機(jī)中,同樣如此,不但需要有default的狀態(tài),每個(gè)狀態(tài)的都要有所有的分支都要賦值。

            如果設(shè)計(jì)很大,不容易查的話,可以打開(kāi)綜合報(bào)告,搜索“LATCH”關(guān)鍵詞,查看是否有鎖存器的產(chǎn)生,有就趕緊更改設(shè)計(jì)。

            而時(shí)序邏輯綜合結(jié)果必然是觸發(fā)器,因此不用檢查時(shí)序邏輯的分支條件。所以還是那句話,能用時(shí)序邏輯,就盡量別用組合邏輯。

            當(dāng)然如果是老鳥(niǎo),這句話可忽略。

            阻塞和非阻塞,這件事情百分之九十九點(diǎn)九九是筆誤,沒(méi)見(jiàn)過(guò)開(kāi)發(fā)者沒(méi)事非要冒險(xiǎn)試一下“=”跟“<=”的區(qū)別。

            很多人說(shuō)這兩個(gè)沒(méi)啥區(qū)別,這兩個(gè)符號(hào)啊,沒(méi)出事就好,出事了查起來(lái)就煩了。

            所以記好了,組合邏輯里面用=,時(shí)序邏輯里面用<=,肯定不會(huì)錯(cuò)。

            硬件描述語(yǔ)言的坑還是很少的, 搞來(lái)搞去就是組合邏輯、時(shí)序邏輯,一些generat加for循環(huán)就算復(fù)雜的了,因此這塊能說(shuō)的不多。

            編程語(yǔ)言不是語(yǔ)言本身,而是每句邏輯之后的電路,新手入門(mén)學(xué)習(xí)的初學(xué)者一定要注意。



          關(guān)鍵詞: FPGA

          評(píng)論


          相關(guān)推薦

          推薦視頻

          更多>>

          技術(shù)專(zhuān)區(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); })();