FPGA(5)--VHDL--10十进制计数器及7段显示译码器
生活随笔
收集整理的這篇文章主要介紹了
FPGA(5)--VHDL--10十进制计数器及7段显示译码器
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 一、實驗?zāi)康?/li>
- 二、實驗內(nèi)容
- 三、實驗設(shè)計
一、實驗?zāi)康?/h2>
掌握一般性計數(shù)器的VHDL設(shè)計方法,熟悉程序文本和原理圖結(jié)合方法設(shè)計電路。掌握CASE語句的基本使用方法。
二、實驗內(nèi)容
三、實驗設(shè)計
1.首先用VHDL語言設(shè)計一個10進制計數(shù)器,該計數(shù)器具有復(fù)位端和使能端,因此需要使用條件語句實現(xiàn)其功能,并且應(yīng)該是四位的輸入輸出。VHDL代碼如下:
Library ieee; Use ieee.Std_Logic_1164.All; Use ieee.Std_Logic_Unsigned.All; Entity count10 isport(clk,rst,en,load: in Std_Logic;data: in Std_Logic_Vector (3 downto 0);dout: out Std_Logic_Vector (3 downto 0);cout: out Std_Logic); End Entity count10; Architecture bhv of count10 is beginprocess (clk,rst,en,load)variable q: Std_Logic_Vector (3 downto 0);beginif rst='0' then q:=(others=>'0');elsif clk 'event and clk='1' thenif en='1' thenif (load='0') then q:=data; elseif q<9 then q:=q+1;else q:=(others=>'0');end if;end if;end if;end if;if q="1001" then cout<='1';else cout<='0';end if;dout<=q;End process; End Architecture bhv;驗證其正確性,仿真波形圖如下:
2. 用兩個10進制計數(shù)器擴展成一個100進制計數(shù)器,注意其引腳的連接方式。
仿真驗證其正確性,波形圖如下:
3. 用CASE語句設(shè)計7段顯示譯碼器電路,根據(jù)不同數(shù)字對應(yīng)顯示不同數(shù)碼管的情況,設(shè)計正確的對應(yīng)關(guān)系。VHDL代碼如下:
將其封裝成一個元件。在VHDL描述頁面,選file→create/update→create symbol files for current file,把編寫的代碼封裝成一個元件。
用7段顯示譯碼器將100進制計數(shù)器的兩組4位二進制輸出轉(zhuǎn)換為10進制顯示。原理圖如下:
驗證其正確性,仿真波形如下:
總結(jié)
以上是生活随笔為你收集整理的FPGA(5)--VHDL--10十进制计数器及7段显示译码器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 米读极速版怎么用支付宝提现
- 下一篇: 公路商店如何注销