原創聲明:
本原創教程由芯驛電子科技(上海)有限公司(ALINX)創作,版權歸本公司所有,如需轉載,需授權并注明出處(http://www.alinx.com)。
適用于板卡型號:
PGL22G/PGL12G
1. 文檔簡介
通過按鍵檢測實驗,檢測開發板的按鍵功能是否正常,了解硬件描述語言和FPGA的具體關系,學習PDS View RTL Schematic的使用。
2. 實驗環境
-
Windows 10 64位
-
View RTL Schematic(Pango Design Suite 2020.3)
3. 實驗原理
3.1 按鍵硬件電路
開發板按鍵部分電路
從圖中可以看到,電路的按鍵松開時是高電平,按下時是低電平。
3.2 程序設計
這個程序沒有設計的很復雜,通過簡單的硬件描述語言看透硬件描述語言和FPGA硬件的聯系。首先我們將按鍵輸入經過一個非門后再經過2組D觸發器。經過D觸發器的信號,會在D觸發器時鐘輸入的上升沿鎖存然后再送到輸出。
在進行硬件描述語言編碼之前,我們已經把硬件構建完成,這是一個正常的開發流程。有了硬件設計思路無論是通過畫圖還是通過Verilog HDL、VHDL都能完成設計,根據設計的復雜程序和對某種語言的熟悉程序來選擇工具。
4. 工程分析
1)首先建立按鍵的測試工程,添加verilog測試代碼,完成編譯分配管腳等流程。
2)使用View RTL Schematic工具查看設計
3)分析RTL圖,可以看出第一級D觸發器經過取反后輸入,第二級直接輸入,和預期設計一致。
5. 實驗現象
程序下載到開發板以后, "LED1"、"LED2"、"LED3"、"LED4"都處于亮狀態,按鍵“KEY1”按下“LED1” 滅,按鍵“KEY2”按下“LED2” 滅,按鍵“KEY3”按下“LED3” 滅, 按鍵“KEY4”按下“LED4”滅。
6. 附錄
key_test.v(verilog代碼)
`timescale1ns/1psmodulekey_test(inputsys_clk,//systemclock50Mhzonboardinputrst_n,//reset,lowactiveinput[3:0]key_in,//inputfourkeysignal,whenthekeydown,thevalueis0output[3:0]led//LEDdisplay,whenthesiganlhigh,LEDlighten);reg[3:0]led_r;//definethefirststageregister,generatefourDFlip-flop reg[3:0]led_r1;//definethesecondstageregister,generatefourDFlip-flopalways@(posedgesys_clkornegedgerst_n)beginif(~rst_n) led_r<=4'b0000;else ????????????led_r?<=~key_in;//first?stage?latched?dataendalways@(posedge?sys_clk?ornegedge?rst_n)beginif(~rst_n) ????????????led_r1?<=4'b0000;else ????????????led_r1?<=?led_r;//second?stage?latched?dataendassign?led?=?led_r1;endmodule
-
FPGA
+關注
關注
1630文章
21768瀏覽量
604624 -
RTL
+關注
關注
1文章
385瀏覽量
59874 -
按鍵
+關注
關注
4文章
223瀏覽量
57624 -
硬件描述語言
+關注
關注
0文章
10瀏覽量
12057 -
紫光同創
+關注
關注
5文章
88瀏覽量
27530
發布評論請先 登錄
相關推薦
評論