国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Quartus完成的四路搶答器設(shè)計(jì)

2013-08-14 02:13豆曉東倪春偉周振
關(guān)鍵詞:搶答器仿真

豆曉東 倪春偉 周振

摘 要:針對(duì)實(shí)際應(yīng)用的需要,利用可編程邏輯器件設(shè)計(jì)了搶答器。該搶答器單元電路的軟件設(shè)計(jì)利用硬件描述語(yǔ)言設(shè)計(jì)完成。設(shè)計(jì)了控制主電路、數(shù)字顯示電路、編碼譯碼電路功能,并利用Quartus工具軟件完成了編譯仿真驗(yàn)證;硬件選擇FLEX10K系列的EPF10K10LC84-4芯片來(lái)實(shí)現(xiàn)搶答器的系統(tǒng)功能。該搶答器具有很強(qiáng)的功能擴(kuò)充性,應(yīng)用效果良好。

關(guān)鍵詞:可編程邏輯器件;搶答器;硬件描述語(yǔ)言;仿真;系統(tǒng)可編程

中圖分類(lèi)號(hào):TM571.61

1 FLEX10K

FLEX10K系列器件首次采用嵌入式陣列,其容量高達(dá)25萬(wàn)門(mén)。由于它的高密度和易于在設(shè)計(jì)中實(shí)現(xiàn)復(fù)雜宏函數(shù)和存儲(chǔ)器,因此可以把一個(gè)子系集成在單一芯片上,而每個(gè)FLEX10K器件都包含一個(gè)嵌入式陣列,每個(gè)嵌入式陣列可以實(shí)現(xiàn)專(zhuān)用的功能,因此嵌入式陣列可以減少芯片的體積,使其運(yùn)行速度更快,使用更靈活。

2 VHLD硬件描述語(yǔ)言簡(jiǎn)介

VHDL最早是由美國(guó)國(guó)防部提出的。作為硬件描述語(yǔ)言的第一個(gè)國(guó)際標(biāo)準(zhǔn),VHDL描述電路行為的算法有很多優(yōu)點(diǎn):

(1)設(shè)計(jì)層次較高,用于較復(fù)雜的計(jì)算時(shí),能盡早發(fā)現(xiàn)存在的問(wèn)題,縮短設(shè)計(jì)周期。(2)獨(dú)立實(shí)現(xiàn)、修改方便。(3)移植性強(qiáng),其源代碼已成為一種輸入標(biāo)準(zhǔn),可用于各種不同的EDA工具。(4)VHDL類(lèi)型眾多而且支持用戶(hù)自定義類(lèi)型,支持自頂而下的設(shè)計(jì)方法和多種電路的設(shè)計(jì)。

3 QuartusⅡ簡(jiǎn)介

Altera的QuartusⅡ設(shè)計(jì)軟件繼承了MAX+plusⅡ的所有優(yōu)點(diǎn),是更加完善的PLD設(shè)計(jì)工具。它提供了完整的多平臺(tái)設(shè)計(jì)環(huán)境,能夠直接滿(mǎn)足特定設(shè)計(jì)需要,為可編程芯片系統(tǒng)(SOPC)提供全面的設(shè)計(jì)環(huán)境。

4 設(shè)計(jì)思路

設(shè)計(jì)制作一個(gè)競(jìng)賽搶答器,每組受控于一個(gè)搶答按鍵,分別為s0、s1、s2、s3,設(shè)置主持人控制鍵rst,用于控制整個(gè)系統(tǒng)清零和搶答有效控制。按下復(fù)位鍵時(shí),系統(tǒng)清零;抬起復(fù)位鍵時(shí),搶答開(kāi)始;系統(tǒng)具有第一搶答信號(hào)鑒別和鎖存功能。在主持人將系統(tǒng)復(fù)位并使搶答有效開(kāi)始后,第一搶答者按下?lián)尨鸢粹o,電路應(yīng)記憶下第一搶答者的組別,并封鎖其他各組的按鈕,即其他任何一組按鍵都不會(huì)使電路響應(yīng);系統(tǒng)以?xún)煞N方式指示第一搶答者:一是通過(guò)對(duì)應(yīng)的輸出引腳讓數(shù)碼管顯示組別號(hào);二是在第一搶答者產(chǎn)生時(shí),蜂鳴器響起。

5 原理分析

5.1 搶答器鑒別模塊

在這個(gè)模塊中主要實(shí)現(xiàn)搶答過(guò)程中的搶答功能,還能記錄搶答者的臺(tái)號(hào),并且能實(shí)現(xiàn)當(dāng)有一路搶答按鍵按下時(shí),其余各路被封鎖的功能。其中有四個(gè)搶答信號(hào)s0、s1、s2、s3;搶答使能信號(hào)s;搶答狀態(tài)顯示信號(hào)states;搶答與警報(bào)時(shí)鐘信號(hào)clk2;系統(tǒng)復(fù)位信號(hào)rst;警報(bào)信號(hào)tmp。

5.2 報(bào)警模塊(已包含在搶答鑒別模塊里)

在這個(gè)模塊中主要實(shí)現(xiàn)搶答過(guò)程中的報(bào)警功能,當(dāng)主持人按下控制鍵,有人搶答時(shí)蜂鳴器開(kāi)始報(bào)警,有效電平輸入信號(hào)i;狀態(tài)輸出信號(hào)q;計(jì)數(shù)脈沖clk2。

5.3 譯碼模塊

在這個(gè)模塊中主要實(shí)現(xiàn)搶答過(guò)程中將選手的臺(tái)號(hào)轉(zhuǎn)換成二進(jìn)制碼并送給數(shù)碼管顯示。

各模塊程序如下:

搶答鑒別模塊:

library ieee;--搶答鑒別模塊

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity qdjb is

port(rst,clk2:in std_logic;

s0,s1,s2,s3:in std_logic;

states:buffer std_logic_vector(3 downto 0);

tmp:out std_logic);

end qdjb;

architecture one of qdjb is

signal st:std_logic_vector(3 downto 0);

begin

p1:process(s0,rst,s1,s2,s3,clk2)

begin

if rst='0' then

tmp<='0';st<="0000";

elsif clk2'event and clk2='1' then

if (s0='1' or st(0)='1')and not( st(1)='1' or st(2)='1' or st(3)='1' ) then st(0)<='1';

end if ;

if (s1='1' or st(1)='1')and not( st(0)='1' or st(2)='1' or st(3)='1' ) then st(1)<='1';

end if ;

if (s2='1' or st(2)='1')and not( st(0)='1' or st(1)='1' or st(3)='1' ) then st(2)<='1';

end if ;

if (s3='1' or st(3)='1')and not( st(0)='1' or st(1)='1' or st(2)='1' ) then st(3)<='1';

end if ;

tmp<=s0 or s1 or s2 or s3;

end if ;

end process p1;

p2:process(states(0),states(1),states(2),states(3))

begin

if (st="0000") then states<="0000";

elsif (st<="0001") then states<="0001";

elsif (st<="0010") then states<="0010";

elsif (st<="0100") then states<="0011";

elsif (st<="1000") then states<="0100";

end if;

end process p2;

end one;

譯碼模塊:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY YMQ IS

PORT(AIN4: IN STD_LOGIC_VECTOR(3 DOWNTO 0);

DOUT7: OUT STD_LOGIC_VECTOR(6 DOWNTO 0));

END YMQ;

ARCHITECTURE ART OF YMQ IS

BEGIN

PROCESS(AIN4)

BEGIN

CASE AIN4 IS

WHEN "0001"=>DOUT7<="0110000"; --1

WHEN "0010"=>DOUT7<="1101101" --2

WHEN "0011"=>DOUT7<="1111001"; --3

WHEN "0100"=>DOUT7<="0110011"; --4

WHEN OTHERS=>DOUT7<="0000000";

END CASE;

END PROCESS;

END ARCHITECTURE ART;

6 結(jié)束語(yǔ)

本文利用硬件描述高級(jí)語(yǔ)言VHDL設(shè)計(jì)的優(yōu)點(diǎn)完成了對(duì)應(yīng)單元的電路設(shè)計(jì),使系統(tǒng)較為簡(jiǎn)潔合理。利用復(fù)雜可編程器件實(shí)現(xiàn)了搶答器的系統(tǒng)功能,使電路引腳定義自如,實(shí)際印板布線(xiàn)靈活,應(yīng)用可靠。通過(guò)以實(shí)例可以看出,用VHDL語(yǔ)言設(shè)計(jì)數(shù)字系統(tǒng),是自上至下地進(jìn)行設(shè)計(jì),十分方便靈活。由于VHDL具有并行同時(shí)語(yǔ)句,設(shè)計(jì)的電路延遲小。

參考文獻(xiàn):

[1]譚會(huì)生,瞿遂春.EDA技術(shù)綜合應(yīng)用實(shí)例與分析[M].西安:西安電子科技大學(xué)出版社,2004.

[2]李國(guó)洪,胡輝,沈明山.EDA技術(shù)與實(shí)驗(yàn)[M].北京:機(jī)械工業(yè)出版社,2008.

[3]王道憲,賀名臣,劉偉.VHDL電路設(shè)計(jì)技術(shù)[M].北京:國(guó)防工業(yè)出版社,2004.

猜你喜歡
搶答器仿真
4路搶答器的設(shè)計(jì)與研發(fā)
基于STC12C5A60S2單片機(jī)的6路搶答器設(shè)計(jì)
一種幫助幼兒車(chē)內(nèi)脫險(xiǎn)應(yīng)急裝置的仿真分析
多路競(jìng)賽搶答器電路的仿真設(shè)計(jì)
用PIC單片機(jī)設(shè)計(jì)曰調(diào)時(shí)間的搶答器
璧山县| 团风县| 梓潼县| 奇台县| 九龙县| 禹城市| 武乡县| 湛江市| 朔州市| 邹城市| 阿图什市| 黄冈市| 和林格尔县| 灵山县| 中方县| 耒阳市| 东兰县| 渝中区| 德州市| 库伦旗| 新闻| 神木县| 绥江县| 德庆县| 宜都市| 塘沽区| 小金县| 绥滨县| 红原县| 逊克县| 康定县| 原平市| 黄平县| 万安县| 措美县| 白城市| 广州市| 西和县| 山西省| 天祝| 平乐县|