日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于VHDL语言的多人表决器的设计

發布時間:2023/12/14 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于VHDL语言的多人表决器的设计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基于VHDL語言的多人表決器設計

實驗原理

? 用七個開關作為表決器的7個輸入變量,輸入變量為邏輯“1”時表示表決者“贊同”;輸入變量為邏輯“0”時,表示表決者“不贊同”。輸出邏輯“1”時,表示表決“通過”;輸出邏輯“0”時,表示表決“不通過”。當表決器的七個輸入變量中有4個以上(含4個)為“1”時,則表決器輸出為“1”;否則為“0”。

? 七人表決器設計方案很多,比如用多個全加器采用組合電路實現。用VHDL語言設計七人表決器時,也有多種選擇。我們可以用結構描述的方式用多個全加器來實現電路,也可以用行為描述。采用行為描述時,可用一變量來表示選舉通過的總人數。當選舉人大于或等于4時為通過,綠燈亮;反之不通過時,黃燈亮。描述時,只須檢查每一個輸入的狀態(通過為“1”,不通過為“0”),并將這些狀態值相加,判斷狀態值和即可選擇輸出。

設計思路:

本設計采用多個全加器實現組合電路,用七個開關作為表決器的七個輸入變量,邏輯“1”時表示“贊同”,邏輯“0”時表示“不贊同”,用發光二極管作為輸出指令,輸出邏輯“1”表示“通過”;輸出邏輯“0”時表示“不通過”。當表決器的七個輸入變量中的4個以上(包含4個)為“1”時,則表決器輸出為“1” ,綠燈亮;否則為“0”綠燈不亮。

軟件說明:ModelSimSetup-13.1.0.162,QuartusSetup-13.1.0.162。

建立工程:

第一步:打開Quartus軟件。

第二步:點擊New Project Wizard -> next.

第三步:選擇工程文件的存放位置,輸入工程名 -> next -> next。

第四步:在family欄選擇芯片型號-Cyclone IV E,在Name欄選擇EP4CE115F29C7,選擇完之后點擊next。(如果不進行硬件調試時,此處默認即可)

第五步:檢查工程有沒有建錯,點擊完成。如下圖:

程序設計:

表決器頂層文件設計:

library ieee; use ieee.std_logic_1164.all; entity bjq is port( a:in std_logic_vector(6 downto 0); --7個人num:buffer integer range 0 to 7; --表決通過人數 co:out std_logic); --是否通過信號 end bjq; architecture art of bjq isBeginprocess(a)variable b:integer range 0 to 7; --定義變量b beginb:=0;for n in 0 to 6 loopif a(n)='1' then b:=b+1; --統計通過人數end if;end loop;num<=b;if(b>=4)then co<='1';else co<='0';end if; end process; end art;

文件仿真(這里采用modelsim仿真波形):

  • 選擇File-> New -> Verification/Debugging Files ->University Program VWF。
  • 2.打開測試文件。(右鍵點擊添加端口,對輸入信號初始化,賦值。)

    3.仿真結果:

    邏輯電路圖:

    顯示編譯成功后,選擇菜單欄 Tools –>Netlist Viewers –>RTL Viewer 顯示邏輯電路圖

    總結

    以上是生活随笔為你收集整理的基于VHDL语言的多人表决器的设计的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。