錢虹凌
(山西大同大學(xué)教學(xué)實(shí)驗(yàn)與實(shí)訓(xùn)中心,山西 大同 037003)
EDA 為常見的FPGA 開發(fā)工具,基于此開發(fā)設(shè)計(jì)的一款乒乓球游戲機(jī),可以滿足用戶的使用要求。
乒乓球游戲機(jī)可實(shí)現(xiàn)的功能如下:能進(jìn)行正常的計(jì)局、計(jì)分功能;能實(shí)現(xiàn)對(duì)球臺(tái)和乒乓球的物理模擬實(shí)現(xiàn)功能;用發(fā)光二極管來替代乒乓球,每個(gè)乒乓球由10個(gè)發(fā)光二極管來構(gòu)成;能實(shí)現(xiàn)自動(dòng)判球計(jì)分;能進(jìn)行得勝顯示。
設(shè)計(jì)思路:乒乓球游戲機(jī)原理框圖如圖1 所示。
圖1 乒乓球游戲機(jī)原理框圖
(1)總電路由計(jì)分器、計(jì)局器、移位寄存器和控制器來組成。其中,A、B 雙方計(jì)分顯示和計(jì)局器顯示分別由六個(gè)數(shù)碼管來完成。
(2)控制器模塊由時(shí)序機(jī)來實(shí)現(xiàn),能夠完成對(duì)計(jì)分器、計(jì)局器和移位寄存器的控制,其系統(tǒng)流程圖如圖2所示。
圖2 系統(tǒng)流程圖
(3)CLK1 輸出的時(shí)鐘信號(hào)經(jīng)分頻后得到的信號(hào)來作為移位寄存器和控制器的時(shí)鐘控制信號(hào)。
(4)CLK2 輸出的時(shí)鐘信號(hào)用于消除按鍵抖動(dòng)。
(5)SA、SB、S、SD、SV 模塊為D 觸發(fā)器,其時(shí)鐘信號(hào)由CLK2 來進(jìn)行提供。
該游戲機(jī)的計(jì)局器和計(jì)分器可由四位二進(jìn)制計(jì)數(shù)器來實(shí)現(xiàn),具體實(shí)現(xiàn)的VHDL 部分程序及說明如下:
Entity count is
根據(jù) Ari(2005)[12]將智力資本劃分為人力資本和結(jié)構(gòu)資本,本文將人力資本和結(jié)構(gòu)資本劃分為以下幾個(gè)維度。
Port(clk: in std_logic;---------輸入、輸出端口信號(hào)定義
Q:out std_logic_vecter(3 downto 0));
End count;
Architecture behave of count is
Signal qq: std_logic_vecter(3 downto 0);
Begin
Process(clk)------進(jìn)程由敏感時(shí)鐘信號(hào)CLK 觸發(fā)。
Begin
If clk’event and clk=’1’then
Qq<=qq+1;
End if;
End process;
Q<=qq;
End behave;
EDA 軟件QuartusII 操作界面如圖3 所示。
圖3 QuartusII 設(shè)計(jì)軟件操作設(shè)置界面
該乒乓球游戲機(jī)可實(shí)現(xiàn)正常的計(jì)局、計(jì)分功能,采用VHDL 語言獨(dú)特的自頂向下的設(shè)計(jì)方法進(jìn)行設(shè)計(jì),可以達(dá)到預(yù)期的開發(fā)效果。