




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、FPGA與硬件描述語言2016.41VHDL硬件描述語言硬件描述語言 基本電路的基本電路的VHDL模型模型3.5 基本電路的VHDL模型3.5.1 組合邏輯電路的設計3.5.2 時序邏輯電路的設計2VHDL硬件描述語言硬件描述語言 組合組合邏輯電路邏輯電路的設計的設計 簡單門電路1. 根據模塊框圖設計電路3VHDL硬件描述語言硬件描述語言 組合組合邏輯電路邏輯電路的設計的設計 簡單門電路2. 根據真值表設計電路4aby001011101110VHDL硬件描述語言硬件描述語言 組合組合邏輯電路邏輯電路的設計的設計 編碼器根據真值表設計優先編碼器5eid0d1d2d3d4d5d6d7q0q1q2g
2、seo1XXXXXXXX11111011111111111100111111100000101111110X001010111110XX01001011110XXX0110101110XXXX100010110XXXXX10101010XXXXXX1100100XXXXXXX11101VHDL硬件描述語言硬件描述語言 組合組合邏輯電路邏輯電路的設計的設計 選擇器根據模塊框圖設計一個四選一選擇器6VHDL硬件描述語言硬件描述語言 組合組合邏輯電路邏輯電路的設計的設計 三態門1. 三態門共有三個端口,即數據輸入、數據輸出和輸出使能2. 當輸出使能有效時,數據輸出端接收來自輸入端的數據;反之,數據輸
3、出端保持高阻態7VHDL硬件描述語言硬件描述語言 組合組合邏輯電路邏輯電路的設計的設計 三態門設計一個三態門8LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY tri_gate ISPORT(datain,en:IN STD_LOGIC; dataout:OUT STD_LOGIC);END tri_gate;ARCHITECTURE behavior OF tri_gate ISBEGINPROCESS(datain,en)BEGINIF en = 1 THENdataout = datain;ELSEdataout = Z;END IF;END
4、 PROCESS;END behavior;VHDL硬件描述語言硬件描述語言 時序時序邏輯電路邏輯電路的設計的設計 時序電路都是以時鐘信號為驅動信號,電路僅在時鐘信號的邊沿才發生改變 時鐘信號是時序電路的執行條件,時序電路總是以時鐘進程的方式進行描述9VHDL硬件描述語言硬件描述語言 時序時序邏輯電路邏輯電路的設計的設計 時鐘進程一般有兩種描述方式:1. 將時鐘信號放入進程敏感表中2. 使用WAIT語句等待時鐘信號,使用WAIT語句時進程將不存在敏感表10VHDL硬件描述語言硬件描述語言 時序時序邏輯電路邏輯電路的設計的設計 對時鐘邊沿進行描述1. 上升沿到來條件描述2. 下降沿到來條件描述1
5、1clkEVENT AND clk = 1 AND clkLAST_VALUE = 0clkEVENT AND clk = 1 -通常描述clkEVENT AND clk = 0 AND clkLAST_VALUE = 1clkEVENT AND clk = 0 -通常描述VHDL硬件描述語言硬件描述語言 時序時序邏輯電路邏輯電路的設計的設計 對時鐘信號描述的注意事項:1. 對時鐘觸發邊沿一定要說明時鐘是上升沿觸發還是下降沿觸發2. 時鐘作為進程中的敏感量時,進程中的敏感量不能出現一個以上的時鐘信號3. 如果使用WAIT語句,它只能放在進程的最前面或者最后面12VHDL硬件描述語言硬件描述語言
6、 時序時序邏輯電路邏輯電路的設計的設計 D觸發器分別用兩種描述方式設計一個D觸發器13VHDL硬件描述語言硬件描述語言 時序時序邏輯電路邏輯電路的設計的設計 觸發器的同步復位和非同步復位1. 同步復位:當復位信號有效且在給定時鐘邊沿到來時,觸發器才被復位2. 非同步復位:又稱為異步復位,一旦有復位信號,觸發器就被復位14VHDL硬件描述語言硬件描述語言 時序時序邏輯電路邏輯電路的設計的設計 觸發器的同步復位15PROCESS(clock)BEGINIF clock_condition THENIF reset_condition THENsignal_out = reset_value;ELS
7、Esignal_out = signal_in;END IF;END IF;END PROCESS;VHDL硬件描述語言硬件描述語言 時序時序邏輯電路邏輯電路的設計的設計 觸發器的異步復位16PROCESS(reset,clock)BEGINIF reset_condition THENsignal_out = reset_value;ELSIF clock_condition THENsignal_out = signal_in;END IF;END PROCESS;VHDL硬件描述語言硬件描述語言 時序時序邏輯電路邏輯電路的設計的設計 計數器設計一個帶異步置數、異步清零功能的8bit同步增
8、減計數器17VHDL硬件描述語言硬件描述語言 時序時序邏輯電路邏輯電路的設計的設計 用狀態機方法設計一個四進制計數器,狀態機的狀態轉移圖如圖1所示,計數器管腳圖如圖2所示,管腳說明:CLK為時鐘信號(上升沿計數),Q為狀態輸出(2bit輸出),CB為進位輸出位(高電平有效)18圖1 狀態轉移圖圖2 管腳圖VHDL硬件描述語言硬件描述語言有限狀態機有限狀態機3.6 有限狀態機3.6.1 有限狀態機的基本模型3.6.2 狀態機的狀態編碼3.6.3 狀態機剩余狀態處理19VHDL硬件描述語言硬件描述語言有限狀態機有限狀態機 數字系統的控制單元通常用傳統的有限狀態機(FSM)或者時鐘模式時序電路來建模
9、 每個控制步驟可以看作一種狀態,與每一控制步驟相關的轉移條件指定了狀態和輸出 大部分數字電子系統由控制單元和數據單元組成,而控制單元的主體是有限狀態機,它根據外部信號和數據單元產生的狀態信息,產生各種控制信號來進行數據處理20VHDL硬件描述語言硬件描述語言有限狀態機有限狀態機 無論是與可完成相似功能的CPU/MCU相比,還是與其他設計方案相比,狀態機都有其無可比擬的優越性,狀態機的優勢主要表現在以下方面:1. 狀態機的結構模式相對簡單,設計方案相對固定,使用VHDL設計時可以定義符號化枚舉類型的狀態2. 使用狀態機可以很容易設計出性能良好的同步時序邏輯模塊,因此很容易避免大規模邏輯電路設計中
10、經常出現的競爭冒險現象21VHDL硬件描述語言硬件描述語言有限狀態機有限狀態機3. 狀態機的VHDL設計程序層次分明、結構清晰、易讀易懂,初學者非常容易掌握,在排錯、修改和模塊移植方面優勢明顯4. 在高速運算和控制方面,狀態機也有著巨大的優勢22 VHDL硬件描述語言硬件描述語言 有限狀態機的基本模型有限狀態機的基本模型狀態機設計與分類的傳統理論是根據狀態機的輸入輸出的關系,分為兩類狀態機: Mealy型 Moore型23 VHDL硬件描述語言硬件描述語言 有限狀態機的基本模型有限狀態機的基本模型 Mealy型狀態機Mealy型狀態機的特點是輸出信號是當前狀態和輸入信號的函數24 VHDL硬件
11、描述語言硬件描述語言 有限狀態機的基本模型有限狀態機的基本模型 Moore型狀態機Moore型狀態機的特點是輸出信號僅與當前狀態有關25 VHDL硬件描述語言硬件描述語言 有限狀態機的基本模型有限狀態機的基本模型 用VHDL設計狀態機的一般結構由以下部分組成:1. 說明部分2. 主控時序進程3. 主控組合進程4. 普通組合進程5. 普通時序進程26 VHDL硬件描述語言硬件描述語言 有限狀態機的基本模型有限狀態機的基本模型 用VHDL設計狀態機的說明部分說明部分1. 說明部分中有新數據類型TYPE的定義及其狀態類型(狀態名)以及在此新數據類型下定義的狀態變量2. 狀態類型一般用枚舉類型,其中每
12、一個狀態名可任意選取3. 狀態變量應定義為信號,便于信息傳遞,說明部分一般放在ARCHITECTURE和BEGIN之間27 VHDL硬件描述語言硬件描述語言 有限狀態機的基本模型有限狀態機的基本模型 用VHDL設計狀態機的說明部分說明部分28ARCHITECTURE behavior OF example ISTYPE states IS (st0, st1, st2, st3);-定義新的數據類型和狀態名SIGNAL current_state, next_state: states; -定義狀態名變量BEGINEND behavior; VHDL硬件描述語言硬件描述語言 有限狀態機的基本模
13、型有限狀態機的基本模型 用VHDL設計狀態機的主控時序進程主控時序進程1. 狀態機是由外部時鐘信號控制,以同步時序方式工作的,狀態機中必須包含一個對工作時鐘信號敏感的進程,作為狀態機的“驅動泵”2. 主控時序進程不負責進入下一狀態的具體狀態取值3. 主控時序進程的設計比較固定和單一29 VHDL硬件描述語言硬件描述語言 有限狀態機的基本模型有限狀態機的基本模型 用VHDL設計狀態機的主控組合進程主控組合進程1. 主控組合進程的任務是根據外部輸入的控制信號,或當前狀態的狀態值確定下一狀態的取值,即next_state的內容,以及確定對外輸出或對內部其他組合或時序進程輸出控制信號的內容30 VHD
14、L硬件描述語言硬件描述語言 有限狀態機的基本模型有限狀態機的基本模型 用VHDL設計狀態機的普通普通組合進程組合進程1. 用于配合狀態機工作的其他組合進程,如為了完成某種算法的進程31 VHDL硬件描述語言硬件描述語言 有限狀態機的基本模型有限狀態機的基本模型 用VHDL設計狀態機的普通時序進程普通時序進程1. 用于配合狀態機工作的其他時序進程,如為了穩定輸出設置的數據鎖存器等32 VHDL硬件描述語言硬件描述語言 有限狀態機的基本模型有限狀態機的基本模型 一個最簡結構的狀態機至少由兩個進程構成,即一個主控時序進程和一個主控組合進程 主控時序進程作為“驅動泵”,描述時序邏輯,包括狀態寄存器的工
15、作和寄存器狀態的輸出 主控組合進程描述組合邏輯,包括進程間狀態值的傳遞邏輯以及狀態轉換值的輸出33 VHDL硬件描述語言硬件描述語言 有限狀態機的基本模型有限狀態機的基本模型34LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY state_machine ISPORT(clk,reset:IN STD_LOGIC; state_inputs:IN STD_LOGIC_VECTOR(0 TO 1); comb_outputs:OUT STD_LOGIC_VECTOR(0 TO 1);END state_machine;ARCHITECTURE beh
16、avior OF state_machine ISTYPE states IS (st0, st1, st2, st3);-定義states為枚舉型數據類型SIGNAL current_state, next_state: states; -定義狀態名變量 VHDL硬件描述語言硬件描述語言 有限狀態機的基本模型有限狀態機的基本模型35BEGINREG:PROCESS(reset,clk)BEGINIF reset = 1 THENcurrent_state = st0;ELSIF clkEVENT AND clk = 1 THENcurrent_state comb_outputs = “00
17、”;IF state_inputs = “00” THENnext_state = st0;ELSEnext_state comb_outputs = “01”;IF state_inputs = “00” THENnext_state = st1;ELSEnext_state comb_outputs = “10”;IF state_inputs = “00” THENnext_state = st2;ELSEnext_state comb_outputs = “11”;IF state_inputs = “11” THENnext_state = st3;ELSEnext_state =
18、st0;END IF;END CASE;END PROCESS;END behavior; VHDL硬件描述語言硬件描述語言 有限狀態機的基本模型有限狀態機的基本模型37VHDL硬件描述語言硬件描述語言狀態機的狀態狀態機的狀態編碼編碼 狀態機的狀態編碼方式是多種多樣的,這要根據實際情況來決定,影響編碼方式選擇的因素主要有:1. 狀態機的速度要求2. 邏輯資源利用率系統運行的可靠性3. 程序的可讀性38VHDL硬件描述語言硬件描述語言狀態機的狀態狀態機的狀態編碼編碼 狀態機的狀態編碼方式主要有:1. 狀態位直接輸出型編碼2. 順序編碼3. 格雷碼編碼4. 一位熱碼編碼39VHDL硬件描述語言硬件
19、描述語言狀態機的狀態狀態機的狀態編碼編碼狀態狀態位直接輸出型位直接輸出型編碼編碼 這類編碼方式最典型的應用實例就是計數器 計數器的輸出就是各狀態的狀態碼 將狀態編碼直接輸出作為控制信號,要求對狀態機各狀態的編碼作特殊的選擇40VHDL硬件描述語言硬件描述語言狀態機的狀態編碼狀態機的狀態編碼狀態位直接輸出型編碼狀態位直接輸出型編碼這種狀態位直接輸出型編碼方式狀態機的優點是輸出速度快、占用邏輯資源少;缺點是程序可讀性差41ARCHITECTURE behavior OF state_machine ISSIGNAL current_state, next_state:STD_LOGIC_VECTO
20、R(6 DOWNTO 0);CONSTANT state0:STD_LOGIC_VECTOR(6 DOWNTO 0):=“1100100”;CONSTANT state1:STD_LOGIC_VECTOR(6 DOWNTO 0):=“0001110”;CONSTANT state2:STD_LOGIC_VECTOR(6 DOWNTO 0):=“0110010”;CONSTANT state3:STD_LOGIC_VECTOR(6 DOWNTO 0):=“0011010”;CONSTANT state4:STD_LOGIC_VECTOR(6 DOWNTO 0):=“0101010”;CONSTA
21、NT state5:STD_LOGIC_VECTOR(6 DOWNTO 0):=“1010000”;BEGINEND behavior;VHDL硬件描述語言硬件描述語言狀態機的狀態狀態機的狀態編碼編碼順序順序編碼編碼 這種編碼方式最為簡單,且使用的觸發器數量最少,剩余的非法狀態最少,容錯技術最為簡單42VHDL硬件描述語言硬件描述語言狀態機的狀態狀態機的狀態編碼編碼順序編碼順序編碼順序編碼的缺點是,盡管節省了觸發器,卻增加了從一種狀態向另一種狀態轉換的譯碼組合邏輯,這對于FPGA器件來說不利實現43ARCHITECTURE behavior OF state_machine ISSIGNAL
22、current_state, next_state:STD_LOGIC_VECTOR(2 DOWNTO 0);CONSTANT state0:STD_LOGIC_VECTOR(2 DOWNTO 0):=“000”;CONSTANT state1:STD_LOGIC_VECTOR(2 DOWNTO 0):=“001”;CONSTANT state2:STD_LOGIC_VECTOR(2 DOWNTO 0):=“010”;CONSTANT state3:STD_LOGIC_VECTOR(2 DOWNTO 0):=“011”;CONSTANT state4:STD_LOGIC_VECTOR(2 DO
23、WNTO 0):=“100”;CONSTANT state5:STD_LOGIC_VECTOR(2 DOWNTO 0):=“101”;BEGINEND behavior;VHDL硬件描述語言硬件描述語言狀態機的狀態狀態機的狀態編碼編碼格雷碼格雷碼編碼編碼 格雷碼編碼方式是對順序編碼方式的一種改進 格雷碼編碼的特點是任一的相鄰狀態的編碼中只有一個二進制位發生變化 格雷碼編碼提高了目標器件的資源利用率和運行速度,同時避免了誤碼現象44VHDL硬件描述語言硬件描述語言狀態機的狀態狀態機的狀態編碼編碼格雷碼格雷碼編碼編碼45ARCHITECTURE behavior OF state_machine
24、ISSIGNAL current_state, next_state:STD_LOGIC_VECTOR(1 DOWNTO 0);CONSTANT state0:STD_LOGIC_VECTOR(1 DOWNTO 0):=“00”;CONSTANT state1:STD_LOGIC_VECTOR(1 DOWNTO 0):=“01”;CONSTANT state2:STD_LOGIC_VECTOR(1 DOWNTO 0):=“11”;CONSTANT state3:STD_LOGIC_VECTOR(1 DOWNTO 0):=“10”;BEGINEND behavior;VHDL硬件描述語言硬件描述語言狀態機的狀態狀態機的狀態編碼編碼一一位熱碼位熱碼編碼編碼 一位熱碼編碼方式就是用n個觸發器來實現具有n個狀態的狀態機 狀態機中的每一個狀態都
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 初二班主任第二學期工作計劃
- 湖南省株洲市茶陵縣第二中學2025年物理高一下期末復習檢測試題含解析
- 機器人工程:從理論到實踐的課程設計與實施
- 車間反三違管理制度
- 云南省昆明市重點中學2025年物理高二第二學期期末統考模擬試題含解析
- 生產管理人員崗位職責
- 上海市靜安區新中高級中學2025年物理高二第二學期期末質量跟蹤監視模擬試題含解析
- 深度強化查詢調優-洞察及研究
- 建設工程安全評價管理辦法
- 精索血腫的護理查房
- 2025年高考真題-英語(全國一卷) 含答案
- 頁巖氣儲層表征評價技術進展及其未來發展趨勢分析
- 統編版高中政治必修三《政治與法治》期末復習:選擇題刷題練習題(含答案解析)
- 2025-2030年中國線纜設備行業市場現狀供需分析及投資評估規劃分析研究報告
- 兒童情商課件
- 2025年湖北荊門市交通旅游投資集團有限公司招聘筆試參考題庫含答案解析
- 食品產品溯源管理制度
- 2024年遼陽職業技術學院單招職業傾向性測試題庫附答案
- 護士思想政治教育
- 陜投集團招聘真題2024
- 國家開放大學漢語言文學本科《古代詩歌散文專題》期末紙質考試第三大題簡答題庫2025春期版
評論
0/150
提交評論