如何基于FPGA開發(fā)板點(diǎn)亮LED燈?看完你就會(huì)了!
在下述的內(nèi)容中,小編將會(huì)基于FPGA開發(fā)板去點(diǎn)亮LED燈,如果FPGA開發(fā)板相關(guān)的開發(fā)是您想要了解的焦點(diǎn)之一,不妨和小編共同閱讀這篇文章哦。
一、如何基于FPGA開發(fā)板點(diǎn)亮LED燈
使用用戶手冊(cè),了解硬件資源,這個(gè)示例中需要用到按鍵和LED燈:
1、按鍵
在沒有按鍵按下時(shí),輸出高電平(紅色);當(dāng)按鍵按下的時(shí)候,被按下的按鍵端會(huì)輸出低電平(藍(lán)色)。
2、LED燈
當(dāng) FPGA 輸出低電平時(shí),LED 點(diǎn)亮,當(dāng) LED 輸出高電平時(shí),沒有電位差,LED 燈熄滅。
需要實(shí)現(xiàn)的功能是,當(dāng)按下按鍵時(shí)(key_in=0,PIN_M16管腳),LED燈要被點(diǎn)亮(led_out=0,PIN_A2管腳)。對(duì)于復(fù)雜電路還是需要畫波形來理清思路。這里波形應(yīng)該是key與led波形一致。
打開quartus,新建工程。
編寫.v文件,代碼如下:
將.v文件添加到文件目錄下,右鍵Files文件夾選擇添加.v文件,添加完成后可以在Files下看到添加的.v文件:
點(diǎn)擊如圖所示的圖標(biāo),可以檢查語法是否有錯(cuò),綜合器將代碼解釋為電路的形式。綠色表示通過。
點(diǎn)擊RTL viewer可以查看設(shè)計(jì)的硬件電路結(jié)構(gòu),和我們?cè)O(shè)計(jì)所表達(dá)的意思相同
Testbench是測試電路功能和性能的腳本。在線邏輯分析雖然好用但是每次修改代碼都需要綜合一次,而使用testbench做仿真的速度就很快,所以一開始就應(yīng)該編寫testbench以便后面大型電路的驗(yàn)證。
編寫.v文件
tb_led模塊中,首先定義初始的輸入信號(hào)為低電平(一般時(shí)序電路使用非阻塞賦值<=),延遲10個(gè)時(shí)間單位(ns)產(chǎn)生隨機(jī)數(shù)0或1賦值給輸入,就完成了輸入信號(hào)的波形設(shè)計(jì)。根據(jù)上一節(jié)中實(shí)例化的講解,第2-5行和第14-19行完成的功能是將上一個(gè)led.v文件中l(wèi)ed模塊與tb_led模塊相連。這樣隨機(jī)生成的輸入信號(hào)就被加到led模塊上,并得到輸出led_out,通過驗(yàn)證led_out與我們期望的輸出是否一致,就知道我們的設(shè)計(jì)是否正確。
和之前的操作一樣,將這個(gè)tb_led.v文件添加到Files文件下。然后在quartus的菜單欄中找到assignments-setting,如圖所示。
二、采用FPGA點(diǎn)亮LED燈的優(yōu)缺點(diǎn)
(一)優(yōu)點(diǎn)
FPGA的優(yōu)點(diǎn)如下:
(1) FPGA由邏輯單元、RAM、乘法器等硬件資源組成,通過將這些硬件資源合理組織,可實(shí)現(xiàn)乘法器、寄存器、地址發(fā)生器等硬件電路。
(2) FPGA可通過使用框圖或者Verilog HDL來設(shè)計(jì),從簡單的門電路到FIR或者FFT電路。
(3) FPGA可無限地重新編程,加載一個(gè)新的設(shè)計(jì)方案只需幾百毫秒,利用重配置可以減少硬件的開銷。
(4) FPGA的工作頻率由FPGA芯片以及設(shè)計(jì)決定,可以通過修改設(shè)計(jì)或者更換更快的芯片來達(dá)到某些苛刻的要求(當(dāng)然,工作頻率也不是無限制的可以提高,而是受當(dāng)前的IC工藝等因素制約)。
(二)缺點(diǎn)
FPGA的缺點(diǎn)如下:
(1) FPGA的所有功能均依靠硬件實(shí)現(xiàn),無法實(shí)現(xiàn)分支條件跳轉(zhuǎn)等操作。
(2) FPGA只能實(shí)現(xiàn)定點(diǎn)運(yùn)算。
總結(jié):FPGA依靠硬件來實(shí)現(xiàn)所有的功能,速度上可以和專用芯片相比,但設(shè)計(jì)的靈活度與通用處理器相比有很大的差距。
以上所有內(nèi)容便是小編此次為大家?guī)淼乃薪榻B,如果你想了解更多有關(guān)它的內(nèi)容,不妨在我們網(wǎng)站或者百度、google進(jìn)行探索哦。