版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1任務分析:數據選擇器的功能 1知識準備:結構體、數據對象與運算符2任務實施:二選一數據選擇器設計3任務五 二選一數據選擇器的VHDL實現12一、任務分析:數據選擇器 在多路數據傳送過程中,能夠根據需要將其中任意一路選出來的電路,叫做數據選擇器,也稱多路選擇器或多路開關。數據選擇器(MUX)的邏輯功能是在地址選擇信號的控制下,從多路數據中選擇一路數據作為輸出信號。因此對于一個具有2n個輸入 和1個輸出的多路選擇器,應有n個地址選擇變量。2一) 結構體ARCHITECTURE 結構體名 OF 實體名 IS 說明語句;BEGIN 功能描述語句;END ARCHITECTURE 結構體名;功能: 對
2、數據類型、常數、信號、子程序和元件等元素的 說明。 描述實體邏輯行為。二、知識準備:結構體,數據對象與運算符3VHDL結構體術語說明語句:用于定義結構體中所用的數據對象(常量和信號)和子程序,并對所引用的元件加以說明,但不能定義變量。功能描述語句:有五種類型,可以把它們看成結構體的五種子結構。這五種語句結構本身是并行語句,但內部可能含有并行運行的邏輯描述語句或順序運行的邏輯描述語句,如進程內部包含的即為順序語句。五種語句結構分別為塊語句、進程語句、信號賦值語句、子程序調用語句和元件例化語句。 4結構體結構圖由若干并行執(zhí)行語句包裝在一起形成一個子模塊。定義順序語句模塊,用從外部獲得的信號值,或內
3、部的運算數據向其它的信號進行賦值。將設計實體內的處理結果向定義的信號或界面端口進行賦值用以調用過程或函數,并將獲得的結果賦值于信號。元件調用,用來調用另一個實體所描述的電路。結構體說明語句功能描述語句塊語句進程語句信號賦值語句子程序調用語句元件例化語句5實體和結構體之間的關系Input 1Input nOutput 1Output n實體ABCDSelMUX_Out26結構體三種描述方法行為描述(behavior process)數據流描述(data flow)結構化描述(structure)真值表布爾方程式邏輯電路7結構體行為描述 行為描述是高層次描述方式(類似于真值表),它只描述輸入與輸出
4、之間的邏輯轉換關系,而不涉及具體邏輯電路結構等信息。 主要用于系統(tǒng)數學模型的仿真或系統(tǒng)工作原理的仿真。故其大量采用的算術運算、關系運算、慣性延時、傳輸延時等描述方式是難于或不能進行邏輯綜合的。8Behavior Process描述 architecture one of mux21 isbegin y=a when s=0 else b; end one;真值表高層次的功能描述,不必考慮在具體電路是怎樣實現的。9結構體數據流描述 數據流描述:也稱寄存器(RTL)描述方式,明確描述了數據信號的流動路徑、流動方向和流動結果。 它采用類似于邏輯函數式的并行信號賦值語句進行描述??梢悦枋鰰r序電路,也可
5、描述組合電路。是完全能夠進行邏輯綜合的描述方式。10architecture one of mux21 isbegin y=(a and (not s) ) or (b and s);end one;Data Flow描述邏輯函數式11結構體結構化描述 結構化描述:復雜數字邏輯系統(tǒng)的層次化設計法。設計中,高層次的設計模塊調用低層次的設計模塊,或直接用門電路設計單元來設計一復雜的邏輯電路。12architecture one of mux21 is signal d,e:bit; begin d=a and (not s); e=b and s; y=d or e; end one;Struct
6、ure描述邏輯圖13三種描述方式的比較描述方式優(yōu)點缺點適用場合結構化描述連接關系清晰,電路模塊化清晰繁瑣、復雜層次化設計數據流描述布爾函數定義明白邏輯方程難以獲得小門數設計行為描述邏輯關系描述清晰不一定能綜合系統(tǒng)建模、復雜的電路14二) 數據對象(data objects) 是數據類型的載體,共有三種形式的對象:Constant(常量)Variable(變量)Signal(信號)15Constant width: integer := 7;Constant Vcc: REAL:=5.0; Constant D: Std_Logic_Vector(3 Downto 0):= ”0000”;不能在
7、程序中改變;增強程序的可讀性,便于修改程序;常量的使用范圍取決于其定義位置,可在Library、Entity、Architecture、Process中進行定義,其有效范圍也相應限定。1、常量(Constant)定義格式為:Constant 常量名:數據類型 :=表達式; 162、 變量 變量是一個局部量,用于對中間數據的臨時存儲,并不一定代表電路的某一硬件,沒有物理意義。定義格式為:Variable 變量名:數據類型:=設定值; 如:Variable a: integer := 0;變量賦值語句的語法格式為: 變量名 := 表達式(設定值); 如:a := b and c;17變量賦值整體賦
8、值:temp := “10101010”;temp := “AA” ; 逐位賦值:temp(7) := 1;多位賦值temp (7 downto 4) := “1010”;多位賦值用雙引號逐位賦值用單引號賦值標志183、信號 信號數據對象,代表電路內部線路,其在元件之間起互連作用,沒有方向性,可給它賦值,也可當作輸入。定義格式為: Signal 信號名:數據類型:=設定值; 如:Signal A : Std_logic_vector(3 Downto 0) := “0000”; 信號賦值語句的語法格式為: 信號名=表達式(設定值);A = “1010”19信號賦值SIGNAL temp : S
9、td_Logic_Vector (7 downto 0);整體賦值:temp = “10101010”;temp = “AA” ; 逐位賦值:temp(7) = 1;多位賦值:temp (7 downto 4) = “1010”;多位賦值用雙引號逐位賦值用單引號賦值標志20信號、變量、常量對比(一)、定義Signal clk: std_logic; Variable data: std_logic_vector(7 downto 0);Constant width: integer :=7 ;(二)、賦值方式clk = 1; (非立即)data := “1010”; (立即)(三)、邏輯功能信
10、號可以代表電路的內部連接,而變量僅僅是電路內部的數據交換。21(五)、適用范圍信號:實體、結構體、程序包變量:定義了變量的進程、子程序的順序語句中常量:視其定義的位置而定若常量定義在實體中,適用范圍是實體所對應的所有結構體。若常量定義在結構體中,適用范圍就是本結構體。(四)、定義區(qū)域信號:實體、結構體、程序包變量:進程、子程序常量:實體、結構體、程序包、塊、進程、子程序22能進行邏輯運算的數據類型:bit、bit_vector、boolean、 std_logic、std_logic_vector1、邏輯操作符三) VHDL語言的操作符(operator)23注意,邏輯運算符的左右兩邊以及代入
11、的信號的數據類型必須是相同的。當一個語句中存在多個邏輯表達式時,除了NOT運算符,其他6種運算符沒有優(yōu)先級之分,在設計中應注意根據實際邏輯表達式設置括號。邏輯運算符應用舉例y=a XOR b; -邏輯表達式 y=aby=a AND b AND c AND d; -邏輯表達式 y=abcdy101011結果為真) = 等于/= 不等于 小于= 小于或等于(也用于信號的賦值操作) 大于= 大于或等于253、算術運算符+ :加,:減; + :正,:負* :乘, /:除 ,REM 求余 , MOD求模:整數和實數,ABS:求絕對值* 乘方:左邊可以是整數或浮點數,右邊必須是整數,且只有在左邊為浮點數時
12、,右邊才可以為負數。其中取模,取余,取絕對值和乘方運算的操作數只能是整型,其他的可以是整數和實數型。264、并置運算符 VHDL語言中的并置運算符為“&”,用于位的連接,形成位矢量。也可以進行多個矢量的連接,以構成位長更大的位矢量。并置運算符應用舉例。SIGNAL data_1: STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL data_2: STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL data_3: STD_LOGIC_VECTOR(7 DOWNTO 0);data_1=0000;data_2=1111;data_3= data_1&dat
13、a_2;運算后,data_3的結果為00001111。275、移位運算符SLL是將向量左移,右邊移空位補0;SRL是將向量右移,左邊移空位補0;SLA是將向量左移,右邊第一位數值保持不變;SRA是將向量右移,左邊第一位數值保持不變;ROL和ROR是自循環(huán)移位方式。28移位運算符操作示意圖29移位運算符應用舉例:A=0101;B=A SLL 1;-B=1010C=A SRL 1;-C=0010D=A SLA 1;-D=1011E=A SRA 1;-E=0010F=A ROL 1;-F=1010G=A ROR 1;-G=101030數據類型必須一致表達式中有多個運算符時一般要加括號,但and、or
14、等除外VHDL操作符優(yōu)先級6、運算符的優(yōu)先級31 signal d1,d2,s : integer; SIGNAL a ,b,c : STD_LOGIC_VECTOR (3 DOWNTO 0) ; SIGNAL d,e,f,g : STD_LOGIC_VECTOR (1 DOWNTO 0) ; SIGNAL h,i,j,k : STD_LOGIC ; SIGNAL l,m,n,o,p : BOOLEAN ; . s=a and b; - integer 不能進行邏輯運算 a=b AND c; - a、b、c的數據類型同屬4位長的位矢量 d=e OR f OR g ; - 兩個操作符OR相同,不
15、需括號 h=(i NAND j)NAND k ; - NAND必須加括號 l=(m XOR n)AND(o XOR p); - 操作符不同,必須加括號 h=i AND j AND k ; - 兩個操作符都是AND,不必加括號 h=i AND j OR k ; - 兩個操作符不同,未加括號,表達錯誤 a=b AND e ; - 操作數b與e的位矢長度不一致,表達錯誤 h=i OR l ; - 數據類型不同,表達錯誤。32【例1】 ENTITY mux21a IS PORT( a, b : IN BIT ; s : IN BIT; y : OUT BIT ) ;END ENTITY mux21a ;ARCHITECTURE one OF mux21a IS BEGIN y = a WHEN s = 0 ELSE b ;END ARCHITECTURE one ;任務實施:二選一數據選擇器設計333【例2】 ENTITY mux21a IS PORT ( a, b : IN BIT; s : IN BIT; y : OUT BIT ); END ENTITY mux21a;ARCHITECTURE one OF mux21a IS SIGNAL d,e : BIT; BEGINd = a
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 養(yǎng)老院家屬探訪制度
- 企業(yè)內部控制與合規(guī)制度
- 公共交通服務設施維護制度
- 2026年藝術鑒賞理論經典畫作解析測驗題
- 2026年數據安全技術與方法安全管理員專業(yè)知識測試題
- 2026年城市智能交通系統(tǒng)建設方案模擬題
- 2026年建筑工程設計高級工程師評審資料及題庫詳解
- 2026年醫(yī)學基礎人體解剖學知識點測試
- 2026年甲醛治理效果保證合同
- 2026年急救技能培訓合同
- 北京市順義區(qū)2025-2026學年八年級上學期期末考試英語試題(原卷版+解析版)
- 中學生冬季防溺水主題安全教育宣傳活動
- 2026年藥廠安全生產知識培訓試題(達標題)
- 初中九年級上一元二次方程計算練習題及答案詳解B2
- 冷庫防護制度規(guī)范
- 2026年生產管理崗入職性格測試題及答案
- 廣東省廣州市番禺區(qū)2026屆高一數學第一學期期末聯考試題含解析
- 2026年廣東省佛山市高三語文聯合診斷性考試作文題及3篇范文:可以“重讀”甚至“重構”這些過往
- 2025年汽車駕駛員技師考試試題及答案含答案
- 觀看煤礦警示教育片寫心得體會
- 2025年國際中文教師證書考試真題附答案
評論
0/150
提交評論