FPGA設(shè)計(jì)_邏輯鎖定(logic lock)的簡單使用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
背景說明
當(dāng)設(shè)計(jì)中模塊較多時(shí),可能會(huì)出現(xiàn)增加一些邏輯,或者增加一個(gè)模塊后,先前正常的模塊工作出現(xiàn)錯(cuò)誤的情況,當(dāng)注釋掉增加的邏輯或模塊時(shí),先前的模塊又恢復(fù)正常,這很有可能是增加邏輯前后軟件布局布線不一樣導(dǎo)致的。
最近遇到一個(gè)情況是,在調(diào)試過程中添加了probe and source IP核去觀察一個(gè)新寫的模塊的輸出數(shù)據(jù),全編譯后,用ISSP觀察數(shù)據(jù)是正常的,于是注釋掉probe and source IP核,再全編譯,然后固化到器件中,結(jié)果測試時(shí)發(fā)現(xiàn)輸出數(shù)據(jù)不對,反復(fù)驗(yàn)證了多次,發(fā)現(xiàn)情況都是這樣。后來發(fā)現(xiàn)是增加和去除該IP核前后,軟件的布局布線不一樣的原因?qū)е碌摹?
解決方法
添加probe and source IP核后,模塊的布局布線位置如下(chip planner中查看):
紅色區(qū)域?yàn)閜robe and source IP核的布局位置,紫色區(qū)域?yàn)閘m75模塊布局位置。
注釋掉probe and source IP核后,再查看布局情況:
可以看到,lm75模塊的位置發(fā)生了變化,為了使lm75模塊工作正常,現(xiàn)在退回到有probe and source IP核的情況,給lm75創(chuàng)建邏輯鎖定(logic lock),
由于lm75模塊的布局是分散的,我們讓軟件自己來規(guī)劃區(qū)域鎖定
全編譯,查看布局情況
可以看到quartus軟件幫我們創(chuàng)建了一個(gè)邏輯鎖定區(qū)域,這個(gè)區(qū)域的state是floating模式,說明該區(qū)域是可以浮動(dòng),如果不想后續(xù)布局布線時(shí)該區(qū)域移動(dòng),則可以修改為fixed模式,如下:
下載程序調(diào)試后,功能正常,注釋掉probe and source IP核后,lm75布局沒有變化,下載程序調(diào)試后,功能正常,其他模塊的功能經(jīng)測試后也是正常的,說明邏輯鎖定是有效果的。但是這里并不能保證對其他模塊的邏輯布局的影響,以及對整體性能的影響,只能說在現(xiàn)階段可以解決筆者遇到的問題,故記錄一下。





