• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

      2013-08-14 02:13豆曉東倪春偉周振
      計算機光盤軟件與應(yīng)用 2013年10期
      關(guān)鍵詞:搶答器仿真

      豆曉東 倪春偉 周振

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

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

      中圖分類號:TM571.61

      1 FLEX10K

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

      2 VHLD硬件描述語言簡介

      VHDL最早是由美國國防部提出的。作為硬件描述語言的第一個國際標準,VHDL描述電路行為的算法有很多優(yōu)點:

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

      3 QuartusⅡ簡介

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

      4 設(shè)計思路

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

      5 原理分析

      5.1 搶答器鑒別模塊

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

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

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

      5.3 譯碼模塊

      在這個模塊中主要實現(xiàn)搶答過程中將選手的臺號轉(zhuǎ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é)束語

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

      參考文獻:

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

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

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

      猜你喜歡
      搶答器仿真
      4路搶答器的設(shè)計與研發(fā)
      基于STC12C5A60S2單片機的6路搶答器設(shè)計
      一種幫助幼兒車內(nèi)脫險應(yīng)急裝置的仿真分析
      多路競賽搶答器電路的仿真設(shè)計
      用PIC單片機設(shè)計曰調(diào)時間的搶答器
      岗巴县| 若羌县| 长子县| 旅游| 昌江| 宝应县| 金塔县| 乌拉特中旗| 三门县| 启东市| 兴仁县| 十堰市| 高雄县| 镇平县| 武陟县| 黄龙县| 涿鹿县| 凭祥市| 荣成市| 渝中区| 襄城县| 克什克腾旗| 那曲县| 雅安市| 太康县| 贡嘎县| 山丹县| 兴海县| 水城县| 甘洛县| 泊头市| 榆树市| 通海县| 广河县| 东山县| 罗江县| 仙游县| 察隅县| 肥乡县| 昌黎县| 台北县|