原創(chuàng)聲明:
本原創(chuàng)教程由芯驛電子科技(上海)有限公司(ALINX)創(chuàng)作,版權(quán)歸本公司所有,如需轉(zhuǎn)載,需授權(quán)并注明出處。
適用于板卡型號(hào):
AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E/AXU4EV-P/AXU5EV-E/AXU5EV-P /AXU9EG/AXU15EG
實(shí)驗(yàn)Vivado工程為“key_test”。
按鍵是FPGA設(shè)計(jì)當(dāng)中最常用也是最簡(jiǎn)單的外設(shè),本章通過(guò)按鍵檢測(cè)實(shí)驗(yàn),檢測(cè)開(kāi)發(fā)板的按鍵功能是否正常,并了解硬件描述語(yǔ)言和FPGA的具體關(guān)系,學(xué)習(xí)Vivado RTL ANALYSIS的使用。
1.按鍵硬件電路
開(kāi)發(fā)板按鍵部分電路
從圖中可以看到,電路的按鍵松開(kāi)時(shí)是高電平,按下時(shí)是低電平。
開(kāi)發(fā)板LED部分電路
而LED部分,高電平滅,低電平亮
2. 程序設(shè)計(jì)
這個(gè)程序沒(méi)有設(shè)計(jì)的很復(fù)雜,通過(guò)簡(jiǎn)單的硬件描述語(yǔ)言看透硬件描述語(yǔ)言和FPGA硬件的聯(lián)系。首先我們將按鍵輸入經(jīng)過(guò)一個(gè)非門(mén)后再經(jīng)過(guò)2組D觸發(fā)器。經(jīng)過(guò)D觸發(fā)器的信號(hào),會(huì)在D觸發(fā)器時(shí)鐘輸入的上升沿鎖存然后再送到輸出。
在進(jìn)行硬件描述語(yǔ)言編碼之前,我們已經(jīng)把硬件構(gòu)建完成,這是一個(gè)正常的開(kāi)發(fā)流程。有了硬件設(shè)計(jì)思路無(wú)論是通過(guò)畫(huà)圖還是通過(guò)Verilog HDL、VHDL都能完成設(shè)計(jì),根據(jù)設(shè)計(jì)的復(fù)雜程序和對(duì)某種語(yǔ)言的熟悉程序來(lái)選擇工具。
3. 創(chuàng)建Vivado工程
3.1 首先建立按鍵的測(cè)試工程,添加verilog測(cè)試代碼,完成編譯分配管腳等流程。
`timescale1ns/1psmodulekey_test( inputclk,//systemclock25Mhzonboard input[3:0]key,//inputfourkeysignal,whenthekeydown,thevalueis0 output[3:0]led//LEDdisplay,whenthesiganllow,LEDlighten);reg[3:0]led_r;//definethefirststageregister,generatefourDFlip-flop reg[3:0]led_r1;//definethesecondstageregister,generatefourDFlip-flopalways@(posedgeclk)begin led_r<=??key;//first?stage?latched?dataendalways@(posedge?clk)begin led_r1?<=?led_r;//second?stage?latched?dataendassign?led?=?led_r1;endmodule
3.2 我們可以使用RTL ANALYSIS工具查看設(shè)計(jì)
3.3 分析RTL圖,可以看出兩級(jí)D觸發(fā)器,和預(yù)期設(shè)計(jì)一致。
4. 板上驗(yàn)證
Bit文件下載到開(kāi)發(fā)板以后,開(kāi)發(fā)板上的"PL LED"處于亮狀態(tài),按鍵“PL KEY1”按下“PL LED1”滅。
-
FPGA
+關(guān)注
關(guān)注
1624文章
21539瀏覽量
600501 -
按鍵
+關(guān)注
關(guān)注
4文章
223瀏覽量
57538 -
Zynq
+關(guān)注
關(guān)注
9文章
604瀏覽量
47075 -
MPSoC
+關(guān)注
關(guān)注
0文章
195瀏覽量
24212 -
Vivado
+關(guān)注
關(guān)注
19文章
799瀏覽量
66132
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論