《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > 在FPGA的編程語言里,,這是你最容易犯的錯誤

在FPGA的編程語言里,,這是你最容易犯的錯誤

2018-05-20
關(guān)鍵詞: FPGA 編程語言 鎖存器

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

  邏輯寫多了,,有時候一些基本的錯誤忘了避免了,。

1.png

  昨天設(shè)計邏輯的時候就不小心觸雷了,有個信號有激勵沒響應(yīng),,后來看了時序報告,,有這么一句話。

  這是什么呢,?鎖存器??!

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

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

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

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

  當然如果是老鳥,,這句話可忽略,。

  阻塞和非阻塞,這件事情百分之九十九點九九是筆誤,,沒見過開發(fā)者沒事非要冒險試一下“=”跟“<=”的區(qū)別,。

  很多人說這兩個沒啥區(qū)別,這兩個符號啊,,沒出事就好,,出事了查起來就煩了。

  所以記好了,,組合邏輯里面用=,,時序邏輯里面用<=,肯定不會錯,。

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

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


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,,避免給雙方造成不必要的經(jīng)濟損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。