-
- 素材大。
- 771 KB
- 素材授權(quán):
- 免費(fèi)下載
- 素材格式:
- .ppt
- 素材上傳:
- ppt
- 上傳時(shí)間:
- 2016-06-08
- 素材編號(hào):
- 52622
- 素材類別:
- 培訓(xùn)教程PPT
-
素材預(yù)覽
這是一個(gè)關(guān)于VHDL培訓(xùn)教程PPT(部分ppt內(nèi)容已做更新升級(jí))課件,主要介紹了VHDL簡(jiǎn)介及其結(jié)構(gòu)、VHDL中的對(duì)象、操作符、數(shù)據(jù)類型、VHDL中的控制語(yǔ)句及模塊、狀態(tài)機(jī)的設(shè)計(jì)等內(nèi)容。VHDL的發(fā)展歷史起源于八十年代,由美國(guó)國(guó)防部開(kāi)發(fā)
兩個(gè)標(biāo)準(zhǔn): 1、1987年的 IEEE 1076(VHDL87);2、1993年進(jìn)行了修正(VHDL93),歡迎點(diǎn)擊下載VHDL培訓(xùn)教程PPT(部分ppt內(nèi)容已做更新升級(jí))課件哦。VHDL培訓(xùn)教程PPT課件是由紅軟PPT免費(fèi)下載網(wǎng)推薦的一款培訓(xùn)教程PPT類型的PowerPoint.
VHDL培訓(xùn)教程
第一講、VHDL簡(jiǎn)介及其結(jié)構(gòu)
第二講、VHDL中的對(duì)象、操作符、數(shù)據(jù)類型
第三講、VHDL中的控制語(yǔ)句及模塊
第四講、狀態(tài)機(jī)的設(shè)計(jì)
第一講、VHDL簡(jiǎn)介及其結(jié)構(gòu)
通過(guò)本課的學(xué)習(xí)您可以了解以下幾點(diǎn)
1、VHDL 的基本概念
2、VHDL的基本結(jié)構(gòu)
3、VHDL的設(shè)計(jì)初步
什么是VHDL
VHDL-
VHSIC Hardware Decription Language
其中VHSIC-
Very High Speed Integrated Circuit
電子設(shè)計(jì)自動(dòng)化的關(guān)鍵技術(shù)之一是要求用形式化
方法來(lái)描述硬件系統(tǒng)。VHDL適應(yīng)了這種要求。
VHDL和Verilog HDL
Verilog HDL:
另一種硬件描述語(yǔ)言,由Verilog 公司開(kāi)發(fā),1995年成為IEEE標(biāo)準(zhǔn)。
優(yōu)點(diǎn):簡(jiǎn)單、易學(xué)易用
缺點(diǎn):功能不如VHDL強(qiáng)大,仿真工具少
VHDL :
1987年成為IEEE標(biāo)準(zhǔn)
優(yōu)點(diǎn):功能強(qiáng)大、通用性強(qiáng)。
缺點(diǎn):難學(xué)
VHDL的發(fā)展歷史
起源于八十年代,由美國(guó)國(guó)防部開(kāi)發(fā)
兩個(gè)標(biāo)準(zhǔn):
1、1987年的 IEEE 1076(VHDL87)
2、1993年進(jìn)行了修正(VHDL93)
VHDL在電子系統(tǒng)設(shè)計(jì)中的應(yīng)用
VHDL在電子系統(tǒng)設(shè)計(jì)中的應(yīng)用
電子系統(tǒng)設(shè)計(jì)的描述等級(jí)
1、行為級(jí)
2、RTL級(jí)(Register transfer level)
3、邏輯門(mén)級(jí)
4、版圖級(jí)
用VHDL可以描述以上四個(gè)等級(jí)
VHDL在電子系統(tǒng)設(shè)計(jì)中的應(yīng)用
VHDL在電子系統(tǒng)設(shè)計(jì)中的應(yīng)用
VHDL在電子系統(tǒng)設(shè)計(jì)中的應(yīng)用
VHDL在電子系統(tǒng)設(shè)計(jì)中的應(yīng)用
如何使用VHDL描述硬件實(shí)體
VHDL結(jié)構(gòu)要點(diǎn)
1、ENTITY(實(shí)體)
格式:
Entity 實(shí)體名 IS
[類屬參數(shù)說(shuō)明]
[端口說(shuō)明]
End Entity;
其中端口說(shuō)明格式為:
PORT(端口名1,端口名N:方向:類型)
其中方向有: IN , OUT, INOUT, BUFFER, LINKAGE
VHDL結(jié)構(gòu)要點(diǎn)
注意
簡(jiǎn)單地說(shuō)
In 不可以出現(xiàn)在<= 或 : = 的左邊
out不可以出現(xiàn)在<= 或 : = 的右邊
buffer可以出現(xiàn)在<= 或 : = 的兩邊
VHDL結(jié)構(gòu)要點(diǎn)
例子 (HalfAdd)
VHDL結(jié)構(gòu)要點(diǎn)
2、Arcthitecture(構(gòu)造體)
格式:
Arcthitecture 構(gòu)造體名 of 實(shí)體名 is
[定義語(yǔ)句] 內(nèi)部信號(hào)、常數(shù)、元件、數(shù)據(jù)類型、函數(shù)等的定義
begin
[并行處理語(yǔ)句和block、process、function、procedure]
end 構(gòu)造體名;
VHDL結(jié)構(gòu)要點(diǎn)
例子(HalfAdd)
VHDL結(jié)構(gòu)要點(diǎn)
例子 (FullAdd) (學(xué)習(xí)如何調(diào)用現(xiàn)有模塊)
VHDL結(jié)構(gòu)要點(diǎn)
實(shí)例(FullAdd)-entity
VHDL結(jié)構(gòu)要點(diǎn)
實(shí)例(FullAdd)-architecture
VHDL中的設(shè)計(jì)單元
除了entity(實(shí)體)和architecture(構(gòu)造體)外還有
另外三個(gè)可以獨(dú)立進(jìn)行編譯的設(shè)計(jì)單元
Package(包集合)屬于庫(kù)結(jié)構(gòu)的一個(gè)層次,存放信號(hào)定義、常數(shù)定義、數(shù)據(jù)類型、元件語(yǔ)句、函數(shù)定義和過(guò)程定義。
Package Body 具有獨(dú)立對(duì)端口(port)的package
configuration(配置)描述層與層之間的連接關(guān)系以及實(shí)體與構(gòu)造體之間關(guān)系。
VHDL中的設(shè)計(jì)單元
VHDL中的設(shè)計(jì)單元(可以獨(dú)立編譯)
Library 庫(kù)的概念
STD庫(kù) --VHDL的標(biāo)準(zhǔn)庫(kù)
IEEE庫(kù) -- VHDL的標(biāo)準(zhǔn)庫(kù)的擴(kuò)展
面向ASIC的庫(kù) --不同的工藝
不同公司自定義的庫(kù)
普通用戶自己的庫(kù)
Library 庫(kù)的概念
用戶自己的庫(kù)
當(dāng)您的VHDL文件被編譯后,編譯的結(jié)果儲(chǔ)存在特定的目錄下,這個(gè)目錄的邏輯名稱即Library,此目錄下的內(nèi)容亦即是這個(gè)Library的內(nèi)容。
Package 包的概念
Package(包)
VHDL中的結(jié)構(gòu)關(guān)系
VHDL簡(jiǎn)介及其結(jié)構(gòu)
本講結(jié)束
下一講:
VHDL中的對(duì)象、操作符、數(shù)據(jù)類型
第二講、VHDL對(duì)象、操作符、數(shù)據(jù)類型
通過(guò)本課的學(xué)習(xí)您可以了解以下幾點(diǎn)
1、VHDL 的基本類型
2、如何在VHDL中定義類型
3、VHDL 的信號(hào)定義
4、如何在VHDL中對(duì)信號(hào)賦值
5、VHDL中的操作符
VHDL對(duì)象、操作符、數(shù)據(jù)類型
對(duì)象object
對(duì)客觀實(shí)體的抽象和概括
VHDL中的對(duì)象有:
1、Constant(常量)在程序中不可以被賦值
2、Variable(變量)在程序中可以被賦值(用“: =”),賦值后立即變化為新值。
3、Signal(信號(hào))在程序中可以被賦值(用“<=”) ,但不立即更新,當(dāng)進(jìn)程掛起后,才開(kāi)始更新。
VHDL對(duì)象、操作符、數(shù)據(jù)類型
VHDL中的對(duì)象使用:
variable
x,y:integer;--定義了整數(shù)型的變量對(duì)象x,y
constant
Vcc:real;--定義了實(shí)數(shù)型的常量對(duì)象Vcc
signal
clk,reset:bit;--定義了位類型的信號(hào)對(duì)象clk,reset
VHDL中的對(duì)象使用
注意
1、variable只能定義在process和subprogram(包括function和procedure)中,不可定以在其外部。
2、signal不能定義在process和subprogram(包括function和procedure)中,只可定以在其外部。
VHDL對(duì)象、操作符、數(shù)據(jù)類型
對(duì)象的屬性
類似于其它面向?qū)ο蟮木幊陶Z(yǔ)言如VB、VC、DELPHI
用法格式:對(duì)象 ’ 屬性
例 子:clk’event --表明信號(hào)clk的event屬性
常用的屬性:
Signal 對(duì)象的常用屬性有:
event : 返回boolean值,信號(hào)發(fā)生變化時(shí)返回true
last_value:返回信號(hào)發(fā)生此次變化前的值
last_event:返回上一次信號(hào)發(fā)生變化到現(xiàn)在變化的間隔時(shí)間
VHDL對(duì)象、操作符、數(shù)據(jù)類型
Signal 對(duì)象的常用屬性有:接上頁(yè)
delayed[(時(shí)延值)]: 使信號(hào)產(chǎn)生固定時(shí)間的延時(shí)并返回
stable[(時(shí)延值)]: 返回boolean, 信號(hào)在規(guī)定時(shí)間內(nèi)沒(méi)有變化返回true
transaction: 返回bit類型,信號(hào)每發(fā)生一次變化,返回值翻轉(zhuǎn)一次
VHDL對(duì)象、操作符、數(shù)據(jù)類型
VHDL 的基本類型
1、bit(位): `0` 和`1`
2、bit-Vector(位矢量): 例如:``00110``
3、Boolean “ ture”和“false”
4、time 例如:1 us、100 ms,3 s
5、character 例如:‘a’、’n’、’1’、 ’0’
6、string 例如:“sdfsd”、”my design”
7、integer 32位例如:1、234、-2134234
8、real 范圍-1.0E38~+1.0E38
例如:1.0、2.834、3.14、0.0
VHDL 的基本類型
9、natural 自然數(shù) 和 positive 正整數(shù)
10、senverity level (常和assert語(yǔ)句配合使用)
包含有:note、warning、error、failure
以上十種類型是VHDL中的標(biāo)準(zhǔn)類型,在編程中可以直接使用。使用這十種以外的類型,需要自行定義或指明所引用的Library(庫(kù))和Package(包)集合
VHDL 的基本類型
例子一
VHDL 的基本類型和賦值
例子二
VHDL 的基本類型和賦值
例子三
VHDL 的基本類型和賦值
例子四
VHDL 的基本類型和賦值
例子五
VHDL 的基本類型和賦值
連接操作符---使用&
VHDL 的基本類型和賦值
集合操作---使用()
VHDL 的基本類型和賦值
集合操作---采用序號(hào)
VHDL 的基本類型和賦值
集合操作--采用others
在VHDL中定義自己的類型
通用格式
TYPE 類型名 IS 數(shù)據(jù)類型定義
用戶可以定義的數(shù)據(jù)類型
枚舉類型enumberated、整數(shù)型integer、
實(shí)數(shù)型real、數(shù)組類型array、
紀(jì)錄類型record、時(shí)間類型time、
文件類型file、存取類型access
在VHDL中定義自己的類型
枚舉類型enumberated
格式
type 數(shù)據(jù)類型名 is (元素,元素…...);
例子
type week is (sun,mon,tue,thu,fri,sat);
type std_logic is (‘1’,’0’,’x’,’z’);
在VHDL中定義自己的類型
整數(shù)類integer和實(shí)數(shù)類real
格式
type 數(shù)據(jù)類型名 is 數(shù)據(jù)類型定義 約束范圍;
例子
type week is integer range 1 to 7;
type current is real range -1E4 to 1E4
在VHDL中定義自己的類型
數(shù)組類型array
格式
type 數(shù)據(jù)類型名 is array 范圍 of 元數(shù)據(jù)類型名
例子
type week is array (1 to 7) of integer;
type deweek is array (1 to 7) of week;
在VHDL中定義自己的類型
時(shí)間類型time
格式
type 數(shù)據(jù)類型名 is 范圍
units 基本單位;
單位;
end units
在VHDL中定義自己的類型
時(shí)間類型例子
type time is range -1E18 to 1E18
units
us;
ms=1000 us;
sec=1000 ms;
min=60 sec;
end units
在VHDL中定義自己的類型
紀(jì)錄類型record
格式
type 數(shù)據(jù)類型名 is recoerd
元素名:數(shù)據(jù)類型名;
元素名:數(shù)據(jù)類型名;
….
end record;
在VHDL中定義自己的類型
紀(jì)錄類型的例子
type order is record
id:integer;
date:string;
security:boolean;
end record;
引用:signal flag:boolean;
signal order1:order;
order1<=(3423,”1999/07/07”,true);
flag<=order1.security;
IEEE 1164中定義的類型
std_ulogic 是對(duì)位(bit)類型的擴(kuò)展,只允許一個(gè)驅(qū)動(dòng)源
IEEE 1164中定義的類型
Std_logic同std_ulogic 一樣有九個(gè)狀態(tài),允許一個(gè)或多個(gè)驅(qū)動(dòng)源
IEEE 1164中定義的類型
Std_unlogic_vector和std_logic_vector
IEEE 1164中定義的類型
Std_unlogic、std_ulogic_vector
std_logic_vector和 std_unlogic_vector 類型
均定義在package(包) standard_logic_1164中
在使用這四種類形時(shí)應(yīng)加以說(shuō)明,
例如:library ieee;
use ieee.std_logic_1164.all;
注: standard_logic_1164位于IEEE庫(kù)中
類型使用例子
例子一(聲明使用的庫(kù)和包)
類型使用例子
例子二 std_ulogic 和std_logic的區(qū)別
類型使用例子
練習(xí)一: 下面那一個(gè)是正確的
VHDL中的操作符
分類
1、邏輯操作符
2、關(guān)系操作符
3、數(shù)學(xué)運(yùn)算符
VHDL中的操作符
1、邏輯操作符有:
VHDL中的操作符
邏輯操作符的應(yīng)用類型
VHDL中的操作符
邏輯操作符的應(yīng)用例子
VHDL中的操作符
2、關(guān)系運(yùn)算符有
VHDL中的操作符
關(guān)系運(yùn)算符的應(yīng)用
VHDL中的操作符
3、數(shù)學(xué)運(yùn)算符
VHDL中的操作符
VHDL中的操作符應(yīng)用要點(diǎn)
1、VHDL屬于強(qiáng)類型,不同類型之間不能進(jìn)行運(yùn)算和賦值,可以進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換
2、vector不表示number
3、array 不表示number
VHDL中的操作符
本講結(jié)束
下一講:
VHDL中的控制語(yǔ)句及模塊
第三講VHDL中的控制語(yǔ)句及模塊
通過(guò)本講您將會(huì)學(xué)到
1、Block的編寫(xiě)
2、Process的編寫(xiě)
3、function 和 procedure的編寫(xiě)
4、VHDL中的流程控制語(yǔ)句的書(shū)寫(xiě)
VHDL中的控制語(yǔ)句及模塊
回顧第一講的內(nèi)容
VHDL中的控制語(yǔ)句及模塊
基本概念
1、并行處理(concurrent)
語(yǔ)句的執(zhí)行與書(shū)寫(xiě)順序無(wú)關(guān),并行塊內(nèi)的語(yǔ)句時(shí)同時(shí)執(zhí)行的
2、順序處理(sequential)
語(yǔ)句的執(zhí)行按書(shū)寫(xiě)的先后次序,從前到后順序執(zhí)行。這種方式和其他普通編程語(yǔ)言(如c,pascal)是一樣的。
VHDL中的控制語(yǔ)句及模塊
Architecture 中的語(yǔ)句及子模塊之間是并行處理的
子模塊block中的語(yǔ)句是并行處理的
子模塊process中的語(yǔ)句是順序處理的
子模塊subprogram中的function和procedure是順序處理的
VHDL中的architecture
Arcthitecture(構(gòu)造體)的格式為:(第一講)
Arcthitecture 構(gòu)造體名 of 實(shí)體名 is
[定義語(yǔ)句] 內(nèi)部信號(hào)、常數(shù)、元件、數(shù)據(jù)類型、函數(shù)等的定義
begin
[并行處理語(yǔ)句和block、process、function、procedure]
end 構(gòu)造體名;
Architecture中的Block
Block
格式
塊名:
BLOCK
[定義語(yǔ)句]
begin
[并行處理語(yǔ)句concurrent statement]
end block 塊名
Architecture中的Block
條件Block
格式
塊名:
BLOCK [(布爾表達(dá)式)]
[定義語(yǔ)句]
begin
[并行處理語(yǔ)句concurrent statement
[信號(hào)]<= guarded [信號(hào),延時(shí)] ;
end block 塊名
Architecture中的Block
Block 例子
myblock1:
block(clk=‘1’)
signal:qin:bit:=‘0’;
begin
qout<= guarded qin ;
end block myblock1
Architecture中的process
Process
格式
[進(jìn)程名:]
process [(觸發(fā)信號(hào)列表)]
[定義語(yǔ)句;]
begin
[串行處理語(yǔ)句sequential statement;]
end process
Architecture中的process
process例子
exp1:
process (clk,qin)
variable:qin:bit:=‘0’;
begin
qout<=qin;
end process
process例子-值的更新
Architecture中的process
Process中敏感信號(hào)列表的普遍原則是:
在process中,其值被引用的信號(hào)應(yīng)當(dāng)出現(xiàn)在敏感信號(hào)列表中
不符和設(shè)計(jì)要求
Architecture中的subprogram
Function(函數(shù))
格式:
function 函數(shù)名(參數(shù)1,參數(shù)2 …...)
[定義語(yǔ)句]
return 數(shù)據(jù)類型名 is [定義語(yǔ)句]
begin
[順序執(zhí)行語(yǔ)句]
return [返回變量名]
end 函數(shù)名
Architecture中的subprogram
Function 例子
function max(a,b:bit)
return boolean is variable :flag:boolean;
begin
if (a=b)then
flag<=true;
end if
return flag;
end max
procedure(過(guò)程)
格式:
procedure 過(guò)程名(參數(shù)1,參數(shù)2 …...)is
[定義語(yǔ)句]
begin
[順序執(zhí)行語(yǔ)句]
end 過(guò)程名
Architecture中的subprogram
Procedure例子
procedure max(a,b:in bit;
flag:out boolean)is
begin
if (a=b)then
flag<=true;
end if
end max;
順序執(zhí)行語(yǔ)句sequential statement
Wait語(yǔ)句
assert語(yǔ)句
If 語(yǔ)句
case語(yǔ)句
for loop語(yǔ)句
while 語(yǔ)句
順序執(zhí)行語(yǔ)句sequential statement
Wait語(yǔ)句
書(shū)寫(xiě)格式
wait;--無(wú)限等待
wait on [信號(hào)列表] --等待信號(hào)變化
wait until [條件]; --等待條件滿足
wait for [時(shí)間值]; --等待時(shí)間到
功能
wait語(yǔ)句使系統(tǒng)暫時(shí)掛起 (等同于end process),此時(shí),信號(hào)值開(kāi)始更新。條件滿足后,系統(tǒng)將繼續(xù)運(yùn)行 。
順序執(zhí)行語(yǔ)句sequential statement
Wait語(yǔ)句例子
process(a,b)
begin
y<=a and b;
end process
順序執(zhí)行語(yǔ)句sequential statement
Wait語(yǔ)句例子
如果process中沒(méi)有敏感信號(hào)列表,其進(jìn)程中也沒(méi)
有wait 語(yǔ)句,則process中的程序代碼循環(huán)執(zhí)行
順序執(zhí)行語(yǔ)句sequential statement
Assert語(yǔ)句格式
assert 條件 [report 輸出信息] [severity]
說(shuō)明:條件為true 時(shí)執(zhí)行下一條語(yǔ)句,為false 時(shí)輸出錯(cuò)誤信息和錯(cuò)誤的嚴(yán)重級(jí)別
例子
….
assert(sum=100)report “sum /=100” severity error;
next statement
…...
順序執(zhí)行語(yǔ)句sequential statement
If 語(yǔ)句格式
if 條件 then
[順序執(zhí)行語(yǔ)句]
[else]
[順序執(zhí)行語(yǔ)句]
end if
順序執(zhí)行語(yǔ)句sequential statement
If 語(yǔ)句例子
順序執(zhí)行語(yǔ)句sequential statement
Case 語(yǔ)句格式
順序執(zhí)行語(yǔ)句sequential statement
Case 語(yǔ)句例子,條件表達(dá)式可以有多種形式
順序執(zhí)行語(yǔ)句sequential statement
Case 語(yǔ)句例子
順序執(zhí)行語(yǔ)句sequential statement
For loop 語(yǔ)句格式
順序執(zhí)行語(yǔ)句sequential statement
在loop語(yǔ)句中可以用next來(lái)跳出本次 循環(huán),也可以用exit 來(lái)結(jié)束整個(gè)循環(huán)狀態(tài)
next 格式:next [標(biāo)號(hào)] [when 條件];
exit 格式: exit [標(biāo)號(hào)] [when 條件];
順序執(zhí)行語(yǔ)句sequential statement
While 語(yǔ)句格式
并行處理語(yǔ)句concurrent statement
1、信號(hào)賦值操作
2、帶條件的信號(hào)賦值語(yǔ)句
3、帶選擇的信號(hào)賦值語(yǔ)句
并行處理語(yǔ)句concurrent statement
信號(hào)賦值操作
符號(hào)“<=”進(jìn)行信號(hào)賦值操作的,
它可以用在順序執(zhí)行語(yǔ)句中,
也可以用在并行處理語(yǔ)句中
注意
1、用在并行處理語(yǔ)句中時(shí),符號(hào)<=右邊的值是此條語(yǔ)句的敏感信號(hào),即符號(hào)<=右邊的值發(fā)生變化就會(huì)重新激發(fā)此條賦值語(yǔ)句,也即符號(hào)<=右邊的值不變化時(shí),此條賦值語(yǔ)句就不會(huì)執(zhí)行。如果符號(hào)<=右邊是常數(shù)則賦值語(yǔ)句一直執(zhí)行。
2、用在順序執(zhí)行語(yǔ)句中時(shí),沒(méi)有以上說(shuō)法。
并行處理語(yǔ)句concurrent statement
賦值語(yǔ)句例子
并行處理語(yǔ)句concurrent statement
條件信號(hào)帶入語(yǔ)句格式
目的信號(hào)量 <= 表達(dá)式1 when 條件1
else 表達(dá)式2 when 條件2
else 表達(dá)式3 when 條件3
…..
else 表達(dá)式4
并行處理語(yǔ)句concurrent statement
條件信號(hào)帶入語(yǔ)句例子
并行處理語(yǔ)句concurrent statement
選擇信號(hào)帶入語(yǔ)句格式
with 表達(dá)式 select
目的信號(hào)量 <= 表達(dá)式1 when 條件1,
表達(dá)式2 when 條件2,
…..
表達(dá)式n when 條件n;
并行處理語(yǔ)句concurrent statement
選擇信號(hào)帶入語(yǔ)句例子
順序執(zhí)行語(yǔ)句和并行處理語(yǔ)句
順序執(zhí)行語(yǔ)句和并行處理語(yǔ)句總結(jié)
1、順序執(zhí)行語(yǔ)句 wait、assert、if -else 、case、for-loop、while語(yǔ)句只能用在process、function 和 procedure 中;
2、并行處理語(yǔ)句(條件信號(hào)帶入和選擇信號(hào)帶入)只能用在architecture、block中;
其它語(yǔ)句
Generic語(yǔ)句
enttity and2 is
generic(rise:time:=10 ns);
port(a,b: in nit ; c:out bit);
end and2;
architecture behav of and2 is
begin
c<=(a xor b) after (rise);
end behav
enttity testand2 is
port(ain,bin: in nit ; cout:out bit);
end testand2;
architecture behav of testand2 is
component and2
generic(rise:time); port(a,b: in nit ; c:out bit);
end component;
begin
c<=(a xor b) after (rise);
u0:and2 generic map(20 ns) port map(ain,bin,cout);
end behav
一些例子
Signal A,B,C, Y,Z,M,N : integer;
Signal M,N : integer;
begin
process (A,B,C)
begin
M<=A;
N<=B;
Z<=M+N;
M<=C;
Y<=M+N;
end process
一些例子
變量值的更新立即發(fā)生
一些例子
Z 和 Y最終取什么值;
結(jié)束語(yǔ)
祝賀您完成了VHDL基本內(nèi)容的學(xué)習(xí),希望您在實(shí)踐過(guò)程中能學(xué)到更多!
下一講:
狀態(tài)機(jī)的設(shè)計(jì)
第四講、狀態(tài)機(jī)的設(shè)計(jì)
概念
一類十分重要的時(shí)序電路
許多數(shù)字電路的核心部件
狀態(tài)機(jī)概述
狀態(tài)機(jī)的結(jié)構(gòu)
狀態(tài)機(jī)的基本操作
1、狀態(tài)的轉(zhuǎn)換
下一個(gè)狀態(tài)由譯碼器根據(jù)當(dāng)前狀態(tài)和輸入條件決定。
2、輸出信號(hào)的產(chǎn)生
輸出信號(hào)由譯碼器根據(jù)當(dāng)前狀態(tài)和輸入條件決定
狀態(tài)機(jī)的時(shí)序
同步時(shí)序狀態(tài)機(jī)
由時(shí)鐘信號(hào)觸發(fā)狀態(tài)的轉(zhuǎn)換和信號(hào)的輸出
異步時(shí)序狀態(tài)機(jī)
狀態(tài)的轉(zhuǎn)移和輸出不與時(shí)鐘信號(hào)同步
狀態(tài)機(jī)的設(shè)計(jì)
在產(chǎn)生輸出的過(guò)程中,由是否使用輸入信號(hào)可以決定狀態(tài)機(jī)的類型
兩種類型
1、米里(mealy)狀態(tài)機(jī)---使用輸入信號(hào)
2、莫爾(moore)狀態(tài)機(jī)---不使用輸入信號(hào)
狀態(tài)機(jī)的類型
狀態(tài)機(jī)的表達(dá)方式
1、狀態(tài)圖
2、狀態(tài)表
3、流程圖
狀態(tài)機(jī)的設(shè)計(jì)
3進(jìn)制計(jì)數(shù)器
狀態(tài)機(jī)的設(shè)計(jì)
序列檢測(cè)器(1110010)
VHDL上機(jī)指導(dǎo)
編譯和仿真工具
OR-CAD或ACTIVE-VHDL
本次培訓(xùn)采用ACTIVE-VHDL
ACTIVE-VHDL自帶教程
目錄: ..\Active VHDL\book\Avhdl.htm
vhdl ppt:這是vhdl ppt,包括了VHDL語(yǔ)言基礎(chǔ),VHDL基本結(jié)構(gòu),VHDL語(yǔ)句,狀態(tài)機(jī)在VHDL中的實(shí)現(xiàn),常用電路VHDL程序,VHDL仿真,VHDL綜合等內(nèi)容,歡迎點(diǎn)擊下載。
基于VHDL的六層電梯的論文答辯介紹ppt:這是一個(gè)關(guān)于基于VHDL的六層電梯的論文答辯材料ppt,主要介紹了選題的背景與任務(wù)要求;設(shè)計(jì)流程與設(shè)計(jì)原理簡(jiǎn)介;總體電路設(shè)計(jì)與仿真;設(shè)計(jì)總體評(píng)估和收獲;擴(kuò)展性分析與展望等內(nèi)容。本次設(shè)計(jì)完成了設(shè)想的設(shè)計(jì)要求,實(shí)現(xiàn)了電梯所應(yīng)具備的基本功能并且進(jìn)行了正確的時(shí)序仿真,生成了正確的仿真波形圖。仿真結(jié)果表明VHDL 語(yǔ)言應(yīng)用于數(shù)字電路仿真是切實(shí)可行的。VHDL語(yǔ)言是一個(gè)很好用的硬件描述語(yǔ)言,能夠正確完成電梯控制的任務(wù)要求。同時(shí)在本次設(shè)計(jì)中我通過(guò)努力將所學(xué)運(yùn)用于實(shí)踐,這加深了我對(duì)專業(yè)的認(rèn)識(shí),并且也收獲到了成功后的喜悅。電梯控制器是一個(gè)比較復(fù)雜的系統(tǒng),由于設(shè)計(jì)任務(wù)的要求我們主要慮了六層電梯控制器的設(shè)計(jì)。但實(shí)際生活中電梯的層數(shù)和功能需要按照人們的需求不斷變化由于我們采用的是模塊化的設(shè)計(jì),這樣便方便了我們對(duì)系統(tǒng)的功能擴(kuò)展,除此之外,本次程序設(shè)計(jì)大多采用的是邏輯矢量,通過(guò)適當(dāng)引入變量,也可以方便我們對(duì)電梯控制器層數(shù)的擴(kuò)展,歡迎點(diǎn)擊下載!