新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 牛人業(yè)話 > FPGA設(shè)計(jì)經(jīng)驗(yàn)談

FPGA設(shè)計(jì)經(jīng)驗(yàn)談

—— 走起—FPGA的一些小經(jīng)驗(yàn)
作者:friends 時(shí)間:2013-08-14 來(lái)源:電子產(chǎn)品世界 收藏

  上面這段always實(shí)現(xiàn)的是帶同步清零端的串并轉(zhuǎn)換移位寄存器,位寬為width,下圖為8位電路模型

本文引用地址:http://butianyuan.cn/article/158978.htm

  當(dāng)你具備了一定的識(shí)代碼能力之后,你會(huì)發(fā)現(xiàn)原來(lái)不是那么的枯燥,只不過(guò)是一個(gè)個(gè)電路模型的拼搭而已。

  2)組合邏輯中的if...else...與case

  對(duì)于多輸入端的組合邏輯來(lái)說(shuō),如果不需要考慮優(yōu)先級(jí)應(yīng)該盡量采用case語(yǔ)句來(lái)描述,這樣綜合出來(lái)的電路并行度要大一些,如果采用if...else...結(jié)構(gòu),綜合出來(lái)的電路都是串行的,增大了信號(hào)時(shí)延路徑。降低寄存器間組合路徑的延遲是提高系統(tǒng)工作頻率的主要手段,因此在完成相同功能的前提下應(yīng)該盡量使用并行結(jié)構(gòu)邏輯。

  可以看出,并行模式比串行模式少了一級(jí)延時(shí)路徑,隨著輸入端的增多,串行邏輯將比并行邏輯產(chǎn)生更多的延時(shí)路徑。

  3)用數(shù)學(xué)思維來(lái)簡(jiǎn)化設(shè)計(jì)邏輯

  學(xué)習(xí)不僅邏輯思維很重要,好的數(shù)學(xué)思維也能讓你的設(shè)計(jì)化繁為簡(jiǎn),所以啊,那些看見(jiàn)高數(shù)就頭疼的童鞋需要重視一下這門(mén)課哦。舉個(gè)簡(jiǎn)單的例子,比如有兩個(gè)32bit的數(shù)據(jù)X[31:0]與Y[31:0]相乘。當(dāng)然,無(wú)論Altera還是Xilinx都有現(xiàn)成的乘法器可以調(diào)用,這也是最簡(jiǎn)單的方法,但是兩個(gè)32bit的乘法器將耗費(fèi)大量的資源。那么有沒(méi)有節(jié)省資源,又不太復(fù)雜的方式來(lái)實(shí)現(xiàn)呢?我們可以稍做修改:

  將X[31:0]拆成兩部分X1[15:0]和X2[15:0],令X1[15:0]=X[31:16],X2[15:0]=X[15:0],則X1左移16位后與X2相加可以得到X;同樣將Y[31:0]拆成兩部分Y1[15:0]和Y2[15:0],令Y1[15:0]=Y[31:16],Y2[15:0]=Y[15:0],則Y1左移16位后與Y2相加可以得到Y(jié);則X與Y的相乘可以轉(zhuǎn)化為X1和X2分別與Y1和Y2相乘,這樣一個(gè)32bit*32bit的乘法運(yùn)算轉(zhuǎn)換成了四個(gè)16bit*16bit的乘法運(yùn)算和三個(gè)32bit的加法運(yùn)算。轉(zhuǎn)換后的占用資源將會(huì)減少很多,有興趣的童鞋,不妨綜合一下看看,看看兩者差多少。

  4)與觸發(fā)器的關(guān)系

  “是時(shí)序電路的控制者”這句話太經(jīng)典了,可以說(shuō)是設(shè)計(jì)的圣言。的設(shè)計(jì)主要是以時(shí)序電路為主,因?yàn)榻M合邏輯電路再怎么復(fù)雜也變不出太多花樣,理解起來(lái)也不沒(méi)太多困難。但是時(shí)序電路就不同了,它的所有動(dòng)作都是在一拍一拍的節(jié)奏下轉(zhuǎn)變觸發(fā),可以說(shuō)時(shí)鐘就是整個(gè)電路的控制者,控制不好,電路功能就會(huì)混亂。打個(gè)比方,時(shí)鐘就相當(dāng)于人體的心臟,它每一次的跳動(dòng)就是觸發(fā)一個(gè)CLK,向身體的各個(gè)器官供血,維持著機(jī)體的正常運(yùn)作,每一個(gè)器官體統(tǒng)正常工作少不了組織細(xì)胞的構(gòu)成,那么觸發(fā)器就可以比作基本單元組織細(xì)胞。時(shí)序邏輯電路的時(shí)鐘是控制時(shí)序邏輯電路狀態(tài)轉(zhuǎn)換的“發(fā)動(dòng)機(jī)”,沒(méi)有它時(shí)序邏輯電路就不能正常工作,因?yàn)闀r(shí)序邏輯電路主要是利用觸發(fā)器存儲(chǔ)電路的狀態(tài),而觸發(fā)器狀態(tài)變換需要時(shí)鐘的上升或下降沿!由此可見(jiàn)時(shí)鐘在時(shí)序電路中的核心作用!

逆變器相關(guān)文章:逆變器原理


fpga相關(guān)文章:fpga是什么


可控硅相關(guān)文章:可控硅工作原理


pwm相關(guān)文章:pwm是什么


c語(yǔ)言相關(guān)文章:c語(yǔ)言教程


逆變器相關(guān)文章:逆變器工作原理


比較器相關(guān)文章:比較器工作原理




關(guān)鍵詞: FPGA EDA VHDL Verilog 時(shí)鐘 IP核

評(píng)論


相關(guān)推薦

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

關(guān)閉