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

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

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

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

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

1.png

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

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

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

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

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

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

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

  阻塞和非阻塞,,這件事情百分之九十九點(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é)者一定要注意,。


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