超大規(guī)模集成電路CAD 第三章 硬件描述語言_第1頁
超大規(guī)模集成電路CAD 第三章 硬件描述語言_第2頁
超大規(guī)模集成電路CAD 第三章 硬件描述語言_第3頁
超大規(guī)模集成電路CAD 第三章 硬件描述語言_第4頁
超大規(guī)模集成電路CAD 第三章 硬件描述語言_第5頁
已閱讀5頁,還剩149頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 第3章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-101Design EntryDesign Entry 第3章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-102p3.1 3.1 硬件描述語言概述硬件描述語言概述 p3.2 VHDL3.2 VHDL語言基本結(jié)構(gòu)語言基本結(jié)構(gòu) p3.3 VHDL3.3 VHDL語言主要描述語句語言主要描述語句 p3.4 VHDL3.4 VHDL語言組合邏輯設(shè)計(jì)語言組合邏輯設(shè)計(jì)p3.5 VHDL3.5 VHDL語言時(shí)序邏輯設(shè)計(jì)

2、語言時(shí)序邏輯設(shè)計(jì)p3.6 VHDL3.6 VHDL語言的狀態(tài)機(jī)設(shè)計(jì)語言的狀態(tài)機(jī)設(shè)計(jì)p3.7 VHDL3.7 VHDL描述方法對電路結(jié)構(gòu)的影響描述方法對電路結(jié)構(gòu)的影響p3.8 VHDL3.8 VHDL的的TestbenchTestbench的編寫方法的編寫方法 p3.9 3.9 ModelsimModelsim仿真軟件介紹仿真軟件介紹 第3章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1031.1.硬件描述語言(硬件描述語言(HDLHDL):):是一種形式化方法描述數(shù)字電路和系統(tǒng)的語言。利用這種語言,數(shù)字電路系統(tǒng)的設(shè)計(jì)可以從上

3、層到下層(從抽象到具體)逐層描述自己的設(shè)計(jì)思想,用分層次的模塊來表示極其復(fù)雜的數(shù)字系統(tǒng)。然后利用EDA工具,逐層仿真驗(yàn)證,再利用綜合工具把HDL轉(zhuǎn)換為門級(jí)網(wǎng)表,最后用ASIC或FPGA自動(dòng)布局布線工具,把網(wǎng)表轉(zhuǎn)換成具體的電路。目前,美國硅谷約有90以上的ASIC和FPGA采用HDL進(jìn)行設(shè)計(jì)。HDL發(fā)展至今已有20多年的歷史,并成功的應(yīng)用于EDA設(shè)計(jì)的各個(gè)階段:建模、仿真、驗(yàn)證和綜合等。 第3章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-104 VHDLVHDL VHDL是美國國防部在20世紀(jì)70年代末80年代初提出的VHSI

4、C(Very High Speed Integrated Circuit)計(jì)劃的產(chǎn)物,1981年提出了一種新的硬件描述語言,稱為VHSIC Hardware Description Language 也就是我們熟知的VHDL。 VerilogVerilog HDL HDL Verilog HDL是在C語言基礎(chǔ)上發(fā)展起來的一種硬件描述語言,它是由GDA(Gateway Design Automation)公司的Phil Moorby于1983年創(chuàng)建的,最初只設(shè)計(jì)了一個(gè)仿真與驗(yàn)證工具,之后又陸續(xù)開發(fā)了相關(guān)的故障模擬與時(shí)序分析工具。 第3章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾

5、將上下而求索吾將上下而求索吾將上下而求索2022-5-105 SuperlogSuperlog 集合了Verilog的簡潔、C語言的強(qiáng)大、功能驗(yàn)證和系統(tǒng)級(jí)結(jié)構(gòu)設(shè)計(jì)等特征,是一種高速的硬件描述語言。由 Phil Moorby與Peter Flake和一家叫做CoDesign Automation的EDA公司合作,在Verilog語言的基礎(chǔ)上,結(jié)合高級(jí)語言C、C甚至Java等語言的特點(diǎn),進(jìn)行擴(kuò)展,于1999年發(fā)布了Superlogtm系統(tǒng)設(shè)計(jì)語言,同時(shí)開發(fā)了兩個(gè)工具:SystemSimtm(用于系統(tǒng)開發(fā))和SystemExtm(用于高級(jí)驗(yàn)證)。 SystemCSystemC 由Synopsys和C

6、oware合作為滿足SOC要求開發(fā)的(在系統(tǒng)芯片各個(gè)設(shè)計(jì)中,像系統(tǒng)定義、軟硬件的劃分、設(shè)計(jì)實(shí)現(xiàn)等)一種能同時(shí)實(shí)現(xiàn)較高層次的軟件和硬件描述的系統(tǒng)級(jí)設(shè)計(jì)語言。著名公司Cadence也于2001年加入了SystemC聯(lián)盟。 第3章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-106(1)VHDL具有更強(qiáng)的行為描述能力行為描述能力,從而決定了他成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語言。強(qiáng)大的行為描述能力是避開具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計(jì)大規(guī)模電子系統(tǒng)的重要保證。(2)VHDL豐富的仿真語句和庫函數(shù)豐富的仿真語句和庫函數(shù),使得在任何

7、大系統(tǒng)的設(shè)計(jì)早期就能查驗(yàn)設(shè)計(jì)系統(tǒng)的功能可行性,隨時(shí)可對設(shè)計(jì)進(jìn)行仿真模擬。(3)VHDL語句的行為描述能力和程序結(jié)構(gòu)決定了他具有支支持大規(guī)模設(shè)計(jì)持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用功能。符合市場需求的大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個(gè)代發(fā)組共同并行工作才能實(shí)現(xiàn)。(4)對于用VHDL完成的一個(gè)確定的設(shè)計(jì),可以利用EDA工具進(jìn)行邏輯綜合和優(yōu)化邏輯綜合和優(yōu)化,并自動(dòng)的把VHDL描述設(shè)計(jì)轉(zhuǎn)變成門級(jí)網(wǎng)表。(5)VHDL對設(shè)計(jì)的描述具有相對獨(dú)立性相對獨(dú)立性,設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu),也不必管理最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計(jì)。 第3章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其

8、修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-107 BehavioralBehavioral(行為級(jí)描述):(行為級(jí)描述):就是對整個(gè)系統(tǒng)的數(shù)學(xué)模型進(jìn)行描述。只表示輸入/出之間的轉(zhuǎn)換行為,不包含任何結(jié)構(gòu)信息,無需關(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語句。 Input1NOutput1NIF input1 THENFOR j IN high DOWNTO low LOOPshift(j) := shift(j);END LOOP;out

9、put1 = shift AFTER 5ns 第3章 硬件描述語言路漫漫其修遠(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章 硬件描述語言路漫漫其修遠(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ì)中,使用元件例化語句及配置語句來描述元件的類型及元件的互聯(lián)關(guān)系。結(jié)構(gòu)描述方式的基本框架為用COMPONENT語句指明電路中所用的已生成的模塊,用PORTMAP()語句將模塊連接起來。 元件描述元件描述用于聲明端口類型和數(shù)據(jù)類型用于聲明端口類型和數(shù)據(jù)類型 COMPONENT ISPORT ( : ;. : ; END COMPONENT; 元件配置用于映射端口 : PORT M

11、AP( = ; ; = ;) 第3章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1010一一.VHDL .VHDL 語言的基本結(jié)構(gòu):語言的基本結(jié)構(gòu): 庫庫(library)(library):用來存放已經(jīng)編譯的實(shí)體、構(gòu)造體、包集合和配置,庫一般可由用戶產(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):用于從庫中選取所需的單元,來組成系統(tǒng)設(shè)計(jì)的不同版本。 第3章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1011 一個(gè)完整的設(shè)計(jì)單元一個(gè)完整的設(shè)計(jì)單元 LIBRARY IEEE; 庫庫 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)體 定義語句:信號(hào)常數(shù),數(shù)據(jù)類型等 BEGIN

13、并發(fā)語句 END 構(gòu)造體名; 第3章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1012實(shí)體構(gòu)造體基本單元實(shí)體構(gòu)造體基本單元1 1:VHDLVHDL語言描述方法語言描述方法電原理圖的描述方式,其中a,b是輸入,c是輸出,C=AB。如果用VHDL 語言來描述此電路:實(shí)體描述輸入、輸出,構(gòu)造體描述功能。 第3章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-10132 2:實(shí)體說明:實(shí)體說明 ENTITY ENTITY 實(shí)體名字 IS IS PORT PORT (

14、端口名,); END END 實(shí)體名;說明:說明: 1:實(shí)體名可用英文字母、數(shù)字、下劃線表示 ,名 字開頭只能為英文字母,結(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章 硬件描述語言路漫漫其修遠(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說明,bus的BIT_VECTOR用std_logic_vector說明是完全等效的。 第3章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-10153 3:構(gòu)

17、造體:構(gòu)造體 構(gòu)造體用來描述實(shí)體的功能構(gòu)造體用來描述實(shí)體的功能 ARCHITCTUREARCHITCTURE 構(gòu)造體名 OF OF 實(shí)體名 IS IS 定義語句:內(nèi)部信號(hào),常數(shù),數(shù)據(jù)類型,函數(shù)等的定義 BEGINBEGIN 并發(fā)語句 END END 構(gòu)造體名; 構(gòu)造體的名稱可由設(shè)計(jì)者命名。通常根據(jù)描述的對象把構(gòu)造體命名為behav(behavioral)行為描述,rtl寄存器傳輸描述,struct(structural)結(jié)構(gòu)描述。 第3章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1016VHDL 語言中,可以賦予一個(gè)值的對

18、象就稱為客體或?qū)ο蟆P盘?hào)信號(hào)(SIGNAL)(SIGNAL): 對應(yīng)物理意義上是實(shí)際電路連接線。變量變量(VARIABLE)(VARIABLE): 相當(dāng)于暫存寄存器,變量值不是最終結(jié)果。常數(shù)(常數(shù)(CONSTANTCONSTANT):): 如電源、地等,用來描述固定的值。信號(hào)量和變量的區(qū)別:信號(hào)量和變量的區(qū)別: 信號(hào)量是全局量(只能在進(jìn)程、函數(shù)中使用和定義)變量是局部量(只能在構(gòu)造體、子程序中定義,而不能在進(jìn)程、過程、函數(shù)中定義) 信號(hào)賦值用“=”,而變量用“:”。 信號(hào)和變量可以相互代入。 如:a 是變量,b是信號(hào),則a:=b;b=a; 變量是立即賦值的,而信號(hào)量是在進(jìn)程結(jié)束時(shí)賦值的。 第3

19、章 硬件描述語言路漫漫其修遠(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īng)用:應(yīng)用: 簡單計(jì)算 signal 復(fù)雜計(jì)算 variable 中間結(jié)果 variable 第3章 硬件描述語言路漫漫其修遠(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章 硬件描述語言路漫漫其修遠(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章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1020庫的功能類似于目錄庫:存放編譯后的數(shù)據(jù)集合,單元,構(gòu)造體,實(shí)體 等,使得設(shè)計(jì)者可以共享已經(jīng)編譯過的設(shè)計(jì)結(jié) 果。庫的說明

22、總是放在設(shè)計(jì)單元的最前面。 LibraryLibrary 庫名;庫的好處在于使設(shè)計(jì)者可以共享已經(jīng)編譯過的設(shè)計(jì)結(jié)果,在VHDL中可以存在多個(gè)不同的庫,但庫之間是相互獨(dú)立的,不可嵌套。 第3章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1021p STDSTD庫庫:任何包集合都可不作任何說明便可以使用。 如:VHDL標(biāo)準(zhǔn)庫中定義BIT、BIT_VECTOR等。p IEEEIEEE庫庫:美國電子電器工程師協(xié)會(huì)定義的庫,在使用其中的包集合之前應(yīng)先說明。 如:LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.

23、ALL;p 面向用戶的面向用戶的ASICASIC庫庫:為了進(jìn)行門級(jí)仿真,各個(gè)公司提供面向ASIC的邏輯門庫,例設(shè)計(jì)單片機(jī)、乘法器、接口等電路時(shí),并不需要用用戶設(shè)計(jì)這些器件,直接可調(diào)用。p 工作庫工作庫WorkWork:現(xiàn)行工作庫,用戶設(shè)計(jì)好電路經(jīng)過編譯后放入工作庫中。p 用戶定義庫用戶定義庫:為了方便工作,用戶自己設(shè)計(jì)的單元可以作為用戶自定義庫。 第3章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1022ModelsimModelsim仿真庫仿真庫 第3章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求

24、索吾將上下而求索吾將上下而求索2022-5-1023包集合相當(dāng)于高級(jí)語言中的INCLUDE語句。包集合包含信信號(hào)的定義、常數(shù)定義、數(shù)據(jù)類型定義、元器件定義、函號(hào)的定義、常數(shù)定義、數(shù)據(jù)類型定義、元器件定義、函數(shù)定義、過程定義等數(shù)定義、過程定義等。包集合是一個(gè)可編譯的設(shè)計(jì)單元,也是庫結(jié)構(gòu)中的一個(gè)層次。要使用包集合時(shí)可以用USE語句說明。 如:Use ieee.std_logic_1164.all;該語句表示在VHDL程序中要使用名為Std_logic_1164.all的包集合中所有定義或說明項(xiàng)。 第3章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而

25、求索2022-5-1024 PACKAGE 包集合名 IS 說明語句 END 包集合名; PACKAGE BODY 包集合名 IS 語句 END 包集合名; 第3章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1025p 配置(Configuration)語句描述層與層之間的連接關(guān)系及實(shí)體結(jié)構(gòu)之間的連接關(guān)系。設(shè)計(jì)者可以利用配利用配置語句來選擇不同的構(gòu)造體置語句來選擇不同的構(gòu)造體,使其與要設(shè)計(jì)的實(shí)體相對應(yīng)。在仿真某個(gè)實(shí)體時(shí),可以利用配置來選擇不同的構(gòu)造體,進(jìn)行性能對比試驗(yàn)以獲得性能最佳的構(gòu)造體。 Configuration 配置

26、名 Of 實(shí)體名 語句說明 End 配置名; 第3章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1026兩類描述語句:兩類描述語句: 一:順序語句(:順序語句(SequentialSequential) 二:并發(fā)語句(:并發(fā)語句(ConcurrentConcurrent) 第3章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1027順序語句是按出現(xiàn)的次序加以執(zhí)行。只能出現(xiàn)在進(jìn)程或子程序中,由它定義進(jìn)程所操作的算法。 涉及到的系統(tǒng)行為:系統(tǒng)行為:有時(shí)序控制流、

27、控制、條件和迭代等; 語句的功能操作:語句的功能操作:有算術(shù)、邏輯運(yùn)算;信號(hào)和變量的賦值,子程序調(diào)用等。 WAIT WAIT 語句語句 斷言語句斷言語句 信號(hào)代入語句信號(hào)代入語句 變量賦值語句變量賦值語句 IF IF語句語句 CASECASE語句語句 LOOP LOOP語句語句 NEXTNEXT語句語句 EXIT EXIT語句語句 過程調(diào)用語句過程調(diào)用語句 NULL NULL語句語句 第3章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-10281:1:書寫格式書寫格式 WAIT :無限等待 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:說明說明l可以將上述可以將上述WAIT WAIT 語句語句“或或”起來起來l帶帶* *號(hào)的號(hào)的WAIT WAIT 語句可以進(jìn)行邏輯綜合功能,其余只語句可以進(jìn)行邏輯綜合功能,其余只能進(jìn)行行為描述。能進(jìn)行行為描述。l無敏感量進(jìn)程是無限等待循環(huán)的進(jìn)程。無敏感量進(jìn)程是無限等待循環(huán)的進(jìn)程。 第3章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1029 If 語句是根據(jù)所制指定的條件來

29、確定執(zhí)行那些語句。用于選擇器、比較器、譯碼器和條件控制的邏輯設(shè)計(jì)。三種類型:三種類型: 1:開關(guān)控制(門閂控制) IF 條件 THEN 2: 2選1控制 IF 條件 順序語句 ELSE 順序語句 END IF; 3: 多選擇控制 IF 條件1 THEN . ELSIF 條件2 THEN End IF; 第3章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1030 第3章 硬件描述語言路漫漫其修遠(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順序語句;

31、 END CASE; 第3章 硬件描述語言路漫漫其修遠(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章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1034 IF語句按條件順序處理(可設(shè)計(jì)優(yōu)先級(jí)編碼器),而CASE語句按條件是無順序

32、處理(并行),從而CASE語句不能用來設(shè)計(jì)優(yōu)先編碼器。 CASE語句必須列出所有條件,IF語句不一定,一般來說,列出所有條件是不大可能的,故在CASE語句中,常常在最后有WHEN OTHERS 語句。 描述總線或編碼、譯碼的行為Case語句的可讀性比If語句強(qiáng)。 第3章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1035LOOP語句用于描述迭代電路,即將相同功能的電路串連起來,通常有兩種描述方式。1:FOR循環(huán)變量 標(biāo)號(hào):FOR 循環(huán)變量 IN 離散范圍 LOOP 順序語句 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章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-10362.WHILE LOOP語句。 標(biāo)號(hào): WHILE 條件 LOOP 順序處理語句 END LOOP 標(biāo)號(hào); 沒有給出循環(huán)次數(shù)的范圍,而是給出了循環(huán)執(zhí)行順序語句的條件;沒有自動(dòng)遞增循環(huán)變量的功能,所以必須在順序處理語句中增加一條循環(huán)次數(shù)計(jì)算語句,用于循環(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章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1037p Process 進(jìn)程語句p Concurrent Signal Assignment 并發(fā)信號(hào)代入語句p Conditional Signal Assignment 條件信號(hào)代入語句p Selective Signal Assignment 選擇信號(hào)代入語句p Concurrent Procedure Call 并發(fā)過程調(diào)用語句p Block 塊語句 第3章 硬件描述語言路漫漫其修遠(yuǎn)兮

35、路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1038進(jìn)程語句是最主要的并發(fā)語句進(jìn)程語句是最主要的并發(fā)語句,也是最能體現(xiàn)硬件描述語言特點(diǎn)的一條語句。在一個(gè)構(gòu)造體中,多個(gè)進(jìn)程語句可同時(shí)并發(fā)運(yùn)行。 進(jìn)程語句主要有以下幾個(gè)特點(diǎn): 它可以與其它進(jìn)程并發(fā)運(yùn)行,并可存取實(shí)體或構(gòu)造體中定義的信號(hào)。 進(jìn)程語句是并發(fā)語句,而進(jìn)程結(jié)構(gòu)中的語句是順序語句,是按順序一條一條執(zhí)行的。 進(jìn)程的啟動(dòng)可用敏感量或在進(jìn)程中包含WAIT語句。 進(jìn)程之間的同步和通信是通過信號(hào)量傳遞來實(shí)現(xiàn)的。 進(jìn)程只能定義常數(shù)、變量,不能定義信號(hào)量。 第3章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修

36、遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1039 信號(hào)代入語句用在并發(fā)執(zhí)行場合就是并發(fā)信號(hào)代入語句。 一個(gè)并發(fā)語句可以寫成一個(gè)進(jìn)程。 如:Process(a,b) Begin c=a AND b; End Process; c=a AND b是一個(gè)并發(fā)語句,這里a,b都是信號(hào)量;代入符號(hào) “=”右邊可以用算術(shù)運(yùn)算表達(dá)式、邏輯表達(dá)式或關(guān)系操作表達(dá)式來表示。 第3章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1040條件代入語句可根據(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章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1041例:用條件信號(hào)代入語句描述四選一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章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1042 選擇信號(hào)代入語句類似于CASE語句,它對表達(dá)式進(jìn)行測試,當(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章 硬件描述語言路漫漫其修遠(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章 硬件描述語言路漫漫其修遠(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)無關(guān)。主要包括: 簡單門電路簡單門電路 編、譯碼器編、譯碼器 三態(tài)門電路、總線緩沖器三態(tài)門電路、總線緩沖器 第3章 硬件描述語言路漫漫其修遠(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章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-10463-8譯碼器電路(case語句)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章 硬件描述語言路漫漫其修遠(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章 硬件描述語言路漫漫其修遠(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章 硬件描述語言路漫漫其修遠(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章 硬件描述語言路漫漫其修遠(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章 硬件描述語言路漫漫其修遠(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章 硬件描述語言路漫漫其修遠(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ā)器來實(shí)現(xiàn)。 時(shí)序電路又可分為同步時(shí)序電路

49、和異步時(shí)序電路兩種,大部分時(shí)序電路為同步時(shí)序電路。主要包括: 觸發(fā)器 寄存器 計(jì)數(shù)器 分頻器 第3章 硬件描述語言路漫漫其修遠(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章 硬件描述語言路漫漫其修遠(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章 硬件描述語言路漫漫其修遠(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章 硬件描述語言路漫漫其修遠(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章 硬件描述語言路漫漫其修遠(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章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-10591000110101start10 第3章 硬件描述語言路漫漫其修遠(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章 硬件描述語言路漫漫其修遠(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章 硬件描述語言路漫漫其修遠(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章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1063課堂練習(xí)課堂練習(xí):設(shè)計(jì)一個(gè)有清零端的25進(jìn)制減法計(jì)數(shù)器 第3章 硬件描述語言路漫漫其修遠(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ù)器對時(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章 硬件描述語言路漫漫其修遠(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章 硬件描述語言路漫漫其修遠(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章 硬件描述語言路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮路漫漫其修遠(yuǎn)兮 吾將上下而求索吾將上下而求索吾將上下而求索2022-5-1067課堂練習(xí):課堂練習(xí):對40

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論