版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-101Design EntryDesign Entry 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-102p3.1 3.1 硬件描述語(yǔ)言概述硬件描述語(yǔ)言概述 p3.2 VHDL3.2 VHDL語(yǔ)言基本結(jié)構(gòu)語(yǔ)言基本結(jié)構(gòu) p3.3 VHDL3.3 VHDL語(yǔ)言主要描述語(yǔ)句語(yǔ)言主要描述語(yǔ)句 p3.4 VHDL3.4 VHDL語(yǔ)言組合邏輯設(shè)計(jì)語(yǔ)言組合邏輯設(shè)計(jì)p3.5 VHDL3.5 VHDL語(yǔ)言時(shí)序邏輯設(shè)計(jì)
2、語(yǔ)言時(shí)序邏輯設(shè)計(jì)p3.6 VHDL3.6 VHDL語(yǔ)言的狀態(tài)機(jī)設(shè)計(jì)語(yǔ)言的狀態(tài)機(jī)設(shè)計(jì)p3.7 VHDL3.7 VHDL描述方法對(duì)電路結(jié)構(gòu)的影響描述方法對(duì)電路結(jié)構(gòu)的影響p3.8 VHDL3.8 VHDL的的TestbenchTestbench的編寫方法的編寫方法 p3.9 3.9 ModelsimModelsim仿真軟件介紹仿真軟件介紹 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1031.1.硬件描述語(yǔ)言(硬件描述語(yǔ)言(HDLHDL):):是一種形式化方法描述數(shù)字電路和系統(tǒng)的語(yǔ)言。利用這種語(yǔ)言,數(shù)字電路系統(tǒng)的設(shè)計(jì)可以從上
3、層到下層(從抽象到具體)逐層描述自己的設(shè)計(jì)思想,用分層次的模塊來(lái)表示極其復(fù)雜的數(shù)字系統(tǒng)。然后利用EDA工具,逐層仿真驗(yàn)證,再利用綜合工具把HDL轉(zhuǎn)換為門級(jí)網(wǎng)表,最后用ASIC或FPGA自動(dòng)布局布線工具,把網(wǎng)表轉(zhuǎn)換成具體的電路。目前,美國(guó)硅谷約有90以上的ASIC和FPGA采用HDL進(jìn)行設(shè)計(jì)。HDL發(fā)展至今已有20多年的歷史,并成功的應(yīng)用于EDA設(shè)計(jì)的各個(gè)階段:建模、仿真、驗(yàn)證和綜合等。 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-104 VHDLVHDL VHDL是美國(guó)國(guó)防部在20世紀(jì)70年代末80年代初提出的VHSI
4、C(Very High Speed Integrated Circuit)計(jì)劃的產(chǎn)物,1981年提出了一種新的硬件描述語(yǔ)言,稱為VHSIC Hardware Description Language 也就是我們熟知的VHDL。 VerilogVerilog HDL HDL Verilog HDL是在C語(yǔ)言基礎(chǔ)上發(fā)展起來(lái)的一種硬件描述語(yǔ)言,它是由GDA(Gateway Design Automation)公司的Phil Moorby于1983年創(chuàng)建的,最初只設(shè)計(jì)了一個(gè)仿真與驗(yàn)證工具,之后又陸續(xù)開(kāi)發(fā)了相關(guān)的故障模擬與時(shí)序分析工具。 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾
5、將上下而求索吾將上下而求索吾將上下而求索2022-5-105 SuperlogSuperlog 集合了Verilog的簡(jiǎn)潔、C語(yǔ)言的強(qiáng)大、功能驗(yàn)證和系統(tǒng)級(jí)結(jié)構(gòu)設(shè)計(jì)等特征,是一種高速的硬件描述語(yǔ)言。由 Phil Moorby與Peter Flake和一家叫做CoDesign Automation的EDA公司合作,在Verilog語(yǔ)言的基礎(chǔ)上,結(jié)合高級(jí)語(yǔ)言C、C甚至Java等語(yǔ)言的特點(diǎn),進(jìn)行擴(kuò)展,于1999年發(fā)布了Superlogtm系統(tǒng)設(shè)計(jì)語(yǔ)言,同時(shí)開(kāi)發(fā)了兩個(gè)工具:SystemSimtm(用于系統(tǒng)開(kāi)發(fā))和SystemExtm(用于高級(jí)驗(yàn)證)。 SystemCSystemC 由Synopsys和C
6、oware合作為滿足SOC要求開(kāi)發(fā)的(在系統(tǒng)芯片各個(gè)設(shè)計(jì)中,像系統(tǒng)定義、軟硬件的劃分、設(shè)計(jì)實(shí)現(xiàn)等)一種能同時(shí)實(shí)現(xiàn)較高層次的軟件和硬件描述的系統(tǒng)級(jí)設(shè)計(jì)語(yǔ)言。著名公司Cadence也于2001年加入了SystemC聯(lián)盟。 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-106(1)VHDL具有更強(qiáng)的行為描述能力行為描述能力,從而決定了他成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語(yǔ)言。強(qiáng)大的行為描述能力是避開(kāi)具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計(jì)大規(guī)模電子系統(tǒng)的重要保證。(2)VHDL豐富的仿真語(yǔ)句和庫(kù)函數(shù)豐富的仿真語(yǔ)句和庫(kù)函數(shù),使得在任何
7、大系統(tǒng)的設(shè)計(jì)早期就能查驗(yàn)設(shè)計(jì)系統(tǒng)的功能可行性,隨時(shí)可對(duì)設(shè)計(jì)進(jìn)行仿真模擬。(3)VHDL語(yǔ)句的行為描述能力和程序結(jié)構(gòu)決定了他具有支支持大規(guī)模設(shè)計(jì)持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用功能。符合市場(chǎng)需求的大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個(gè)代發(fā)組共同并行工作才能實(shí)現(xiàn)。(4)對(duì)于用VHDL完成的一個(gè)確定的設(shè)計(jì),可以利用EDA工具進(jìn)行邏輯綜合和優(yōu)化邏輯綜合和優(yōu)化,并自動(dòng)的把VHDL描述設(shè)計(jì)轉(zhuǎn)變成門級(jí)網(wǎng)表。(5)VHDL對(duì)設(shè)計(jì)的描述具有相對(duì)獨(dú)立性相對(duì)獨(dú)立性,設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu),也不必管理最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計(jì)。 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其
8、修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-107 BehavioralBehavioral(行為級(jí)描述):(行為級(jí)描述):就是對(duì)整個(gè)系統(tǒng)的數(shù)學(xué)模型進(jìn)行描述。只表示輸入/出之間的轉(zhuǎn)換行為,不包含任何結(jié)構(gòu)信息,無(wú)需關(guān)注設(shè)計(jì)功能的門級(jí)實(shí)現(xiàn)。其抽象程度比RTL描述方式和結(jié)構(gòu)描述方式更高。 在程序中大量采用算術(shù)運(yùn)算、 關(guān)系運(yùn)算、 慣性延時(shí)、 傳輸延時(shí)等難以進(jìn)行邏輯綜合和不能進(jìn)行邏輯綜合的VHDL語(yǔ)句。 Input1NOutput1NIF input1 THENFOR j IN high DOWNTO low LOOPshift(j) := shift(j);END LOOP;out
9、put1 = shift AFTER 5ns 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-108 RTLRTL(Register transfer LevelRegister transfer Level):即寄存器傳輸級(jí)即寄存器傳輸級(jí)描述,也稱為數(shù)據(jù)流描述。描述,也稱為數(shù)據(jù)流描述。既顯示地表示了設(shè)計(jì)單元的行為,又隱含該設(shè)計(jì)單元的結(jié)構(gòu)。Input 1Input nOutput 1底層元件底層元件底層元件底層元件p描述電路的功能和結(jié)構(gòu)p調(diào)用特殊的硬件p用于綜合 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)
10、兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-109 Structural LevelStructural Level(結(jié)構(gòu)級(jí)描述)(結(jié)構(gòu)級(jí)描述):描述該設(shè)計(jì)單元的硬件結(jié)構(gòu)、把已有的設(shè)計(jì)單元方便地用到新的設(shè)計(jì)中,使用元件例化語(yǔ)句及配置語(yǔ)句來(lái)描述元件的類型及元件的互聯(lián)關(guān)系。結(jié)構(gòu)描述方式的基本框架為用COMPONENT語(yǔ)句指明電路中所用的已生成的模塊,用PORTMAP()語(yǔ)句將模塊連接起來(lái)。 元件描述元件描述用于聲明端口類型和數(shù)據(jù)類型用于聲明端口類型和數(shù)據(jù)類型 COMPONENT ISPORT ( : ;. : ; END COMPONENT; 元件配置用于映射端口 : PORT M
11、AP( = ; ; = ;) 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1010一一.VHDL .VHDL 語(yǔ)言的基本結(jié)構(gòu):語(yǔ)言的基本結(jié)構(gòu): 庫(kù)庫(kù)(library)(library):用來(lái)存放已經(jīng)編譯的實(shí)體、構(gòu)造體、包集合和配置,庫(kù)一般可由用戶產(chǎn)生或者由ASIC芯片制造商提供。包集合包集合(package)(package):存放各設(shè)計(jì)模塊都能共享的數(shù)據(jù)類型、常數(shù)和子程序。實(shí)體(實(shí)體(EntityEntity):系統(tǒng)的外部接口關(guān)系。構(gòu)造體(構(gòu)造體(ArchitectureArchitecture):描述系統(tǒng)內(nèi)部的結(jié)構(gòu)
12、和行為。配置(配置(configurationconfiguration):用于從庫(kù)中選取所需的單元,來(lái)組成系統(tǒng)設(shè)計(jì)的不同版本。 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1011 一個(gè)完整的設(shè)計(jì)單元一個(gè)完整的設(shè)計(jì)單元 LIBRARY IEEE; 庫(kù)庫(kù) USE IEEE.STD_LOGIC_1164.ALL; 包集合包集合 ENTITY 實(shí)體名字 IS 實(shí)體實(shí)體 PORT (端口名,); END 實(shí)體名; ARCHITCTURE 構(gòu)造體名 OF 實(shí)體名 IS 結(jié)構(gòu)體結(jié)構(gòu)體 定義語(yǔ)句:信號(hào)常數(shù),數(shù)據(jù)類型等 BEGIN
13、并發(fā)語(yǔ)句 END 構(gòu)造體名; 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1012實(shí)體構(gòu)造體基本單元實(shí)體構(gòu)造體基本單元1 1:VHDLVHDL語(yǔ)言描述方法語(yǔ)言描述方法電原理圖的描述方式,其中a,b是輸入,c是輸出,C=AB。如果用VHDL 語(yǔ)言來(lái)描述此電路:實(shí)體描述輸入、輸出,構(gòu)造體描述功能。 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-10132 2:實(shí)體說(shuō)明:實(shí)體說(shuō)明 ENTITY ENTITY 實(shí)體名字 IS IS PORT PORT (
14、端口名,); END END 實(shí)體名;說(shuō)明:說(shuō)明: 1:實(shí)體名可用英文字母、數(shù)字、下劃線表示 ,名 字開(kāi)頭只能為英文字母,結(jié)尾不能用下劃線。 2:PORTPORT(端口名:方向 數(shù)據(jù)類型); 端口名與實(shí)體名命名規(guī)則相同。 方向: IN IN 表示輸入表示輸入 OUT OUT 表示輸出(構(gòu)造體內(nèi)部不能再使用)表示輸出(構(gòu)造體內(nèi)部不能再使用) INOUT INOUT 表示輸入輸出表示輸入輸出 BUFFER BUFFER 表示輸出端帶有反饋類型。(構(gòu)造體內(nèi)表示輸出端帶有反饋類型。(構(gòu)造體內(nèi) 部可再使用)部可再使用) 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上
15、下而求索吾將上下而求索2022-5-1014 數(shù)據(jù)類型數(shù)據(jù)類型: VHDL有10種數(shù)據(jù)類型,在邏輯電路設(shè)計(jì)中只使用兩種。 BIT BIT :位:位 ( “0”( “0”,“1”)1”) BIT_VECTOR :BIT_VECTOR :位矢量位矢量 (“10101101”)(“10101101”) 表示數(shù)據(jù)總線 D0-D7的數(shù)據(jù)類型: BIT_VECTOR(7 DOWNTO 0);BIT_VECTOR(7 DOWNTO 0); library library ieeeieee; ; use ieee.std_logic_1164.all use ieee.std_logic_1164.all;
16、EntityEntity Mux isis portport(d0,d1,sel:in std_logic;std_logic; q:out std_logic;std_logic; bus:out std_logic_vector(7 std_logic_vector(7 downtodownto 0) 0); endend Mux; 例中BIT數(shù)據(jù)用std_logic說(shuō)明,bus的BIT_VECTOR用std_logic_vector說(shuō)明是完全等效的。 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-10153 3:構(gòu)
17、造體:構(gòu)造體 構(gòu)造體用來(lái)描述實(shí)體的功能構(gòu)造體用來(lái)描述實(shí)體的功能 ARCHITCTUREARCHITCTURE 構(gòu)造體名 OF OF 實(shí)體名 IS IS 定義語(yǔ)句:內(nèi)部信號(hào),常數(shù),數(shù)據(jù)類型,函數(shù)等的定義 BEGINBEGIN 并發(fā)語(yǔ)句 END END 構(gòu)造體名; 構(gòu)造體的名稱可由設(shè)計(jì)者命名。通常根據(jù)描述的對(duì)象把構(gòu)造體命名為behav(behavioral)行為描述,rtl寄存器傳輸描述,struct(structural)結(jié)構(gòu)描述。 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1016VHDL 語(yǔ)言中,可以賦予一個(gè)值的對(duì)
18、象就稱為客體或?qū)ο?。信?hào)信號(hào)(SIGNAL)(SIGNAL): 對(duì)應(yīng)物理意義上是實(shí)際電路連接線。變量變量(VARIABLE)(VARIABLE): 相當(dāng)于暫存寄存器,變量值不是最終結(jié)果。常數(shù)(常數(shù)(CONSTANTCONSTANT):): 如電源、地等,用來(lái)描述固定的值。信號(hào)量和變量的區(qū)別:信號(hào)量和變量的區(qū)別: 信號(hào)量是全局量(只能在進(jìn)程、函數(shù)中使用和定義)變量是局部量(只能在構(gòu)造體、子程序中定義,而不能在進(jìn)程、過(guò)程、函數(shù)中定義) 信號(hào)賦值用“=”,而變量用“:”。 信號(hào)和變量可以相互代入。 如:a 是變量,b是信號(hào),則a:=b;b=a; 變量是立即賦值的,而信號(hào)量是在進(jìn)程結(jié)束時(shí)賦值的。 第3
19、章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1017相同點(diǎn):相同點(diǎn):值可變,可綜合為邏輯或線不同點(diǎn):不同點(diǎn):變量賦值有立即性,且只用于process,subprogram中(VHDL-1076-87),而信號(hào)除此之外,還可用于并行語(yǔ)句中 應(yīng)用:應(yīng)用: 簡(jiǎn)單計(jì)算 signal 復(fù)雜計(jì)算 variable 中間結(jié)果 variable 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1018signal a, b, c, x, y : integerproc
20、ess(a, b, c)begin c = a; x = c + 2; c = b; y = c + 4;end process;signal a, b, x, y : integerprocess(a, b, c) variable c : integer;begin c := a; x = c + 2; c := b; y = c + 4;end process;+2b4xy+2b4xya 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1019描述時(shí)鐘邊沿的屬性描述時(shí)鐘邊沿的屬性EVENTEVENTEVENT屬性屬于
21、信號(hào)類屬性。描述信號(hào)邊沿出現(xiàn)的時(shí)刻時(shí)鐘上升沿表示:時(shí)鐘上升沿表示:IF(clkEVENT AND clk=1)THEN q=d;IF CLKEVENT AND (CLK=1) AND (CLKLAST_VALUE=0) THEN q=d; -確保CLK的變化是一 次上升沿的跳變IF CLK=1 AND CLKLAST_VALUE=0THEN q=d; 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1020庫(kù)的功能類似于目錄庫(kù):存放編譯后的數(shù)據(jù)集合,單元,構(gòu)造體,實(shí)體 等,使得設(shè)計(jì)者可以共享已經(jīng)編譯過(guò)的設(shè)計(jì)結(jié) 果。庫(kù)的說(shuō)明
22、總是放在設(shè)計(jì)單元的最前面。 LibraryLibrary 庫(kù)名;庫(kù)的好處在于使設(shè)計(jì)者可以共享已經(jīng)編譯過(guò)的設(shè)計(jì)結(jié)果,在VHDL中可以存在多個(gè)不同的庫(kù),但庫(kù)之間是相互獨(dú)立的,不可嵌套。 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1021p STDSTD庫(kù)庫(kù):任何包集合都可不作任何說(shuō)明便可以使用。 如:VHDL標(biāo)準(zhǔn)庫(kù)中定義BIT、BIT_VECTOR等。p IEEEIEEE庫(kù)庫(kù):美國(guó)電子電器工程師協(xié)會(huì)定義的庫(kù),在使用其中的包集合之前應(yīng)先說(shuō)明。 如:LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.
23、ALL;p 面向用戶的面向用戶的ASICASIC庫(kù)庫(kù):為了進(jìn)行門級(jí)仿真,各個(gè)公司提供面向ASIC的邏輯門庫(kù),例設(shè)計(jì)單片機(jī)、乘法器、接口等電路時(shí),并不需要用用戶設(shè)計(jì)這些器件,直接可調(diào)用。p 工作庫(kù)工作庫(kù)WorkWork:現(xiàn)行工作庫(kù),用戶設(shè)計(jì)好電路經(jīng)過(guò)編譯后放入工作庫(kù)中。p 用戶定義庫(kù)用戶定義庫(kù):為了方便工作,用戶自己設(shè)計(jì)的單元可以作為用戶自定義庫(kù)。 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1022ModelsimModelsim仿真庫(kù)仿真庫(kù) 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求
24、索吾將上下而求索吾將上下而求索2022-5-1023包集合相當(dāng)于高級(jí)語(yǔ)言中的INCLUDE語(yǔ)句。包集合包含信信號(hào)的定義、常數(shù)定義、數(shù)據(jù)類型定義、元器件定義、函號(hào)的定義、常數(shù)定義、數(shù)據(jù)類型定義、元器件定義、函數(shù)定義、過(guò)程定義等數(shù)定義、過(guò)程定義等。包集合是一個(gè)可編譯的設(shè)計(jì)單元,也是庫(kù)結(jié)構(gòu)中的一個(gè)層次。要使用包集合時(shí)可以用USE語(yǔ)句說(shuō)明。 如:Use ieee.std_logic_1164.all;該語(yǔ)句表示在VHDL程序中要使用名為Std_logic_1164.all的包集合中所有定義或說(shuō)明項(xiàng)。 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而
25、求索2022-5-1024 PACKAGE 包集合名 IS 說(shuō)明語(yǔ)句 END 包集合名; PACKAGE BODY 包集合名 IS 語(yǔ)句 END 包集合名; 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1025p 配置(Configuration)語(yǔ)句描述層與層之間的連接關(guān)系及實(shí)體結(jié)構(gòu)之間的連接關(guān)系。設(shè)計(jì)者可以利用配利用配置語(yǔ)句來(lái)選擇不同的構(gòu)造體置語(yǔ)句來(lái)選擇不同的構(gòu)造體,使其與要設(shè)計(jì)的實(shí)體相對(duì)應(yīng)。在仿真某個(gè)實(shí)體時(shí),可以利用配置來(lái)選擇不同的構(gòu)造體,進(jìn)行性能對(duì)比試驗(yàn)以獲得性能最佳的構(gòu)造體。 Configuration 配置
26、名 Of 實(shí)體名 語(yǔ)句說(shuō)明 End 配置名; 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1026兩類描述語(yǔ)句:兩類描述語(yǔ)句: 一:順序語(yǔ)句(:順序語(yǔ)句(SequentialSequential) 二:并發(fā)語(yǔ)句(:并發(fā)語(yǔ)句(ConcurrentConcurrent) 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1027順序語(yǔ)句是按出現(xiàn)的次序加以執(zhí)行。只能出現(xiàn)在進(jìn)程或子程序中,由它定義進(jìn)程所操作的算法。 涉及到的系統(tǒng)行為:系統(tǒng)行為:有時(shí)序控制流、
27、控制、條件和迭代等; 語(yǔ)句的功能操作:語(yǔ)句的功能操作:有算術(shù)、邏輯運(yùn)算;信號(hào)和變量的賦值,子程序調(diào)用等。 WAIT WAIT 語(yǔ)句語(yǔ)句 斷言語(yǔ)句斷言語(yǔ)句 信號(hào)代入語(yǔ)句信號(hào)代入語(yǔ)句 變量賦值語(yǔ)句變量賦值語(yǔ)句 IF IF語(yǔ)句語(yǔ)句 CASECASE語(yǔ)句語(yǔ)句 LOOP LOOP語(yǔ)句語(yǔ)句 NEXTNEXT語(yǔ)句語(yǔ)句 EXIT EXIT語(yǔ)句語(yǔ)句 過(guò)程調(diào)用語(yǔ)句過(guò)程調(diào)用語(yǔ)句 NULL NULL語(yǔ)句語(yǔ)句 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-10281:1:書寫格式書寫格式 WAIT :無(wú)限等待 WAIT ON 信號(hào) :信號(hào)變化前處
28、于等待,變化后進(jìn)程執(zhí) 行,結(jié)束掛起等待狀態(tài) WAIT UNTIL *條件:條件滿足后,結(jié)束等待狀態(tài)。 WAIT FOR 時(shí)間: 時(shí)間到后,結(jié)束等待。2:2:說(shuō)明說(shuō)明l可以將上述可以將上述WAIT WAIT 語(yǔ)句語(yǔ)句“或或”起來(lái)起來(lái)l帶帶* *號(hào)的號(hào)的WAIT WAIT 語(yǔ)句可以進(jìn)行邏輯綜合功能,其余只語(yǔ)句可以進(jìn)行邏輯綜合功能,其余只能進(jìn)行行為描述。能進(jìn)行行為描述。l無(wú)敏感量進(jìn)程是無(wú)限等待循環(huán)的進(jìn)程。無(wú)敏感量進(jìn)程是無(wú)限等待循環(huán)的進(jìn)程。 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1029 If 語(yǔ)句是根據(jù)所制指定的條件來(lái)
29、確定執(zhí)行那些語(yǔ)句。用于選擇器、比較器、譯碼器和條件控制的邏輯設(shè)計(jì)。三種類型:三種類型: 1:開(kāi)關(guān)控制(門閂控制) IF 條件 THEN 2: 2選1控制 IF 條件 順序語(yǔ)句 ELSE 順序語(yǔ)句 END IF; 3: 多選擇控制 IF 條件1 THEN . ELSIF 條件2 THEN End IF; 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1030 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1031Library ieee;use ie
30、ee.std_logic_1164.all;entity Mux41 isPort(input :in std_logic_vector(3 downto 0);Sel(in std_logic _vector(1 downto 0);Y:out std_logic);End mux41; ARCHITECTURE rtl OF mux41 IS BEGINPROCESS(input,sel)BEGINIF(sel=00)THEN Y=input(0);ELSIF (sel=01)THEN Y=input(1);ELSIF(sel=10)THEN Y=input(2); ELSE Y順序語(yǔ)句;
31、 END CASE; 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1033ARCHITECTURE rtl OF max41 IS BEGIN PROCESS(sel,input) BEGIN CASE sel IS WHEN “00”=YYYYY=Z; END CASE; END PROCESS; END rtl; 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1034 IF語(yǔ)句按條件順序處理(可設(shè)計(jì)優(yōu)先級(jí)編碼器),而CASE語(yǔ)句按條件是無(wú)順序
32、處理(并行),從而CASE語(yǔ)句不能用來(lái)設(shè)計(jì)優(yōu)先編碼器。 CASE語(yǔ)句必須列出所有條件,IF語(yǔ)句不一定,一般來(lái)說(shuō),列出所有條件是不大可能的,故在CASE語(yǔ)句中,常常在最后有WHEN OTHERS 語(yǔ)句。 描述總線或編碼、譯碼的行為Case語(yǔ)句的可讀性比If語(yǔ)句強(qiáng)。 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1035LOOP語(yǔ)句用于描述迭代電路,即將相同功能的電路串連起來(lái),通常有兩種描述方式。1:FOR循環(huán)變量 標(biāo)號(hào):FOR 循環(huán)變量 IN 離散范圍 LOOP 順序語(yǔ)句 END LOOP 標(biāo)號(hào);如:累加計(jì)算ASUM:fo
33、r I in 1 to 9 loop sum:=sum+i;-sum初始值為0 end loop ASUM; 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-10362.WHILE LOOP語(yǔ)句。 標(biāo)號(hào): WHILE 條件 LOOP 順序處理語(yǔ)句 END LOOP 標(biāo)號(hào); 沒(méi)有給出循環(huán)次數(shù)的范圍,而是給出了循環(huán)執(zhí)行順序語(yǔ)句的條件;沒(méi)有自動(dòng)遞增循環(huán)變量的功能,所以必須在順序處理語(yǔ)句中增加一條循環(huán)次數(shù)計(jì)算語(yǔ)句,用于循環(huán)控制。循環(huán)控制條件為布爾表達(dá)式,當(dāng)條件為“真”時(shí),則進(jìn)行循環(huán);如果條件為“假”,則結(jié)束循環(huán)。 WHILE( i
34、10) LOOP sum:= sum+i; i:=i+1; END LOOP; 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1037p Process 進(jìn)程語(yǔ)句p Concurrent Signal Assignment 并發(fā)信號(hào)代入語(yǔ)句p Conditional Signal Assignment 條件信號(hào)代入語(yǔ)句p Selective Signal Assignment 選擇信號(hào)代入語(yǔ)句p Concurrent Procedure Call 并發(fā)過(guò)程調(diào)用語(yǔ)句p Block 塊語(yǔ)句 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮
35、路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1038進(jìn)程語(yǔ)句是最主要的并發(fā)語(yǔ)句進(jìn)程語(yǔ)句是最主要的并發(fā)語(yǔ)句,也是最能體現(xiàn)硬件描述語(yǔ)言特點(diǎn)的一條語(yǔ)句。在一個(gè)構(gòu)造體中,多個(gè)進(jìn)程語(yǔ)句可同時(shí)并發(fā)運(yùn)行。 進(jìn)程語(yǔ)句主要有以下幾個(gè)特點(diǎn): 它可以與其它進(jìn)程并發(fā)運(yùn)行,并可存取實(shí)體或構(gòu)造體中定義的信號(hào)。 進(jìn)程語(yǔ)句是并發(fā)語(yǔ)句,而進(jìn)程結(jié)構(gòu)中的語(yǔ)句是順序語(yǔ)句,是按順序一條一條執(zhí)行的。 進(jìn)程的啟動(dòng)可用敏感量或在進(jìn)程中包含WAIT語(yǔ)句。 進(jìn)程之間的同步和通信是通過(guò)信號(hào)量傳遞來(lái)實(shí)現(xiàn)的。 進(jìn)程只能定義常數(shù)、變量,不能定義信號(hào)量。 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修
36、遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1039 信號(hào)代入語(yǔ)句用在并發(fā)執(zhí)行場(chǎng)合就是并發(fā)信號(hào)代入語(yǔ)句。 一個(gè)并發(fā)語(yǔ)句可以寫成一個(gè)進(jìn)程。 如:Process(a,b) Begin c=a AND b; End Process; c=a AND b是一個(gè)并發(fā)語(yǔ)句,這里a,b都是信號(hào)量;代入符號(hào) “=”右邊可以用算術(shù)運(yùn)算表達(dá)式、邏輯表達(dá)式或關(guān)系操作表達(dá)式來(lái)表示。 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1040條件代入語(yǔ)句可根據(jù)不同條件將不同的表達(dá)式代入信號(hào)量 書寫格式為書寫格式為: 目的信號(hào)量 =
37、表達(dá)式1 when 條件1 else 表達(dá)式2 when條件2 else 表達(dá)式3 when 條件3 else ELSE 表達(dá)式n; 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1041例:用條件信號(hào)代入語(yǔ)句描述四選一Entity mux41 isPort(i0,i1,i2,i3,a,b:in std_logic; q:out std_logic);End mux41;Architecture rtl of mux41 isSignal:sel std_logic_vector(1 downto 0);Begin se
38、l=b& a; q=i0 when sel=“00” else i1 when sel=“01” else i2 when sel=“10” else i3 when sel=“11” else X;End rtl; 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1042 選擇信號(hào)代入語(yǔ)句類似于CASE語(yǔ)句,它對(duì)表達(dá)式進(jìn)行測(cè)試,當(dāng)表達(dá)式取值不同時(shí),將使不同的值代入目的信號(hào)量 書寫格式為:書寫格式為: WITH 表達(dá)式 SELECT 目的信號(hào)量 = 表達(dá)式1 WHEN 條件1, 表達(dá)式2 WHEN 條件2, 表達(dá)式
39、n WHEN 條件n, 表達(dá)式n+1 WHEN others; 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1043例: 2選1電路LIBRARY IEEE;USE IEEE.std_logic_1164.all;ENTITY mux 21 ISPORT (a, b, sel : in std-logic ; q : out std-logic); END mux21;ARCHITECTURE with-select-when OF mux21 ISBEGIN with sel select q = a when 1,
40、 b when 0, X when others;END with-select-when; 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1044組合邏輯電路:組合邏輯電路:用各種門電路組成的,用于實(shí)現(xiàn)某種功 能的復(fù)雜邏輯電路。特點(diǎn):特點(diǎn):某一時(shí)刻的輸出狀態(tài)僅由該時(shí)刻電路的輸入信號(hào) 決定,而與該電路在此輸入信號(hào)之前所具有的狀 態(tài)無(wú)關(guān)。主要包括: 簡(jiǎn)單門電路簡(jiǎn)單門電路 編、譯碼器編、譯碼器 三態(tài)門電路、總線緩沖器三態(tài)門電路、總線緩沖器 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下
41、而求索吾將上下而求索2022-5-1045 2 2輸入輸入 “與非與非”門電路門電路library ieee;use ieee.std_logic_1164.all;entity nand2 isport(a,b:in std_logic; y:out std_logic);End nand2;Architecture beh of nand2 isBegin y=a Nand b;End nand2;&aby 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-10463-8譯碼器電路(case語(yǔ)句)ARCHITEC
42、TURE rtl OF decode ISBEGINPROCESS (Din) BEGIN IF ( en=0) THEN Dout 0); ELSE CASE Din IS when 000 = Dout Dout Dout Dout Dout Dout Dout Dout Dout = 00000000;END CASE;END IF;END PROCESS;End decode 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1048優(yōu)先級(jí)編碼器entity priority is port(Input : in s
43、td_logic_vector(7 downto 0); output : out std_logic_vector(2 downto 0); architecture a of priority is begin process (input) begin if Input(7) = 1 then output = 111; elsif Input(6) = 1 then output = 110; elsif Input(5) = 1 then output = 101; elsif Input(4) = 1 then output = 100; elsif Input(3) = 1 th
44、en output = 011; elsif Input(2) = 1 then output = 010; elsif Input(1) = 1 then output = 001; elsif Input(0) = 1 then output = 000; end if; end process; end a; 優(yōu)優(yōu)先先級(jí)級(jí)編編碼碼器器Input7 .0Output2.0 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1049三態(tài)門電路Entity tri_gate is port(din,en:in std_log
45、ic; dout:out std_logic);End tri_gate;Architecture a of tri_gate is beginProcess(din,en) begin If(en=1)then dout=din;-0,1態(tài) else dout=Z;-高阻態(tài)End if;End process;End a;數(shù)據(jù)輸入控制輸入數(shù)據(jù)輸出dinendoutX0Z010111三態(tài)門dinendout 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1050雙向總線緩沖器功能:雙向總線緩沖器有兩個(gè)輸入輸出端a和b,一
46、個(gè)方向控制端dr和一個(gè)選通端en。當(dāng)en=1時(shí)雙向總線緩沖器未被選通 a和b都呈高阻態(tài);當(dāng)en=0時(shí)雙向總線緩沖器選通 如果dr=0,a=b; 如果dr=1,b=a;endr功能00a=b01b=a1XZ雙向總線緩沖器bdrEna 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1051Library ieee;Use ieee.std_logic_1164.all;Entity tri_bigate isPort(a,b:inout std_logic_vector(7 downto 0); en:in std_logi
47、c; dr:in std_logic);End tri_bigate;Architecture rtl of tri_bigate isSignal aout,bout:std_logic_vector(7 downto 0); Begin Process (a, dr, en) beginIf(en=0)and (dr=1)then 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1052 bout=a;else bout=“ZZZZZZZZ”;End if; b=bout;End process;process (b,
48、 dr, en) beginIf(en=0)and (dr=0)then aout=b;else aout=“ZZZZZZZZ”;End if; a=aout;End process;End rtl 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1053p 時(shí)序邏輯電路?時(shí)序邏輯電路? 是具有記憶(或內(nèi)部狀態(tài))的電路,即時(shí)序邏輯電路的輸出不但與當(dāng)前的輸入狀態(tài)有關(guān),而且與以前的輸入狀態(tài)有關(guān)。時(shí)序電路的內(nèi)部狀態(tài)元件可以由邊沿敏感的觸發(fā)器或由電平敏感的鎖存器實(shí)現(xiàn),但大多數(shù)時(shí)序電路采用觸發(fā)器來(lái)實(shí)現(xiàn)。 時(shí)序電路又可分為同步時(shí)序電路
49、和異步時(shí)序電路兩種,大部分時(shí)序電路為同步時(shí)序電路。主要包括: 觸發(fā)器 寄存器 計(jì)數(shù)器 分頻器 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1054 1:時(shí)鐘信號(hào)描述 上升沿:IF(clkEVENT AND clk=1)THEN 下降沿:IF(clkEVENT AND clk=0)THEN 2: 復(fù)位信號(hào)描述 (1)異步復(fù)位描述 PROCESS( clk,reset) BEGIN IF(reset=0)THEN q=0; ELSIF (clkEVENT AND clk=1)THEN q=d; END IF; END PR
50、OCESS;(2):同步復(fù)位描述PROCESS(clk)BEGINIF(clkEVENT AND clk=1)THEN IF(reset=0)THEN q=0; ELSE q=d; END IF;End if;End process; 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1055D D觸發(fā)器觸發(fā)器Entity dff1 ISPORT (clk ,d ,reset : in STD_LOGIC; q : out STD_LOGIC);END dff1;ARCHITECTURE rtl OF dff1 IS BEG
51、INPROCESS (clk, reset) BEGINIF(reset=0) THE q=0;ELSIF (clkEVENT AND clk=1)THE q= d; END IF;END PROCESS;END rtl;D觸發(fā)器dclkresetq 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1056移位寄存器(多級(jí)延遲)ENTITY reg1 IS PORT ( d : in BIT; clk : in BIT; q : out BIT);END reg1;ARCHITECTURE reg1 OF reg1 ISS
52、IGNAL a, b : BIT;BEGINPROCESS (clk)BEGINIF rising_edge(clk) THENa = d;b = a;q = b;END IF;END PROCESS;END reg1; 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1057 串轉(zhuǎn)并移位寄存器library ieee;use ieee.std_logic_1164.all;entity parltostr isport(clr,clk,din:in std_logic; q:out std_logic_vector(7
53、downto 0);end parltostr;Architecture rtl of parltostr issignal temp :std_logic_vector(7 downto 0);begin process(clk,clr)begin if clr=1 then 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1058 temp=00000000;elsif clkevent and clk=1 then temp(0)=din; temp(1)= temp(0); temp(2)= temp(1); te
54、mp(3)= temp(2); temp(4)= temp(3); temp(5)= temp(4); temp(6)= temp(5); temp(7)= temp(6); q=temp; end if;end process;end rtl; 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-10591000110101start10 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1060clkD QdD QD QD QD QD QD QD Qq7
55、.0clkD QD7.0D QD QD QD QD QD QD Qq07.0q17.0q27.0q37.0q47.0q57.0q67.0q77.088888888位串轉(zhuǎn)并移位寄存器總線數(shù)據(jù)串轉(zhuǎn)并移位寄存器 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1061 1010進(jìn)制計(jì)數(shù)器進(jìn)制計(jì)數(shù)器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;ENTITY count10 I
56、SPORT(reset,clk:IN STD_LOGIC; q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END count10;architecture rtl OF count10 ISBEGINPROCESS(clk) VARIABLE q10:INTEGER range 0 to 9; BEGIN10進(jìn)制計(jì)數(shù)器clkresetq3.0 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1062IF(clkevent and clk=1)THEN IF(reset=1)THEN q10:=0;
57、ELSIF(q10=9)THEN q10:=0; ELSE q10:=q10+1; END IF;END IF; q=conv_std_logic_vector(q10,4);-數(shù)據(jù)類型轉(zhuǎn)換END PROCESS;end rtl; 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1063課堂練習(xí)課堂練習(xí):設(shè)計(jì)一個(gè)有清零端的25進(jìn)制減法計(jì)數(shù)器 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1064 在具體的電路設(shè)計(jì)中,可能需要很多種不同頻率的時(shí)鐘,但時(shí)
58、鐘源往往只有一個(gè),這時(shí)候就需要分頻得到我們需要的時(shí)鐘頻率,同時(shí)也能滿足時(shí)鐘同步設(shè)計(jì)。最常用的分頻器設(shè)計(jì)采用計(jì)數(shù)器對(duì)時(shí)鐘進(jìn)行分頻,采用調(diào)整范圍計(jì)數(shù)或采用組合邏輯實(shí)現(xiàn)需要的頻率時(shí)鐘的占空比。 1010分頻器的設(shè)計(jì)分頻器的設(shè)計(jì) Library ieee; USE IEEE.STD_LOGIC_1164.ALL; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; ENTITY count10 IS PORT(reset,clk:IN STD_LOGIC; clk1:out std_logic; q:OUT STD_LOGIC_
59、VECTOR(3 DOWNTO 0); END count10; 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1065architecture rtl OF count10 ISsignal q10:INTEGER range 0 to 9;BEGINP1:PROCESS(clk) BEGIN IF(clkevent and clk=1)THEN IF(reset=1)THEN q10=0; ELSIF(q10=9)THEN q10=0; ELSE q10=q10+1; END IF; END IF; q=conv_s
60、td_logic_vector(q10,4);END PROCESS; 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1066P2:process(clk,q10)begin if clkevent and clk=1 then if q105 then 可設(shè)置不同的占空比 clk1=0; else clk1=1; end if;end if;end process;end rtl; 第3章 硬件描述語(yǔ)言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1067課堂練習(xí):課堂練習(xí):對(duì)40
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 知到智慧樹(shù)網(wǎng)課《基礎(chǔ)護(hù)理學(xué)(吉林醫(yī)藥學(xué)院)》章節(jié)測(cè)試滿分答案
- 二零二五年度建筑工程估價(jià)委托合同標(biāo)準(zhǔn)3篇
- 小學(xué)數(shù)學(xué)與科技創(chuàng)新思維的培養(yǎng)關(guān)系
- 2024智能家居系統(tǒng)建設(shè)與租賃合同
- 二零二五年度電梯土建施工綠色環(huán)保合同范本2篇
- 小學(xué)數(shù)學(xué)教育國(guó)際化的政策與措施
- 2025年度杭州技師學(xué)院校企合作框架合同3篇
- 2024版商業(yè)中介服務(wù)合作合同版B版
- 二零二五年度建筑工程施工環(huán)境保護(hù)協(xié)議書匯編3篇
- 學(xué)生在自然環(huán)境中的科技應(yīng)用與創(chuàng)新實(shí)踐
- 2024屆高考數(shù)學(xué)復(fù)習(xí) 立體幾何考情分析及備考策略
- 基于課程標(biāo)準(zhǔn)的學(xué)生創(chuàng)新素養(yǎng)培育的學(xué)科教學(xué)改進(jìn)研究課題申報(bào)評(píng)審書
- 醫(yī)療人員廉潔從業(yè)九項(xiàng)準(zhǔn)則
- ISO13485內(nèi)部審核檢查表+內(nèi)審記錄
- 培訓(xùn)費(fèi)收款收據(jù)模板
- 2024年《藥物臨床試驗(yàn)質(zhì)量管理規(guī)范》(GCP)網(wǎng)絡(luò)培訓(xùn)題庫(kù)
- 新華健康體檢報(bào)告查詢
- 2023-2024學(xué)年湖南長(zhǎng)沙市中學(xué)雅培粹學(xué)校數(shù)學(xué)七年級(jí)第一學(xué)期期末預(yù)測(cè)試題含解析
- 小學(xué)道德與法治課程標(biāo)準(zhǔn)與教材研究 課件 第1-5章 小學(xué)道德與法治課程標(biāo)準(zhǔn)研究-道德教育
- 酒店行政人事年工作總結(jié)
- 鈍感力讀后感課件
評(píng)論
0/150
提交評(píng)論