久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

EDA期末復(fù)習(xí)總結(jié)1

時(shí)間:2019-05-12 12:34:57下載本文作者:會(huì)員上傳
簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《EDA期末復(fù)習(xí)總結(jié)1》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《EDA期末復(fù)習(xí)總結(jié)1》。

第一篇:EDA期末復(fù)習(xí)總結(jié)1

面向FPGA的開(kāi)發(fā)流程

綜合:由高層次描述自動(dòng)轉(zhuǎn)換為低層次描述的過(guò)程。是EDA技術(shù)的核心。

綜合器:能夠自動(dòng)將一種設(shè)計(jì)表示形式向另一種設(shè)計(jì)表示形式轉(zhuǎn)換的計(jì)算機(jī)程序。Xilinx公司推出FPGA;Altera公司推出EPLD,Lattice公司提出CPLD和ISP。

VHDL程序的基本結(jié)構(gòu):庫(kù)、程序包,實(shí)體,結(jié)構(gòu)體,進(jìn)程,配置。VHDL的本質(zhì):并行語(yǔ)句。

不完整IF語(yǔ)句形成時(shí)序邏輯電路,完整IF語(yǔ)句形成組合邏輯電路。

常用邏輯門符號(hào)與現(xiàn)有國(guó)標(biāo)符號(hào)的對(duì)照:

第三章VHDL的基礎(chǔ)

3.1 VHDL基本語(yǔ)法

實(shí)體:描述器件的端口構(gòu)成及信號(hào)端口的基本性質(zhì)。表達(dá)式:entity e_name is port(p_name:port_m data_type;

??

p_namei:port_mi data_type); end entity e_name;

結(jié)構(gòu)體:描述電路器件的內(nèi)部邏輯功能和電路結(jié)構(gòu)。

表達(dá)式:architecture arch_name of e_name is [說(shuō)明語(yǔ)句] ??定義或說(shuō)明數(shù)據(jù)對(duì)象、數(shù)據(jù)類型、元件調(diào)用聲明 begin(功能表述語(yǔ)句)end architecture arch_name;

一個(gè)可綜合的、完整的VHDL程序結(jié)構(gòu)必須包含實(shí)體和結(jié)構(gòu)體兩個(gè)最基本的語(yǔ)言結(jié)構(gòu)。把一個(gè)完整的可綜合的VHDL程序設(shè)計(jì)稱為設(shè)計(jì)實(shí)體,而其程序代碼常被稱為VHDL的RTL描述。

4種端口模式:IN,OUT,INOUT,BUFFER。

4種數(shù)據(jù)類型:integer(整數(shù)),boolean(邏輯),std_logic,bit。bit的取值范圍是‘1’和‘0’,可以參與邏輯運(yùn)算或算術(shù)運(yùn)算,其結(jié)果仍是位的數(shù)據(jù)類型。

賦值符號(hào)“<=”:

例如y<=a,表示輸入端口a的數(shù)據(jù)向輸出端口y傳輸,或信號(hào)a向信號(hào)y賦值。賦值操作并非立即發(fā)生,而要經(jīng)歷一個(gè)模擬器的最小分辨時(shí)間δ,δ可以看作實(shí)際電路存在的固有延時(shí)量。“<=”兩邊的信號(hào)的數(shù)據(jù)類型必須一致。

數(shù)據(jù)比較符號(hào)“=”:

例如s=‘0’,“=”沒(méi)有賦值的含義,只是一種數(shù)據(jù)比較符號(hào)。S=‘0’輸出結(jié)果的數(shù)據(jù)類型是布爾數(shù)據(jù)類型BOOLEAN,BOOLEAN數(shù)據(jù)類型取值是TRUE(真)和FALSE(偽),VHDL仿真器和綜合器分別用‘1’和‘0’表達(dá)TRUE和FALSE,布爾數(shù)據(jù)不是數(shù)值,只能用于邏輯操作或條件判斷。

7種邏輯操作符:and與、or或、not非、nand與非、nor或非、xor異或、xnor同或。

邏輯操作符所要求的操作數(shù)的數(shù)據(jù)類型有3種,即bit、boolean和std_logic。

條件語(yǔ)句:用IF_THEN_ELSE表示VHDL順序語(yǔ)句。

IF語(yǔ)句表達(dá)式:if 條件句 then 順序語(yǔ)句 else 順序語(yǔ)句 end if

WHEN_ELSE 條件信號(hào)賦值語(yǔ)句:一種并行賦值語(yǔ)句

表達(dá)式:賦值目標(biāo)<=表達(dá)式 WHEN 賦值條件 ELSE 例:z<= a when p1=’1’ else

表達(dá)式 WHEN 賦值條件 ELSE b when p2=’1’ else

? c;

表達(dá)式; 條件信號(hào)賦值語(yǔ)句的第一句具有最高賦值優(yōu)先。

進(jìn)程語(yǔ)句:由Process引導(dǎo)的語(yǔ)句: 表達(dá)式:Process(a,b,s)

在VHDL中,所有合法的順序語(yǔ)句都必須放入進(jìn)程語(yǔ)句中。在結(jié)構(gòu)體中,可以有很多進(jìn)程語(yǔ)句,所有的進(jìn)程語(yǔ)句都是并行語(yǔ)句,而由任一進(jìn)程Process引導(dǎo)的語(yǔ)句結(jié)構(gòu)屬于順序語(yǔ)句。進(jìn)程語(yǔ)句定義的是變量。描述數(shù)字電路時(shí),推薦使用Process語(yǔ)句。

文件取名和存盤(pán)

文件名可以由設(shè)計(jì)者任意給定,但文件后綴擴(kuò)展名必須是“.vhd”,建議程序的文件名盡可能與該程序的實(shí)體名一致,文件名原則上不分大小寫(xiě),但推薦用小寫(xiě)。

3.2 時(shí)序電路描述

VHDL主要通過(guò)對(duì)時(shí)序器件功能和邏輯行為的描述,而非結(jié)構(gòu)上的描述使得計(jì)算機(jī)綜合出符合要求的時(shí)序電路。

標(biāo)準(zhǔn)邏輯位數(shù)據(jù)類型STD_LOGIC:

STD_LOGIC定義:TYPE STD_LOGIC IS(‘U’,‘X’,‘0’,‘1’,‘Z’,‘W’,‘L’,‘H’,‘-’)

使用庫(kù)和程序包的一般定義表達(dá)式: LIBRARY <設(shè)計(jì)庫(kù)名>;

USE <設(shè)計(jì)庫(kù)名>.<程序包名>.ALL;

信號(hào)定義:signal q1:std_logic 數(shù)據(jù)對(duì)象:信號(hào)(signal)、變量(variable)、常量(constant)

信號(hào)屬性函數(shù):EVENT。所謂信號(hào)屬性函數(shù)是用來(lái)獲得信號(hào)行為信息的函數(shù)。測(cè)定信號(hào)的跳變情況:<信號(hào)名>’EVENT 上升沿檢測(cè)表式為:<信號(hào)名>’EVENT AND <信號(hào)名>=’1’ 時(shí)鐘上升沿檢測(cè)表式為:clk’event and clk=‘1’ 確保clk的變化是一次上升沿的變化:

if clk'event and(clk='1')and(clk'last_value='0')if clk='1' and clk'last_value='0' 3.3

※CASE語(yǔ)句:

case語(yǔ)句屬于順序語(yǔ)句,因此必須放在進(jìn)程語(yǔ)句中使用。

一般表達(dá)式:case <表達(dá)式> is when <選擇值或標(biāo)識(shí)符>=><順序語(yǔ)句>;?;<順序語(yǔ)句>;when <選擇值或標(biāo)識(shí)符>=><順序語(yǔ)句>;?;<順序語(yǔ)句>;?

when others=><順序語(yǔ)句>;--一般用null,表示不作任何操作。end case;

并置操作符&:表示將操作數(shù)或是數(shù)組合并起來(lái)形成新的數(shù)組。如abc<=a&b。

例化語(yǔ)句:

第一部分是對(duì)一個(gè)現(xiàn)成的設(shè)計(jì)實(shí)體定義為一個(gè)元件,語(yǔ)句的功能是對(duì)待調(diào)用的元件作出調(diào)用聲明,其表達(dá)式為:component 元件名

port(端口名表);

end component 第二部分則是此元件與當(dāng)前設(shè)計(jì)實(shí)體中元件間及端口的連接說(shuō)明,語(yǔ)句的表達(dá)式為:

例化名:元件名port map([端口名=>]連接端口名,?);

相關(guān)語(yǔ)法說(shuō)明:

1、變量

variable cqi:std_logic_vector(3 downto 0);變量與信號(hào)的區(qū)別: 信號(hào):全局量

用于architecture、package、entity中 賦值符號(hào)為<= 變量:局部量

用于process、function、procedure中 賦值符號(hào)為:=

2、省略賦值操作符(others=>x)

全加器的VHDL描述(書(shū)P55)

3.6 數(shù)據(jù)對(duì)象

數(shù)據(jù)對(duì)象: 常量(constant):代表數(shù)字電路中電源、地和恒定的邏輯值。

常數(shù)定義語(yǔ)句:

變量(variable):代表暫存某些值的載體,常用于描述算法。

變量定義語(yǔ)句:

信號(hào)(signal):代表物理設(shè)計(jì)中的某硬件連接線,包括輸入輸出端口。

信號(hào)定義語(yǔ)句:

信號(hào)賦值語(yǔ)句:

變量與信號(hào)的差異(總結(jié)): 1)賦值方式的不同:

變量:= 表達(dá)式;

信號(hào) < = 表達(dá)式;

2)硬件實(shí)現(xiàn)的功能不同:

信號(hào)代表電路單元、功能模塊間的互聯(lián),代表實(shí)際的硬件連線;

變量代表電路單元內(nèi)部的操作,代表暫存的臨時(shí)數(shù)據(jù)。

3)有效范圍的不同:

信號(hào):程序包、實(shí)體、結(jié)構(gòu)體;全局量。

變量:進(jìn)程、子程序;局部量。4)賦值行為的不同:

信號(hào)賦值延遲更新數(shù)值、時(shí)序電路;

變量賦值立即更新數(shù)值、組合電路。

3.7 IF語(yǔ)句概述

※IF語(yǔ)句:

3.8 進(jìn)程語(yǔ)句歸納

Process語(yǔ)句結(jié)構(gòu)的一般表達(dá)格式如下:

[進(jìn)程標(biāo)號(hào):] process [(敏感信號(hào)參數(shù)表)] [is] [進(jìn)程說(shuō)明部分](定義該進(jìn)程所需的局部數(shù)據(jù)環(huán)境)begin 順序描述語(yǔ)句(描述該進(jìn)程的行為)end process [進(jìn)程標(biāo)號(hào)];

第四章QuartusⅡ的使用

建立工作庫(kù)文件夾和編輯設(shè)計(jì)文件,創(chuàng)建工程,編譯前設(shè)置,全程編譯,時(shí)序仿真,應(yīng)用RTL電路圖觀察器,引腳鎖定,配置文件下載,編程配置器件,Signal TapⅡ?qū)崟r(shí)測(cè)試。(文本編輯,功能仿真,邏輯綜合,布局布線,時(shí)序仿真,編程下載)

第五章VHDL狀態(tài)機(jī)

用戶自定義數(shù)據(jù)類型是用類型定義語(yǔ)句TYPE和子類型定義語(yǔ)句SUBTYOPE實(shí)現(xiàn)的

5.1 狀態(tài)機(jī)設(shè)計(jì)相關(guān)語(yǔ)句

TYPE類型定義語(yǔ)句:

VHDL中的枚舉數(shù)據(jù)類型是一種特殊的數(shù)據(jù)類型,它們是用文字符號(hào)來(lái)表示一組實(shí)際的二進(jìn)制數(shù)。設(shè)計(jì)者在狀態(tài)機(jī)的設(shè)計(jì)中,為了利于閱讀、編譯和VHDL綜合器的優(yōu)化,往往將表征狀態(tài)的二進(jìn)制數(shù)組用文字符號(hào)來(lái)代替,即所謂的狀態(tài)符號(hào)化。

枚舉類型也可以直接用數(shù)值來(lái)定義,但必須使用單引號(hào)。枚舉數(shù)據(jù),在綜合過(guò)程中,都將轉(zhuǎn)化為二進(jìn)制代碼。編碼順序是默認(rèn)的。編碼數(shù)值:一般將第一個(gè)枚舉量編碼為‘0’或“0000”,以后依次加1。編碼的位矢量長(zhǎng)度根據(jù)實(shí)際情況決定。

子類型subtype是由type所定義的原數(shù)據(jù)類型的一個(gè)子集,它滿足原數(shù)據(jù)類型的所有約束條件,原數(shù)據(jù)類型稱為基本數(shù)據(jù)類型。子類型并沒(méi)有定義新的數(shù)據(jù)類型。

子類型subtype的語(yǔ)句格式:

5.1.3

狀態(tài)機(jī)的結(jié)構(gòu)

最一般最常用的狀態(tài)機(jī)通常包括:說(shuō)明部分,主控時(shí)序進(jìn)程,主控組合進(jìn)程,輔助進(jìn)程。

現(xiàn)態(tài)信號(hào)current_state,次態(tài)信號(hào)next_state。

真值表:

5.2 Moore狀態(tài)機(jī)設(shè)計(jì)

從狀態(tài)機(jī)的信號(hào)輸出方式上分,有Moore型和Mealy型兩類狀態(tài)機(jī)。

Moore型狀態(tài)機(jī)的輸出僅為當(dāng)前狀態(tài)的函數(shù),這類狀態(tài)機(jī)在輸入發(fā)生變化時(shí)還必須等待時(shí)鐘的到來(lái),時(shí)鐘使?fàn)顟B(tài)變化時(shí)才導(dǎo)致輸出的變化,所以比Mealy機(jī)要多等待一個(gè)時(shí)鐘周期。

Mealy型狀態(tài)機(jī)的輸出是當(dāng)前狀態(tài)和所有輸入信號(hào)的函數(shù),它的輸出是在輸入變化后立即發(fā)生的,不依賴時(shí)鐘的同步。

從輸出時(shí)序上看,Moore屬于同步輸出狀態(tài)機(jī),而Mealy屬于異步輸出狀態(tài)機(jī)。

摩爾(Moore)型狀態(tài)機(jī)的輸出僅與當(dāng)前狀態(tài)有關(guān):

異步復(fù)位:目的在加電時(shí)建立一個(gè)初始狀態(tài),并避免非法狀態(tài);

摩爾(Moore)型狀態(tài)機(jī)真值表:

多進(jìn)程Moore狀態(tài)機(jī)的輸出信號(hào)是由組合電路發(fā)出的,所以在一些特定情況下難免出現(xiàn)毛刺現(xiàn)象。如果這些輸出信號(hào)用作時(shí)鐘信號(hào),極易產(chǎn)生錯(cuò)誤的操作,需盡力避免。單進(jìn)程Moore狀態(tài)機(jī)較容易構(gòu)成能避免出現(xiàn)毛刺現(xiàn)象的狀態(tài)機(jī)。

5.3 Mealy 狀態(tài)機(jī)

Mealy狀態(tài)機(jī)的輸出不僅是當(dāng)前狀態(tài)的函數(shù),也是輸入信號(hào)的函數(shù)。

Mealy 狀態(tài)機(jī)真值表:

第七章VHDL語(yǔ)句

7.1 VHDL順序語(yǔ)句(Sequential)

硬件執(zhí)行:并行執(zhí)行(VHDL本質(zhì))仿真執(zhí)行:順序執(zhí)行、并行執(zhí)行

分為兩大類:順序(Sequential)描述語(yǔ)句、并行(Concurrent)描述語(yǔ)句

順序語(yǔ)句只能用在進(jìn)程與子程序中。可描述組合邏輯、時(shí)序邏輯。常用的順序描述語(yǔ)句:賦值語(yǔ)句; if語(yǔ)句;case語(yǔ)句;loop語(yǔ)句; next語(yǔ)句;exit語(yǔ)句;子程序調(diào)用語(yǔ)句; return語(yǔ)句;wait語(yǔ)句;null語(yǔ)句。

7.1.4 LOOP語(yǔ)句

LOOP語(yǔ)句就是循環(huán)語(yǔ)句,它可以使所包含的一組順序語(yǔ)句被循環(huán)執(zhí)行,其執(zhí)行次數(shù)可由設(shè)定的循環(huán)參數(shù)決定。

LOOP語(yǔ)句的常用表達(dá)方式有兩種。

(1)單個(gè)LOOP語(yǔ)句,其語(yǔ)法格式如下:

[LOOP標(biāo)號(hào):] LOOP

順序語(yǔ)句

END LOOP [LOOP標(biāo)號(hào):];

該語(yǔ)句形式的循環(huán)方式需引入其它控制語(yǔ)句(如EXIT語(yǔ)句)才能確定。

(2)FOR_LOOP語(yǔ)句,其語(yǔ)法格式如下:

[LOOP標(biāo)號(hào):] FOR 循環(huán)變量,IN 循環(huán)次數(shù)范圍 LOOP 順序語(yǔ)句

END LOOP [LOOP標(biāo)號(hào):];

7.1.5 NEXT 語(yǔ)句

NEXT語(yǔ)句主要用在LOOP語(yǔ)句執(zhí)行中進(jìn) 行有條件的或無(wú)條件的轉(zhuǎn)向控制,它的語(yǔ)句格式有3種。

(1)第一種語(yǔ)句格式:NEXT;

當(dāng)LOOP內(nèi)的順序語(yǔ)句執(zhí)行到NEXT語(yǔ)句時(shí),即刻無(wú)條件終止當(dāng)前的循環(huán),跳回到本次循環(huán)LOOP語(yǔ)句處,開(kāi)始下一次循環(huán)。

(2)第二種語(yǔ)句格式:NEXT LOOP標(biāo)號(hào);

在當(dāng)有多重LOOP語(yǔ)句嵌套時(shí),可以跳轉(zhuǎn)到指定標(biāo)號(hào)的LOOP語(yǔ)句處,重新開(kāi)始執(zhí)行循環(huán)操作。

(3)第三種語(yǔ)句格式:NEXT LOOP標(biāo)號(hào) WHEN 條件表達(dá)式 ;

分句“WHEN 條件表達(dá)式”是執(zhí)行NEXT語(yǔ)句的條件,如果條件表達(dá)式的值為TRUE,則執(zhí)行NEXT語(yǔ)句,進(jìn)入跳轉(zhuǎn)操作,否則繼續(xù)向下執(zhí)行。但當(dāng)只有單層LOOP循環(huán)語(yǔ)句時(shí),關(guān)鍵詞NEXT和WHEN之間的“LOOP標(biāo)號(hào)”可以省去。

7.1.6 EXIT語(yǔ)句

EXIT 語(yǔ)句為L(zhǎng)OOP語(yǔ)句的內(nèi)部循環(huán)控制語(yǔ)句,將結(jié)束循環(huán)狀態(tài)。

EXIT;--第一種語(yǔ)句格式 EXIT LOOP標(biāo)號(hào);--第二種語(yǔ)句格式

EXIT LOOP標(biāo)號(hào) WHEN 條件表達(dá)式 ;--第三種語(yǔ)句格式

NEXT語(yǔ)句與EXIT語(yǔ)句的格式與操作功能非常相似,區(qū)別是: NEXT語(yǔ)句是跳向LOOP語(yǔ)句的起始點(diǎn),而EXIT語(yǔ)句則是跳向LOOP語(yǔ)句的終點(diǎn)。

7.1.7 WAIT語(yǔ)句

在進(jìn)程中,當(dāng)執(zhí)行到WAIT(等待)語(yǔ)句時(shí),運(yùn)行程序?qū)⒈粧炱穑钡綕M足此語(yǔ)句設(shè)置的結(jié)束掛起條件之后,才重新開(kāi)始執(zhí)行進(jìn)程中的程序。

wait--無(wú)限等待

wait on 信號(hào)表--敏感信號(hào)等待語(yǔ)句 wait until 條件表達(dá)式--條件滿足(可綜合)wait for 時(shí)間表達(dá)式--時(shí)間到,超時(shí)等待語(yǔ)句

1、wait on 語(yǔ)句

格式:wait on 信號(hào)[,信號(hào)];

2、wait until 語(yǔ)句(可綜合)

格式:wait until 表達(dá)式;

當(dāng)表達(dá)式的值為“真”時(shí),進(jìn)程被啟動(dòng),否則進(jìn)程被掛起。

三種表達(dá)方式:

wait until 信號(hào) = value;wait until 信號(hào)’event and 信號(hào) = value;wait until not(信號(hào)’stable)and 信號(hào) = value;時(shí)鐘信號(hào) clk 的上升沿的描述:

wait until clk = ‘1’;

wait until rising_edge(clk);wait until clk’event and clk = ‘1’;

wait until not(clk’stable)and clk = ‘1’;

7.1.9

return 語(yǔ)句

return 語(yǔ)句只能用于子程序中,并用來(lái)終止一個(gè)子程序的執(zhí)行。

格式:return [表達(dá)式];

分為:1)return ;

用于過(guò)程,只是結(jié)束過(guò)程,不返回任何值。2)return 表達(dá)式;

用于函數(shù),并且必須返回一個(gè)值。

7.1.9

空操作語(yǔ)句

空操作語(yǔ)句不完成任何操作,它唯一的功能就是使邏輯運(yùn)行流程跨入下一步語(yǔ)句的執(zhí)行。NULL常用于CASE語(yǔ)句中,為滿足所有可能的條件,利用NULL來(lái)表示剩余條件下的操作行為。

格式: NULL;

7.2

并行語(yǔ)句(Concurrent Statements)

結(jié)構(gòu)體中可綜合的并行描述語(yǔ)句有:

并行信號(hào)賦值語(yǔ)句,條件信號(hào)賦值語(yǔ)句,選擇信號(hào)賦值語(yǔ)句,進(jìn)程語(yǔ)句,塊語(yǔ)句,元件例化語(yǔ)句,生成語(yǔ)句,參數(shù)傳遞映射語(yǔ)句,過(guò)程調(diào)用語(yǔ)句,端口說(shuō)明語(yǔ)句。

使用格式: ARCHITECTURE 結(jié)構(gòu)體名 OF 實(shí)體名 IS 說(shuō)明語(yǔ)句

BEGIN 并行語(yǔ)句

END ARCHITECTURE 結(jié)構(gòu)體名

名詞解釋

EDA--------電子設(shè)計(jì)自動(dòng)化(Electronic Design Automation)VHDL------超高速集成電路硬件描述語(yǔ)言

(Very-High-Speed Integrated Circuit HardwareDescription Language)CPLD------復(fù)雜可編程邏輯器件(Complex Programmable Logic Device)EPLD--------電可編程邏輯器件(Electrically Programmable Logic Device)FPGA------現(xiàn)場(chǎng)可編程門陣列(Field-Programmable Gate Array)

ASIC-------專用集成電路(Application Specific Integrated Circuit)LUT---------顯示查找表(Look-Up-Table)ISP----------在系統(tǒng)可編程技術(shù)(In_System Programmability Programming)

第二篇:EDA復(fù)習(xí)總結(jié)

一.名詞解釋

EDA

電子自動(dòng)化設(shè)計(jì)

electronic design automation FPGA

現(xiàn)場(chǎng)可編程門陣列

field programmable gate array CPLD

復(fù)雜可編程邏輯器件 complex programmable logic device ASIC

特定用途集成電路

application specific integrated circuit IP

知識(shí)產(chǎn)權(quán)

intellectual property SOC

片上系統(tǒng)

system on a chip FSM

有限狀態(tài)機(jī)

finite state machine MPW

多用途晶圓

multi project wafer

DSP

數(shù)字信號(hào)處理器

digital signal processor MCU

微程序控制器

micro control unit HDL

硬件表述語(yǔ)言

hardware description language VHDL 超高速集成電路硬件描述語(yǔ)言

very high speed integrated circuit hardware description language

二.簡(jiǎn)答題

1.top-down方法:從系統(tǒng)硬件的高層次抽象描述向低層次物理描述的一系列轉(zhuǎn)化過(guò)程。從頂向下設(shè)計(jì)由功能級(jí),行為級(jí)描述開(kāi)始;寄存器傳輸(RTL)級(jí)描述為第一個(gè)中間結(jié)果,再將RTL級(jí)描述由邏輯綜合網(wǎng)表或電路圖;利用EDA工具將網(wǎng)表自動(dòng)轉(zhuǎn)換換成目標(biāo)文件下載到現(xiàn)場(chǎng)可編程門陣列|復(fù)雜可編程邏輯器件或通過(guò)自動(dòng)布局布線設(shè)計(jì)成專用集成電路,從而得到電路與系統(tǒng)的物理實(shí)現(xiàn)。

2.邏輯綜合主要通過(guò)綜合工具,依據(jù)設(shè)計(jì)人員設(shè)定的時(shí)序,面積等約束條件,將與工藝無(wú)關(guān)的RTL級(jí)的電路邏輯描述程序,轉(zhuǎn)化為與工藝相關(guān)的電路,是將程序設(shè)計(jì)轉(zhuǎn)化為硬件實(shí)現(xiàn)的重要環(huán)節(jié)。

3.簡(jiǎn)述可編程器件與ASIC在設(shè)計(jì)應(yīng)用成本等方面的優(yōu)缺點(diǎn)

面向可編程邏輯器件的設(shè)計(jì)其設(shè)計(jì)投入資金小,風(fēng)險(xiǎn)小,開(kāi)發(fā)周期短,調(diào)試靈活,易學(xué)易用,而ASIC設(shè)計(jì)的設(shè)計(jì)資金投入大,流片費(fèi)用都很昂貴,研發(fā)投片制作其有一定的失敗風(fēng)險(xiǎn),且其開(kāi)發(fā)周期較長(zhǎng),調(diào)試改動(dòng)設(shè)計(jì)都比較困難,不過(guò),產(chǎn)品進(jìn)入大批量生產(chǎn)后,ASIC成品的成本往往低于可編程器件成本。

4.top-down過(guò)程分為:行為級(jí)描述,寄存器傳輸(RTL)級(jí)描述,邏輯綜合,物理實(shí)現(xiàn)。

5.VHDL描述方式:行為級(jí)描述,RTL級(jí)描述方式,結(jié)構(gòu)級(jí)描述方式。

6.仿真過(guò)程:行為級(jí)仿真,RTL仿真,門級(jí)仿真,后仿真。

7.Top-down設(shè)計(jì)方法特點(diǎn):

1)在系統(tǒng)設(shè)計(jì)早期就能發(fā)現(xiàn)設(shè)計(jì)中存在的問(wèn)題,并盡可能在早期設(shè)計(jì)階段就能解決問(wèn)題。

2)自動(dòng)化

8.top-down優(yōu)勢(shì)

1)在系統(tǒng)設(shè)計(jì)早期發(fā)現(xiàn)設(shè)計(jì)中存在的問(wèn)題,提高設(shè)計(jì)的一次成功率。

2)大大縮短了系統(tǒng)設(shè)計(jì)的周期,減少系統(tǒng)開(kāi)發(fā)所耗用的時(shí)間。

3)易于系統(tǒng)劃分和項(xiàng)目管理,使幾十萬(wàn)乃至幾百萬(wàn)的大規(guī)模復(fù)雜數(shù)字電路的設(shè)計(jì)成為可能。

4)設(shè)計(jì)效率提高,可減少設(shè)計(jì)人員。

5)通過(guò)設(shè)計(jì)共享,避免重復(fù)設(shè)計(jì)。

9.HDL:指電子技術(shù)高層設(shè)計(jì)階段中所采用的硬件描述語(yǔ)言。

特點(diǎn):

1、HDL以行為級(jí)描述見(jiàn)長(zhǎng),它能從比較抽象的角度描述電子實(shí)體的行為,能夠進(jìn)行早期仿真。

2、HDL能夠進(jìn)行結(jié)構(gòu)化描述,它能從具體的角度描述電子實(shí)體結(jié)構(gòu),便于存檔,便于共享。

3、HDL具備了從比較抽象到比較具體的多個(gè)層面上進(jìn)行混合描述能力,降低了硬件電路設(shè)計(jì)難度。

4、既能被仿真又能被綜合。

10.VHDL特點(diǎn):

1)通用型好,適用面廣

2)重用性好

3)可靠性好

4)以行為級(jí)描述見(jiàn)長(zhǎng)。

11.IP分為軟核,硬核,固核

軟核:第二階段,寄存器級(jí)設(shè)計(jì)結(jié)果,且經(jīng)過(guò)RTL級(jí)仿真驗(yàn)證。通常以HDL語(yǔ)言形式提交。

固核:第四階段,經(jīng)過(guò)FPGA實(shí)物驗(yàn)證的設(shè)計(jì)結(jié)果。通常以門級(jí)網(wǎng)表的形式提交。

硬核:第四階段,經(jīng)過(guò)ASIC工藝驗(yàn)證的設(shè)計(jì)結(jié)果。通常以版圖的形式提交。

三者的價(jià)值:

從FPGA角度看固核最有價(jià)值

從ASIC角度看硬核最有價(jià)值

軟核則由于它與工藝和器件均無(wú)關(guān),具有高度靈活性,從而具有獨(dú)特價(jià)值。

固核硬化:將固核轉(zhuǎn)化為硬核。

硬核軟化:因?yàn)橛埠吮仨氂眠^(guò)交換或出售才能實(shí)現(xiàn)價(jià)值最大化。而在硬核交換過(guò)程中,為了保護(hù)硬核知識(shí)產(chǎn)權(quán),IP提供者往往將硬核以黑匣子形式提供給用戶,同時(shí)能將硬化軟化,即采用硬件描述語(yǔ)言對(duì)硬核的功能進(jìn)行行為級(jí)描述,通過(guò)使用該行為級(jí)描述,在保護(hù)匣子具體內(nèi)容的同時(shí),仍可進(jìn)行IP仿真。

12.FPGA/CPLD在EDA中具有重要作用

1)VHDL程序用過(guò)FPGA/CPLD可以得到EDA設(shè)計(jì)的最終產(chǎn)品,在產(chǎn)品數(shù)據(jù)較小時(shí)快速占領(lǐng)市場(chǎng)。

2)VHDL程序通過(guò)FPGA/CPLD驗(yàn)證可以形成固核具有一定商品價(jià)值。

3)VHDL程序的FPGA/CPLD驗(yàn)證試驗(yàn)是一種ASIC設(shè)計(jì)的硬件仿真工具。

13.并行語(yǔ)句和順序語(yǔ)句在使用上有哪些差異:

1)并發(fā)語(yǔ)句只能夠出現(xiàn)在并發(fā)語(yǔ)句結(jié)構(gòu)中,如結(jié)構(gòu)體,BLOCK等,并發(fā)語(yǔ)句的執(zhí)行與其在程序中的書(shū)寫(xiě)順序無(wú)關(guān);

2)順序語(yǔ)句只能夠出現(xiàn)在順序語(yǔ)句結(jié)構(gòu)中,如PROCESS,過(guò)程,函數(shù)等結(jié)構(gòu)中,其執(zhí)行與書(shū)寫(xiě)順序相關(guān),寫(xiě)在前面的語(yǔ)句先執(zhí)行,寫(xiě)在后面的依據(jù)后執(zhí)行。14.數(shù)據(jù)類型是用標(biāo)示符表征某個(gè)或某個(gè)數(shù)值的集合,數(shù)據(jù)類型按照定義可分為標(biāo)準(zhǔn)預(yù)定義數(shù)據(jù)類型和用戶自定義數(shù)據(jù)類型,還有用戶自定義數(shù)據(jù)類型。在VHDL中若某個(gè)對(duì)象被聲明為某種類型,其值必須在該數(shù)據(jù)類型所限定的取值范圍之中,且只有相同的數(shù)據(jù)類型才能做賦值或運(yùn)算,不同數(shù)據(jù)類型的數(shù)據(jù)必須通過(guò)類型轉(zhuǎn)換一致后,才能運(yùn)算。故說(shuō)VHDL語(yǔ)言是強(qiáng)數(shù)據(jù)類型的描述語(yǔ)言。

15.描述行為語(yǔ)言:信號(hào)賦值語(yǔ)言,進(jìn)程語(yǔ)句,子程序,塊語(yǔ)句,斷言語(yǔ)句。

描述結(jié)構(gòu)語(yǔ)句:元件語(yǔ)句(COMPONENT),生成語(yǔ)句(GENERATE),參數(shù)說(shuō)明語(yǔ)句(GENERIC)

16.并行信號(hào)賦值語(yǔ)句:一般信號(hào)賦值,條件信號(hào)賦值,選擇信號(hào)賦值。

17.什么是EDA?

EDA技術(shù)是一種以計(jì)算機(jī)為基本工作平臺(tái),利用計(jì)算機(jī)圖形學(xué),拓?fù)溥壿媽W(xué),計(jì)算數(shù)學(xué)以及人工智能學(xué)等多種計(jì)算機(jī)應(yīng)用學(xué)科的最新成果而開(kāi)發(fā)出來(lái)的一整套軟件工具,是一種幫助電子設(shè)計(jì)工程師從事電子元件產(chǎn)品和系統(tǒng)設(shè)計(jì)的綜合設(shè)計(jì),電子設(shè)計(jì)自動(dòng)化技術(shù),方法一般采用自頂向下的設(shè)計(jì)方法,也叫正向設(shè)計(jì),它是針對(duì)傳統(tǒng)的自底向上的設(shè)計(jì)方法而提出的。

18.什么是IP核?學(xué)習(xí)VHDL與掌握IP核技術(shù)的關(guān)系四什么?

IP核是具有知識(shí)產(chǎn)權(quán)的集成電路芯核的簡(jiǎn)稱,其作用是把一組擁有知識(shí)產(chǎn)權(quán)的電路設(shè)計(jì)集合在一起,構(gòu)成芯片的基本單位,以供設(shè)計(jì)時(shí)“搭積木”之用。

19.信號(hào)賦值語(yǔ)句在進(jìn)程做并行語(yǔ)句,并發(fā)執(zhí)行,與語(yǔ)句所處位置無(wú)關(guān)。

信號(hào)賦值語(yǔ)句在進(jìn)程內(nèi)或子程序內(nèi)做順序語(yǔ)句,按順序執(zhí)行,與語(yǔ)句所處位置無(wú)關(guān)。

信號(hào)賦值語(yǔ)句符號(hào)為“<=” 變量賦值符號(hào)位”:=”

用于信號(hào)賦值動(dòng)作,不立即生效

用于變量賦值動(dòng)作,會(huì)立即生效

20.Active—HDL軟件工具對(duì)VHDL程序進(jìn)行仿真方法有哪些? 利用Active—HDL軟件工具對(duì)VHDL程序進(jìn)行仿真時(shí),常用的三種仿真方法:

1)用圖形化界面加激勵(lì)(或手動(dòng)測(cè)試加激勵(lì))方法簡(jiǎn)單,常用于初學(xué)者或簡(jiǎn)單的小程序仿真。

2)編寫(xiě)測(cè)試平臺(tái)文件(或編寫(xiě)testbench)的仿真方法可以方便地使用VHDL編寫(xiě)做激勵(lì)文件。常用于工程設(shè)計(jì)實(shí)踐,尤其適用于需要反復(fù)多次仿真或測(cè)試激勵(lì)的跨平臺(tái)移植。

3)編寫(xiě)宏文件的仿真方法用命令行,批處理文件方式編寫(xiě)激勵(lì),常用于需要多次仿真時(shí),一次性編寫(xiě)激勵(lì),多次仿真時(shí)反復(fù)使用。

21.進(jìn)程的“敏感信號(hào)”,也稱敏感表,是進(jìn)程的激活條件,可由一個(gè)信號(hào)或多個(gè)信號(hào)組成之間用“,”隔開(kāi)。

當(dāng)敏感信號(hào)表中的任意一個(gè)信號(hào)有事件發(fā)生,即發(fā)生任意變化,此時(shí),進(jìn)程被激活,進(jìn)程中的語(yǔ)句將從上到下逐句執(zhí)行一遍,當(dāng)最后一條語(yǔ)句執(zhí)行完畢后,進(jìn)程即進(jìn)入等待掛起狀態(tài),直到下一次敏感表中的信號(hào)有時(shí)間發(fā)生,進(jìn)程再次被激活,如此循環(huán)往復(fù)。

22.VHDL程序的組成部分包括哪些?

實(shí)體:描述設(shè)計(jì)單元的外圍接口信號(hào)和內(nèi)部參數(shù)。

構(gòu)造體:描述設(shè)計(jì)單元的內(nèi)部結(jié)構(gòu)和邏輯行為。

配置:為設(shè)計(jì)單元從多個(gè)構(gòu)造體中選擇合適的構(gòu)造體或從庫(kù)中選取合適的元件以便于進(jìn)行設(shè)計(jì)單元的仿真或綜合。

程序包:存放各設(shè)計(jì)模塊都能共享的數(shù)據(jù)類型,常熟和子程序。

庫(kù):存放已經(jīng)編譯了的元件和程序包,以便在設(shè)計(jì)單元中使用,庫(kù)可由系統(tǒng)工程師的自信設(shè)計(jì)或由ASIC芯片制造商提供。

23.端口方向有哪幾種? 端口:

In:輸入端口,在設(shè)計(jì)單元內(nèi)部只可讀,在設(shè)計(jì)單元內(nèi)不可對(duì)其賦值。

Out:輸出端口,在設(shè)計(jì)單元內(nèi)部只可寫(xiě),不可反饋至設(shè)計(jì)單元內(nèi)部作邏輯電路的輸入型號(hào)。

Inout:輸入通道和輸出通道共享引腳的雙向端口,在設(shè)計(jì)單元內(nèi)部分時(shí)可讀可寫(xiě),需要控制信號(hào)控制何時(shí)讀,何時(shí)寫(xiě),輸入和輸出通道不能同時(shí)有效。

Buffer:緩沖輸出端口,可反饋至設(shè)計(jì)單元內(nèi)部作為邏輯電路的輸入信號(hào),故可在設(shè)計(jì)單元內(nèi)部可讀可寫(xiě)。

Linkage:鏈接端口,無(wú)指定方向,可以與任意方向信號(hào)鏈接。

24.VHDL有哪幾種描述方式?分別用于什么場(chǎng)合?

邏輯綜合:在top-down流程中,EDA軟件可以將源程序自動(dòng)轉(zhuǎn)換為描述底層邏輯門互聯(lián)關(guān)系的門級(jí)網(wǎng)表,從而與最終的可編程器件或ASIC硬件實(shí)現(xiàn)相對(duì)應(yīng)。

行為級(jí)描述方式是抽象程度最高的電路建模方式,源程序主要描述電路的輸出端口隨輸入變化而變化規(guī)律,程序描述貼近人類高級(jí)語(yǔ)言,不可被綜合。

寄存器級(jí)通過(guò)描述數(shù)據(jù)從輸入到輸出的運(yùn)算處理按時(shí)了電路結(jié)構(gòu)綜合。結(jié)構(gòu)描述方式是層次化設(shè)計(jì)思想的體現(xiàn),是描述電路硬件連接的建模方式,源程序可否被綜合,依賴被調(diào)用元件可綜合否。

25.什么是數(shù)據(jù)對(duì)象?常用的數(shù)據(jù)對(duì)象有哪些幾種? 常用數(shù)據(jù)對(duì)象:信號(hào),變量,常量

在VHDL程序中凡是可以被賦值的對(duì)象稱為數(shù)據(jù)對(duì)象。

26.信號(hào)延時(shí)有哪幾種?它們有何異同? 信號(hào)延時(shí):

傳播延時(shí):直接模擬導(dǎo)線上信號(hào)的延時(shí)。任何信號(hào)傳入導(dǎo)線的一段,經(jīng)過(guò)一段延時(shí)信號(hào)必須從導(dǎo)線另一段輸出。

慣性延時(shí):模擬某類元件的延時(shí)特征,信號(hào)傳入軟件后,在指定時(shí)間內(nèi)輸入信號(hào)必須保持不變,元件的輸出端才會(huì)有響應(yīng)。

27.什么是數(shù)據(jù)類型?它可以分為哪幾大種?每一種類型中包括哪些具體類型? 數(shù)據(jù)類型:標(biāo)準(zhǔn)數(shù)據(jù)類型,用戶自定義數(shù)據(jù)類型,用戶自定義子類型。

標(biāo)準(zhǔn)數(shù)據(jù)類是在VHDL預(yù)定義庫(kù)中定義的數(shù)據(jù)類型,在使用時(shí)不需要作參考庫(kù)和程序包申明。

位、矢量位、整數(shù)、自然數(shù)。正整數(shù)、實(shí)數(shù)、布爾量、字符、字符串、時(shí)間、錯(cuò)誤等級(jí)。用戶自定義數(shù)據(jù)類型: 在VHDL中用戶還可以自己定義所需數(shù)據(jù)類型。語(yǔ)法格式:Type <數(shù)據(jù)類型> Is 數(shù)據(jù)類型定義;

枚舉類型、數(shù)組類型、存取類型、文件類型、記錄類型、時(shí)間類型。用戶自定義子類型:

用戶自定義的子類型,是對(duì)已定義數(shù)據(jù)類型取值范圍加以限制得到的子集。語(yǔ)法格式:SUBTYPE <子類型名> IS 原數(shù)據(jù)類型名 [范圍]

28.VHDL中操作符主要有哪幾類?它們都分為哪些主要元素?

邏輯運(yùn)算符: not(非)and(與)or(或)nand(或與)

nor(或非)xor(異或)算數(shù)運(yùn)算符:+ *能夠真正被綜合,MOD REM 分母的操作數(shù)為2乘方的書(shū),邏輯電路綜合是可能的。

29.什么是層次化?

層次化設(shè)計(jì)基于電子系統(tǒng)的結(jié)構(gòu)化建模方式,對(duì)系統(tǒng)的功能和結(jié)構(gòu)進(jìn)行描述,層次化設(shè)計(jì)獎(jiǎng)系統(tǒng)逐級(jí)劃分,將較獨(dú)立的功能或邏輯電路單獨(dú)建模,與參考庫(kù)中的底層元件一起調(diào)用。作為可調(diào)用元件,在確保正確的情況下,調(diào)入高層次的設(shè)計(jì)中作為實(shí)例使用,在系統(tǒng)設(shè)計(jì)中,采用層次化設(shè)計(jì)方法,可以有效地簡(jiǎn)化設(shè)計(jì)難度,明確系統(tǒng)架構(gòu),促進(jìn)團(tuán)隊(duì)合作和共享。

30.什么是組合邏輯?其VHDL程序設(shè)計(jì)有何特點(diǎn)?

組合邏輯就是指數(shù)字電路在任何時(shí)刻僅僅取決于該時(shí)刻數(shù)字電路的輸入,與歷史輸入無(wú)關(guān)。

用VHDL描述組合邏輯電路,使用并行語(yǔ)句或使用進(jìn)程。

31.什么是時(shí)序邏輯?其VHDL程序設(shè)計(jì)與組合邏輯的有何不同?

時(shí)序邏輯電路指數(shù)字電路在任何時(shí)刻的輸出不僅取決于該時(shí)刻數(shù)字電路輸入,而且取決于電路原來(lái)狀態(tài),或者說(shuō)還與歷史輸入有關(guān)。

用VHDL描述時(shí)序電路:必須使用到進(jìn)程。

32.常用EDA工具:Active-HDL,FPGA-Express,ISE,Cadence,Verilog-XL,NC-verilog,Maxplus-II.33.‘U’初始狀態(tài)

‘X’不定態(tài)

‘0’強(qiáng)0態(tài)

‘1’強(qiáng)1態(tài)

‘Z’高阻態(tài)

‘L’弱0態(tài) ‘H’弱1態(tài)

‘W’ 弱補(bǔ)丁太 ‘-’無(wú)關(guān)態(tài)

34.mealy:輸出由狀態(tài)機(jī)的輸入和狀態(tài)機(jī)的狀態(tài)共同決定。

Moore:輸出僅與狀態(tài)機(jī)的狀態(tài)有關(guān),與狀態(tài)機(jī)的輸入無(wú)關(guān)。

第三篇:EDA期末總結(jié)7

1章 PORT DOWNTO 0);(D:INSTD_LOGIC_VECTOR(11DOWNTO 0);

Q : OUT STD_LOGIC_VECTOR(11 DOWNTO 0));

1、常用的硬件描述語(yǔ)言有VHDL、Verilog、ABEL

CLK ,STATUS : IN STD_LOGIC;END AD574A;

2、VHDL自頂向下的設(shè)計(jì)流程:

LOCK0 : OUT STD_LOGIC;ARCHITECTURE behav OF AD574A IS 1.設(shè)計(jì)說(shuō)明書(shū)2.建立VHDL行為模型3.VHDL行為仿真4.VHDL-RTL

CS,A0,RC,K12X8 : OUT STD_LOGIC;SIGNAL current_state, next_state: STD_LOGIC_VECTOR(4 DOWNTO 0);級(jí)建模 Q:OUTSTD_LOGIC_VECTOR(11DOWNTO 0));

CONSTANT st0 : STD_LOGIC_VECTOR(4 DOWNTO 0):= “11100”;5.前端功能仿真6.邏輯綜合7.測(cè)試向量生成8.功能仿真9.結(jié)END AD574;

CONSTANT st1 : STD_LOGIC_VECTOR(4 DOWNTO 0):= “00001”;構(gòu)綜合10.門級(jí)時(shí)序仿真11.硬件測(cè)試12.設(shè)計(jì)完成 ARCHITECTURE behav OF AD574 IS

CONSTANT st2 : STD_LOGIC_VECTOR(4 DOWNTO 0):= “00000”;2章 TYPE states IS(st0, st1, st2, st3,st4);

CONSTANT st3 : STD_LOGIC_VECTOR(4 DOWNTO 0):= “00100”;SIGNALcurrent_state,next_state:states :=st0;

CONSTANT st4 : STD_LOGIC_VECTOR(4 DOWNTO 0):= “00110”;1.一般ASIC設(shè)計(jì)的流程: SIGNAL REGL:STD_LOGIC_VECTOR(11DOWNTO 0);

SIGNAL REGL : STD_LOGIC_VECTOR(11 DOWNTO 0);系統(tǒng)規(guī)格說(shuō)明:系統(tǒng)劃分:邏輯設(shè)計(jì)與綜合:綜合后仿真:版圖設(shè)SIGNAL LOCK : STD_LOGIC;

SIGNAL LK

: STD_LOGIC;計(jì):版圖驗(yàn)證:參數(shù)提取與后仿真:制版、流片:芯片測(cè)試 BEGIN BEGIN

2、常用EDA工具:

K12X8 <= '1';

LOCK0 <= LOCK;

COM1: PROCESS(current_state,STATUS)設(shè)計(jì)輸入編輯器:HDL綜合器:仿真器:適配器(或布局布線器):COM1: PROCESS(current_state,STATUS)

BEGIN 下載器 BEGIN

CASE current_state IS

3、IP核:軟IP硬IP固IP

CASE current_state IS

WHEN st0 => next_state <= st1;3章

WHEN st0 => next_state <= st1;

WHEN st1 => next_state <= st2;

WHEN st1 => next_state <= st2;

WHEN st2 => IF(STATUS='1')THEN next_state <= st2;

1、CPLD和FPGA的主要區(qū)別:

WHEN st2 =>IF(STATUS='1')THENnext state <= st2;

ELSE next_state <= st3;

結(jié)構(gòu)上的不同:集成度的不同:CPLD:500~50000門;FPGA:1K~

ELSE next_state <= st3;

END IF;10M門:應(yīng)用范圍不同:CPLD邏輯能力強(qiáng)而寄存器少(1K左右),END IF;

WHEN st3=> next_state <= st4;

適用于控制密集型系統(tǒng);FPGA邏輯能力較弱但寄存器多(100多K),WHEN st3 => next_state <= st4;

WHEN st4=> next_state <= st0;適用于數(shù)據(jù)密集型系統(tǒng)。

WHEN st4 => next_state <= st0;

WHEN OTHERS => next_state <= st0;

使用方法不同

2、FPGA和CPLD的選用(1)CPLD的選用: 邏輯密集型:中小規(guī)模(1000~50000):免費(fèi)軟件支持;編程數(shù)據(jù)不丟失,電路簡(jiǎn)單;ISP特性,編程加密;布線延遲固定,時(shí)序特性穩(wěn)定;(2)FPGA選用: 數(shù)據(jù)密集型;大規(guī)模設(shè)計(jì)(5000~數(shù)百萬(wàn)門);SOC設(shè)計(jì):ASIC的設(shè)計(jì)仿真:布線靈活,但時(shí)序特性不穩(wěn)定;需用專用的ROM進(jìn)行數(shù)據(jù)配置 4章

1、EDA綜合工具提供的數(shù)據(jù)類型為布爾型(Boolean)、位型(Bit)、位矢量型(Bit-Vector)和整數(shù)型(Interger)。

2、VHDL語(yǔ)言描述結(jié)構(gòu)體功能有3種方法:行為描述法:數(shù)據(jù)流描述法;結(jié)構(gòu)描述法

3、VHDL的庫(kù):STD庫(kù)和WORK庫(kù):IEEE庫(kù)

4、clock’EVENT and clock=‘1檢測(cè)上升沿;clock’EVENT and clock=‘0’檢測(cè)下降沿。

5、簡(jiǎn)述實(shí)體、端口概念,端口種類及INPUT與BUFFER的異同。以關(guān)鍵詞ENTITY引導(dǎo),END ENTITY....結(jié)束的語(yǔ)句部分成為實(shí)體。端口種類4種:IN、OUT、INOUT、BUFFER。INOUT定義的通道確定為輸入輸出雙向端口;、BUFFER在需要輸入數(shù)據(jù)是時(shí),只允許內(nèi)不回讀輸出的信號(hào)。

6、結(jié)構(gòu)體 以關(guān)鍵詞ARCHITECTURE引導(dǎo),END 結(jié)束的語(yǔ)句部分成為結(jié)構(gòu)體。

7、端口: INOUT定義的通道為輸入輸出雙向端口,可以由外向內(nèi)或由內(nèi)向外傳輸數(shù)據(jù),而B(niǎo)UFFER定義的通道雖然也是輸入輸出端口,但它回讀的信號(hào)不能從外部輸入,而是由內(nèi)部產(chǎn)生,向外輸出的信號(hào)。IN定義的通道為單向只讀模式,規(guī)定數(shù)據(jù)只能通過(guò)此端口被讀入實(shí)體中 OUT定義的通道為單向輸出模式,規(guī)定數(shù)據(jù)只能通過(guò)此端口從實(shí)體向外流出,或者說(shuō)可以將實(shí)體中的數(shù)據(jù)向此端口賦值。INOUT定義的通道確定為輸入輸出雙向端口,可以由外向內(nèi)或由內(nèi)向外傳輸數(shù)據(jù)。6章

1、說(shuō)明用原理圖輸入方法設(shè)計(jì)電路的詳細(xì)流程 1.為一項(xiàng)工程設(shè)計(jì)建立文件夾 2.輸入設(shè)計(jì)項(xiàng)目和存盤(pán) 3.將設(shè)計(jì)項(xiàng)目設(shè)置成工程文件 4.選擇目標(biāo)器件并編譯 5時(shí)序仿真和包裝入庫(kù) 6.設(shè)計(jì)頂層文件 7章

1、為什么要使用狀態(tài)機(jī) 有限狀態(tài)機(jī)克服了純硬件數(shù)字系統(tǒng)順序方式控制不靈活的缺點(diǎn)。狀態(tài)機(jī)的結(jié)構(gòu)模式相對(duì)簡(jiǎn)單。狀態(tài)機(jī)容易構(gòu)成性能良好的同步時(shí)序邏輯模塊。狀態(tài)機(jī)的VHDL表述豐富多樣。在高速運(yùn)算和控制方面,狀態(tài)機(jī)更有其巨大的優(yōu)勢(shì)。就可靠性而言,狀態(tài)機(jī)的優(yōu)勢(shì)也是十分明顯的。

2、時(shí)序進(jìn)程將次態(tài)信號(hào)送到現(xiàn)態(tài)信號(hào)

3、Moore型輸出僅與當(dāng)前狀態(tài)有關(guān),Mealy型輸出是當(dāng)前狀態(tài)與所有輸入信號(hào) FSM:s_machine current_state clkPROCESSPROCESSREGCOMcomb_outputsreset next_statestate_inputs LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY s_machine IS

PORT(clk,reset

: IN STD_LOGIC;

state_inputs : IN STD_LOGIC_VECTOR(0 TO 1);

comb_outputs : OUT INTEGER RANGE 0 TO 15);END s_machine;ARCHITECTURE behv OF s_machine IS

TYPE FSM_ST IS(s0, s1, s2, s3);

SIGNAL current_state, next_state: FSM_ST;BEGIN REG: PROCESS(reset,clk)

BEGIN

IF reset = '1' THEN

current_state <= s0;

ELSIF clk='1' AND clk'EVENT THEN

current_state <= next_state;

END IF;

END PROCESS;

COM:PROCESS(current_state, state_Inputs)BEGIN

CASE current_state IS

WHEN s0 => comb_outputs<= 5;

IF state_inputs = “00” THEN next_state<=s0;

ELSE next_state<=s1;

END IF;

WHEN s1 => comb_outputs<= 8;

IF state_inputs = “00” THEN next_state<=s1;

ELSE next_state<=s2;

END IF;

WHEN s2 =>

comb_outputs<= 12;

IF state_inputs = “11” THEN next_state <= s0;

ELSE next_state <= s3;

END IF;

WHEN s3 => comb_outputs <= 14;

IF state_inputs = “11” THEN next_state <= s3;

ELSE next_state <= s0;

END IF;

END case;

END PROCESS;

END behv;三進(jìn)程有限狀態(tài)機(jī) LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY AD574 IS

WHEN OTHERS => next_state <= st0;

END CASE;END PROCESS COM1;COM2: PROCESS(current_state)BEGIN

CASE current_state IS

WHEN st0=>CS<='1';A0<='1';RC<='1';LOCK<='0';WHEN st1=>CS<='0';A0<='0';RC<='0';LOCK<='0';

WHEN st2=>CS<='0';A0<='0';RC<='0';LOCK<='0';WHEN st3=>CS<='0';A0<='0';RC<='1';LOCK<='0';

WHEN st4=>CS<='0';A0<='0';RC<='1';LOCK<='1';

WHEN OTHERS=>CS<='1';A0<='1';RC<='1';LOCK<='0';

END CASE;END PROCESS COM2;REG: PROCESS(CLK)

BEGIN IF(CLK'EVENT AND CLK='1')THEN current_state <= next_state;END IF;END PROCESS REG;LATCH1 : PROCESS(LOCK)BEGIN IF LOCK='1' AND LOCK'EVENT THEN REGL <= D;END IF;END PROCESS;

Q <= REGL;

END behav;單進(jìn)程Moore型有限狀態(tài)機(jī) LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MOORE1 IS PORT(DATAIN:INSTD_LOGIC_VECTOR(1 DOWNTO 0);

CLK,RST : IN STD_LOGIC;

Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END MOORE1;ARCHITECTURE behav OF MOORE1 IS

TYPE ST_TYPE IS(ST0, ST1, ST2, ST3,ST4);

SIGNAL C_ST : ST_TYPE;

BEGIN

PROCESS(CLK,RST)

BEGIN

IF RST ='1' THEN C_ST <= ST0;Q<= “0000”;

ELSIF CLK'EVENT AND CLK='1' THEN

CASE C_ST IS

WHEN ST0 => IF DATAIN =“10” THEN C_ST <= ST1;

ELSE C_ST <= ST0;END IF;

Q <= “1001”;WHEN ST1 => IF DATAIN =“11” THEN C_ST <= ST2;

ELSE C_ST <= ST1;END IF;

Q <= “0101”;WHEN ST2 => IF DATAIN =“01” THEN C_ST <= ST3;

ELSE C_ST <= ST0;END IF;

Q <= “1100”;WHEN ST3 => IF DATAIN =“00” THEN C_ST <= ST4;

ELSE C_ST <= ST2;END IF;

Q <= “0010”;WHEN ST4 => IF DATAIN =“11” THEN C_ST <= ST0;

ELSE C_ST <= ST3;END IF;

Q <= “1001”;WHEN OTHERS => C_ST <= ST0;

END CASE;

END IF;

END PROCESS;END behav;2進(jìn)程Mealy型有限狀態(tài)機(jī)的設(shè)計(jì)

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;ENTITY MEALY1 IS PORT(CLK,DATAIN,RESET:IN STD_LOGIC;

Q:OUTSTD_LOGIC_VECTOR(4DOWNTO 0));END MEALY1;ARCHITECTURE behav OF MEALY1 IS

TYPE states IS(st0, st1, st2, st3,st4);

SIGNAL STX : states;

BEGIN

COMREG : PROCESS(CLK,RESET)BEGIN

IF RESET ='1' THEN STX <= ST0;

ELSIF CLK'EVENT AND CLK = '1' THEN CASE STX IS

WHEN st0 => IF DATAIN = '1' THEN STX <= st1;END IF;

WHEN st1 => IF DATAIN = '0' THEN STX <= st2;END IF;

WHEN st2 => IF DATAIN = '1' THEN STX <= st3;END IF;

WHEN st3 => IF DATAIN = '0' THEN STX <= st4;END IF;

WHEN st4 => IF DATAIN = '1' THEN STX <= st0;END IF;

WHEN OTHERS => STX <= st0;

END CASE;

END IF;END PROCESS COMREG;COM1: PROCESS(STX,DATAIN)BEGIN

CASE STX IS

WHEN st0 => IF DATAIN = '1' THEN Q <= “10000”;

ELSE Q<=“01010”;END IF;

WHEN st1 => IF DATAIN = '0' THEN Q <= “10111”;

ELSE Q<=“10100”;END IF;

WHEN st2 => IF DATAIN = '1' THEN Q <= “10101”;

ELSE Q<=“10011”;END IF;

WHEN st3 => IF DATAIN = '0' THEN Q <= “11011”;

ELSE Q<=“01001”;END IF;

WHEN st4 => IF DATAIN = '1' THEN Q <= “11101”;

ELSE Q<=“01101”;END IF;

WHEN OTHERS => Q<=“00000”;

END CASE;END PROCESS COM1;END behav;狀態(tài)編碼

LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY AD574A IS

PORT(D : IN STD_LOGIC_VECTOR(11 DOWNTO 0);

CLK ,STATUS : IN STD_LOGIC;

OUT4 : OUT STD_LOGIC_VECTOR(3

END CASE;

OUT4 <= current_state(4 DOWNTO 1);END PROCESS COM1;

REG: PROCESS(CLK)

BEGIN

IF(CLK'EVENT AND CLK='1')THEN current_state <= next_state;

END IF;

END PROCESS REG;

LK <= current_state(1);

LATCH1 : PROCESS(LK)

BEGIN

IF LK='1' AND LK'EVENT THEN

REGL <= D;

END IF;

END PROCESS;

Q <= REGL;

END behav;

9章

1、VHDL有那幾種基本的順序語(yǔ)句? 賦值語(yǔ)句;流程控制語(yǔ)句;等待語(yǔ)句;子程序調(diào)用語(yǔ)句;返回語(yǔ)句;空操作語(yǔ)句。

2、什么叫順序語(yǔ)句,它的適用范圍是什么?

執(zhí)行順序與它們的書(shū)寫(xiě)順序基本一致的語(yǔ)句叫順序語(yǔ)句,順序語(yǔ)句只能出現(xiàn)在進(jìn)程和子程序中,子程序包括函數(shù)和過(guò)程。3、VHDL并行語(yǔ)句幾種? 并行信號(hào)賦值語(yǔ)句;進(jìn)程語(yǔ)句;塊語(yǔ)句;條件信號(hào)賦值語(yǔ)句;元件例化語(yǔ)句;生成語(yǔ)句;并行過(guò)程調(diào)用語(yǔ)句。

4、什么叫并行語(yǔ)句? 在結(jié)構(gòu)體的執(zhí)行是同步進(jìn)行的,或者說(shuō)是并行運(yùn)行的,其執(zhí)行方式與書(shū)寫(xiě)的順序無(wú)關(guān)。

5、VHDL中具有屬性的項(xiàng)目: 類型、子類型、過(guò)程、函數(shù)、信號(hào)、變量、常量、實(shí)體、結(jié)構(gòu)體、配置、程序包、元件和語(yǔ)句標(biāo)號(hào)等。

6、綜合器支持的屬性有: LEFT、RIGHT、HIGH、LOW、RANGE、REVERS RANGE、LENGTH、EVENT及STABLE。

端口模式:IN單向只讀

OUT單向輸出

INOUT輸入輸出雙向

BUFFER內(nèi)部回讀輸出信號(hào),反饋 數(shù)據(jù)類型:INTEGER整數(shù)數(shù)據(jù)

BOOLEAN布爾數(shù)據(jù)

STD_LOGIC標(biāo)準(zhǔn)邏輯位數(shù)據(jù)

BIT位數(shù)據(jù) 邏輯操作符:AND與

OR或

NAND與非

NOR或非

XOR異或

XNOR同或

NOT非 數(shù)據(jù)對(duì)象:SIGNAL信號(hào)

VARIABLE變量

CONSTANT常量

7、for_loop語(yǔ)句實(shí)現(xiàn)一個(gè)16位的串行并出移位寄存器

Library IEEE;Use IEEE.std_logic_1164.all;Use IEEE.std_logic_unsigned.all;Use IEEE.std_logic_arith.all;Entity chuan_bing is port(load : in std_logic;

d_in : in std_logic;

d_out:buffer std_logic_vector(15 downto 0);clk :in std_logic);

end chuan_bing;architecture arch of chuan_bing is signal l: std_logic_vector(15 downto 0);

begin process(clk)begin

if(clk'event and clk='1')then

l(0)<=d_in;

if(load='0')then

for i in 14 downto 0 loop

l(i+1)<=l(i);

end loop;

else

d_out<=l;

end if;end if;end process;end arch;

第四篇:EDA第五章復(fù)習(xí)總結(jié)

2.結(jié)構(gòu)體(architecture)部分

67頁(yè)

IN(輸入)、OUT(輸出)是表示信號(hào)的類別;

BIT是表示信號(hào)的類型,BIT是系統(tǒng)定義的類型,即二進(jìn)位類型,信號(hào)只有‘0’和‘1’兩種值;

每個(gè)VHDL語(yǔ)句都是以“;”結(jié)束,包括最后一個(gè)語(yǔ)句也不例外;

VHDL中的“注釋”是以兩個(gè)減號(hào)“--”開(kāi)始的。

二、實(shí)體描述

ENTITY 實(shí)體名 IS PORT(信號(hào)名: 類別信號(hào)類型;??? 信號(hào)名: 類別信號(hào)類型);END 實(shí)體名;同樣類別和類型的信號(hào)可以用逗號(hào)分隔,在一個(gè)語(yǔ)句行中說(shuō)明。

信號(hào)的類別主要有以下4種:

IN:此信號(hào)是輸入信號(hào);

OUT:此信號(hào)是輸出信號(hào),提供給其他的實(shí)體;

:緩沖信號(hào),也是實(shí)體的輸出信號(hào),但是可以被實(shí)體本身的結(jié)構(gòu)體讀入;

INOUT:雙向信號(hào),既可以輸入,也可以輸出。

系統(tǒng)預(yù)定義的信號(hào)類型有:

BIT:二進(jìn)位型,信號(hào)的值只能是‘0’或‘1’。

BIT_VECTOR:二進(jìn)位向量,實(shí)際對(duì)應(yīng)的是二進(jìn)位數(shù)組 ;

BOOLEAN:布爾型,取值只能是true或者false ;

INTEGER:整型,一般都用32位二進(jìn)制數(shù)表示整型數(shù) ;

CHARACTER:字符型,使用8位編碼的ASCII字符。

三、結(jié)構(gòu)體描述

ARCHITECTURE 結(jié)構(gòu)體名 OF 實(shí)體名 IS <聲明部分> BEGIN <描述部分> END 結(jié)構(gòu)體名;對(duì)于一個(gè)實(shí)體來(lái)說(shuō),可以有幾種不同的結(jié)構(gòu)體描述。

5.3 VHDL程序的元素

一、關(guān)鍵字

85頁(yè)

二、標(biāo)識(shí)符的命名

85頁(yè)

三、數(shù)據(jù)類型

91頁(yè) 預(yù)定義:

◆整數(shù)Integer:-(2的31次方-1)—2的31次方-1 ◆實(shí)數(shù)Real:-1.0E+38--+1.0E+38 ◆位Bit:’0’或’1’ ◆位矢量Bit_Vector:”001100” ◆布爾量Boolean:真或假 ◆字符Character:’A’,’C’

◆物理Time:預(yù)定義為時(shí)間,其他如電壓、電流等也為物理型 ◆錯(cuò)誤等級(jí):NOTE、WARNING、ERROR、FAILURE ◆自然數(shù)(Natural)、正整數(shù)(Positive)◆字符串(String),如”morning”

用戶自定義類型:

96頁(yè)

◆枚舉型 可以通過(guò)枚舉類型來(lái)定義信號(hào)的取值。除了最常用的二值邏輯(已經(jīng)預(yù)定義為BIT型),還可以有三值邏輯(信號(hào)有三種取值:‘0’、‘1’和‘z’),九值邏輯等

TYPE枚舉類型名 IS(枚舉型值表);如

TYPE qit_logic IS('0','1','Z','X')

◆STD_ULOGIC 在IEEE1164標(biāo)準(zhǔn)邏輯包中所定義的std_ulogic類型是一種九值邏輯,也是一種枚舉型的數(shù)據(jù)類型:

TYPE std_ulogic IS('U',--Uninitialized 'X',--Forcing Unknown

'0',--Forcing 0 '1',--Forcing 1 'Z',--High Impedance 'W',--Weak Unknown 'L',--Weak 0 'H',--Weak 1 '-' ,--Don't Care);◆數(shù)組類型

TYPE 數(shù)組名 IS ARRAY(范圍)OF 基類型

1,其中的“基類型”是已經(jīng)定義過(guò)的類型,甚至可以是已經(jīng)定義過(guò)的數(shù)組類型。

2,定義中的“范圍”,既表示數(shù)組的大小,也說(shuō)明用什么方式表示數(shù)組元素的下標(biāo)。通常,“范圍”是用整數(shù)表示,也可以用枚舉值表示

3,“范圍”用整數(shù)表示時(shí),整數(shù)范圍可以是遞增表示,也可以是遞減表示: TYPE register IS ARRAY(0 TO 7)OF BIT;

TYPE regist_1 IS ARRAY(7 DOWNTO 1)OF BIT;TYPE rom IS ARRAY(0 TO 7)OF register;

類型實(shí)際上是用register基類型定義的二維數(shù)組,即 TYPE rom IS ARRAY(0 TO 7, 0 TO 7)OF BIT;

數(shù)組的范圍還可以用已經(jīng)定義過(guò)的枚舉型來(lái)表示,如: TYPE light_delay IS ARRAY(traffic_light)OF INTEGER;這里的traffic-light是已經(jīng)定義的枚舉類型,有三個(gè)取值(“red、yellow、green”)。將來(lái)定義的類型為light-delay的數(shù)組,也只會(huì)有三個(gè)元素。

在VHDL中,可以對(duì)數(shù)組的整體賦值:如定義了regist_1類型的數(shù)組信號(hào): TYPE regist_1 IS ARRAY(7 DOWNTO 0)OF BIT;SIGNAL arr_1, arr_2 : regist_1;

以下的賦值操作在VHDL中都是允許的: arr_1 <= “10110110”;arr_2 <=arr_1;◆子類型

97頁(yè) 希望對(duì)某種類型數(shù)據(jù)的范圍加以限制

四、對(duì)象

把信號(hào)、變量、常量和文件統(tǒng)稱為對(duì)象。

89頁(yè)

1.常量的定義

CONSTANT常量名: 類型名 := 常量值;例如:

CONSTANT array_size : INTEGER := 16;CONSTANT gate_delay : TIME := 50ns;

2.變量的定義

變量的定義采用如下的方式:

VARIABLE 變量名: 類型名[:=初值];變量的賦值用“:=”來(lái)表示。變量的賦值沒(méi)有延遲。

3.信號(hào)的定義

信號(hào)定義的方式:

SIGNAL 信號(hào)名: 類型名[:=初值];

信號(hào)的賦值用“<=”表示,有延遲,初始化不同于賦值

信號(hào)的傳送可以規(guī)定延遲,也可以不規(guī)定延遲。但是VHDL規(guī)定,如果沒(méi)有指定信號(hào)傳送的延遲,信號(hào)的傳送也會(huì)有一個(gè)最小延遲Δ。

信號(hào)可以是全局定義的,PORT中定義的信號(hào)就是對(duì)所有的結(jié)構(gòu)體都有效。但是,信號(hào)也可以是局部定義的,在結(jié)構(gòu)體內(nèi)部定義的信號(hào)只對(duì)這個(gè)結(jié)構(gòu)體有效。

五、詞法單元

87頁(yè)

1.注釋

◆以雙連符(--)開(kāi)始直到行末 2.VHDL中的數(shù)字

◆八進(jìn)制:以O(shè)開(kāi)頭,如O”340”

◆二進(jìn)制:以B開(kāi)頭,如B”11100000” ◆十六進(jìn)制:以X開(kāi)頭,如X”E0”

字符

◆文字字符表示形式為:?jiǎn)我?hào)括起來(lái)的ASCII字符,如’A’,’*’

字符串

文字字符串表示形式為:雙引號(hào)括起來(lái)的圖形字符序列。如”how are you”,” ”等 5.位串

◆位串表示形式為:雙引號(hào)括起來(lái)的擴(kuò)展的數(shù)字序列,數(shù)字序列前冠以基數(shù)說(shuō)明符。如:--長(zhǎng)度為八的二進(jìn)制數(shù),等效245 6.VHDL語(yǔ)句中使用的標(biāo)點(diǎn)符號(hào) 分號(hào)(;)是一條語(yǔ)句結(jié)束的標(biāo)志 逗號(hào)(,)是對(duì)象的分隔符 冒號(hào)(:)和原點(diǎn)(.)的用法在每條語(yǔ)句中給出

六、表達(dá)式與運(yùn)算符

102頁(yè)具體的運(yùn)算符

和其他程序設(shè)計(jì)語(yǔ)言中的表達(dá)式很相似,一個(gè)表達(dá)式是由運(yùn)算符把對(duì)象名、文字、函數(shù)調(diào)用及括起來(lái)的表達(dá)式連接起來(lái)的式子。

在一個(gè)VHDL表達(dá)式中,數(shù)據(jù)的類型應(yīng)該相同。如果不同的數(shù)據(jù)類型出現(xiàn)在同一個(gè)表達(dá)式,VHDL不會(huì)進(jìn)行自動(dòng)類型的轉(zhuǎn)換,而只會(huì)給出錯(cuò)誤信息。

支持運(yùn)算符的重載。例如可以對(duì)不同類型的信號(hào)各自進(jìn)行AND運(yùn)算。

七、VHDL的庫(kù)和包

1.VHDL庫(kù)的種類和使用

VHDL的庫(kù)可以分為三種類型:系統(tǒng)庫(kù),IEEE庫(kù)、用戶庫(kù)。

系統(tǒng)庫(kù)是VHDL語(yǔ)言本身預(yù)定義的庫(kù),包括STD庫(kù)和WORK庫(kù)。STD庫(kù)是系統(tǒng)的標(biāo)準(zhǔn)庫(kù),所有系統(tǒng)本身預(yù)定義的類型和有關(guān)的操作都包含在這個(gè)庫(kù)中。WORK庫(kù)是用戶的工作庫(kù)。對(duì)用戶都是透明的,也就是隨時(shí)都可以使用的,不需要在描述中專門說(shuō)明。

IEEE庫(kù)是IEEE認(rèn)可的標(biāo)準(zhǔn)庫(kù),其中包括對(duì)于STD_LOGIC類型以及有關(guān)函數(shù)的定義。

用戶庫(kù)就是VHDL軟件提供廠商開(kāi)發(fā)的庫(kù),應(yīng)該查詢相應(yīng)軟件的說(shuō)明。

2.程序包

一個(gè)VHDL庫(kù)可以包含許多內(nèi)容,并且往往以程序包(Package)的形式組織在一起。

一個(gè)程序包由兩個(gè)部分構(gòu)成:包的說(shuō)明部分(Package Declaration)和包的主體部分(Package Body)。基本的結(jié)構(gòu)如下:

PACKAGE 程序包名IS 程序包說(shuō)明部分 END 程序包名;

PACKAGE BODY 程序包名 IS 程序包主體描述 END 程序包名;說(shuō)明部分可以包括:

常量說(shuō)明;

信號(hào)說(shuō)明,這里說(shuō)明的信號(hào)可以被所有的結(jié)構(gòu)體使用;

類型說(shuō)明;

函數(shù)或過(guò)程說(shuō)明;

部件(Component)說(shuō)明,程序包的主體部分則是對(duì)所包含的函數(shù)、過(guò)程、結(jié)構(gòu)體進(jìn)行具體的描述。

程序包示例

PACKAGE qit_utilities IS TYPE qit IS('0’, ‘1’, ‘Z’, ‘X’);

FUNCTION “AND”(a, b :qit)RETURN qit;

只是聲明,有這個(gè)函數(shù) FUNCTION “OR”(a, b :qit)RETURN qit;END qit_utilities;

PACKAGE BODY qit_utilities IS FUNCTION “AND”(a, b :qit)RETURN qit IS

對(duì)函數(shù)的具體過(guò)程描述 CONSTANT qit_and_table : qit_2d :=(('0', '0', '0', '0'),('0', '1', '1', 'X'),('0', '1', '1', 'X'),('0', 'X', 'X', 'X'));BEGIN RETURN qit_and_table(a, b);END “AND”;FUNCTION “OR”(a, b :qit)RETURN qit IS

函數(shù)的定義方法71頁(yè)例3-3比較 CONSTANT qit_or_table : qit_2d :=(('0', '1', '1', 'X'),('1', '1', '1', '1'),('1', '1', '1', '1'),('X', '1', '1', 'X'));BEGIN RETURN qit_or_table(a, b);END “OR”;END qit_utilities;以上的程序包中定義了一種4值邏輯及其操作。在說(shuō)明部分定義了一種新的信號(hào)類型qit,也就是一種4值邏輯,還說(shuō)明了兩個(gè)函數(shù)AND和OR,用來(lái)對(duì)4值邏輯進(jìn)行“與”“或”運(yùn)算。在BODY部分實(shí)現(xiàn)了這兩個(gè)函數(shù)。

3.庫(kù)和程序包的引用

77頁(yè)

在所有的VHDL源程序都要首先聲明使用什么VHDL庫(kù)。聲明要使用關(guān)鍵字LIBRARY,例如,要使用IEEE庫(kù),使用這個(gè)庫(kù)中的哪個(gè)程序包就應(yīng)該作以下的聲明:

LIBRARY IEEE;

USE 庫(kù)名.程序包名.ALL;

包中所有內(nèi)容可用 USE 庫(kù)名.程序包名.子程序名;

包中選中內(nèi)容可用

4.函數(shù)和過(guò)程

前一頁(yè)程序包的例子

中既可以使用函數(shù),也可以使用過(guò)程(Procedure)。兩者統(tǒng)稱為子程序。函數(shù)的定義包括函數(shù)說(shuō)明和函數(shù)主體兩部分,基本的格式如下:

FUNCTION 函數(shù)名(參數(shù)表)RETURN 類型IS BEGIN 函數(shù)體

END 函數(shù)名;

函數(shù)體中一定要包括RETURN語(yǔ)句。過(guò)程的定義和函數(shù)的定義非常相似:

PROCEDURE過(guò)程名(參數(shù)表)IS BEGIN 過(guò)程體

END 過(guò)程名;

過(guò)程沒(méi)有返回值。

函數(shù)的參數(shù)傳遞總是一個(gè)方向的,也就是傳入到函數(shù),而過(guò)程的參數(shù)傳遞可以是兩個(gè)方向的。具體在過(guò)程執(zhí)行中參數(shù)如何傳遞,取決于參數(shù)的類別(IN、OUT、INOUT等),而對(duì)于函數(shù)參數(shù)的類別,則只能有一種:IN,就是輸入到函數(shù)。

5.4 VHDL程序的描述語(yǔ)句

可以有許多并行處理語(yǔ)句,這些語(yǔ)句的執(zhí)行是可以同時(shí)進(jìn)行的。并行語(yǔ)句主要是信號(hào)傳送語(yǔ)句。傳送時(shí)可以指定傳輸延遲。

如果傳送時(shí)沒(méi)有指定時(shí)延,VHDL會(huì)對(duì)并行處理語(yǔ)句的執(zhí)行加上一個(gè)最小時(shí)延Δ。

一、并行賦值語(yǔ)句

并行賦值語(yǔ)句是最基本的VHDL語(yǔ)句,它的格式是:

信號(hào)名<=表達(dá)式;

信號(hào)名<=表達(dá)式 AFTER 延遲時(shí)間;例5.4 半加器的數(shù)據(jù)流描述。ENTITY half_adder IS PORT(a, b: IN BIT;s, c0: OUT BIT);END half_adder;ARCHITECTURE h_adder OF half_adder IS SIGNAL c, d: BIT;BEGIN

信號(hào)時(shí)非輸入輸出的中間量相c<= a OR b;d<= a NAND b;

當(dāng)于下一階段的輸入和上一階段的輸出? c0<= NOT d;s<= c AND d;END h_adder;

二、條件賦值語(yǔ)句

條件賦值語(yǔ)句也是一種信號(hào)賦值語(yǔ)句,只是賦給信號(hào)的值可以根據(jù)條件的不同而不同。

條件賦值語(yǔ)句的格式如下:

信號(hào)名<= 表達(dá)式1 WHEN 布爾表達(dá)式1 ELSE 表達(dá)式2 WHEN 布爾表達(dá)式2 ELSE ??

表達(dá)式n WHEN 布爾表達(dá)式n ELSE 表達(dá)式;例5.5 用條件賦值語(yǔ)句描述數(shù)據(jù)選擇器。ENTITY mux4_to_1 IS PORT(d0, d1, d2, d3, a, b: IN BIT;y: OUT BIT);

END mux4_to_1;ARCHITECTURE sample_1 OF mux4_to_1 IS

和例5.4比,沒(méi)有需要中間信號(hào) BEGIN y<= d0 WHEN a='0' AND b='0' ELSE d1 WHEN a='0' AND b='1' ELSE d2 WHEN a='1' AND b='0' ELSE d3 WHEN a='1' AND b='1';END sample_1

三,選擇信號(hào)賦值語(yǔ)句

選擇信號(hào)賦值語(yǔ)句可以根據(jù)一個(gè)表達(dá)式的不同取值,給信號(hào)或者信號(hào)數(shù)組賦以不同的結(jié)果。

選擇信號(hào)賦值語(yǔ)句的格式如下:

WITH 表達(dá)式SELECT 信號(hào)名<= 信號(hào)值1 WHEN 表達(dá)式值1, 信號(hào)值2 WHEN 表達(dá)式值2,??

信號(hào)值n WHEN others;例5.6 用信號(hào)選擇語(yǔ)句描述數(shù)據(jù)選擇器。ENTITY mux4_to_1 IS PORT(d0, d1, d2, d3, a, b: IN std_logic;y: OUT std_logic);END mux4_to_1;ARCHITECTURE sample_2 OF mux4_to_1 IS BEGIN WITH a&b SELECT y<= d0 WHEN “00”, d1 WHEN “01”, d2 WHEN “10”, d3 WHEN “11”, 'X' WHEN OTHERS;END sample_2;

5.4.2 順序描述語(yǔ)句

并行信號(hào)傳輸語(yǔ)句主要描述硬件電路或系統(tǒng)中信號(hào)的傳送過(guò)程。同時(shí),VHDL還支持順序描述語(yǔ)句,主要使用于對(duì)電路和系統(tǒng)的性能描述。

順序描述語(yǔ)句的執(zhí)行就和一般程序設(shè)計(jì)語(yǔ)言中語(yǔ)句相似,是按照語(yǔ)句的順序依次執(zhí)行的。前一條語(yǔ)句的結(jié)果會(huì)影響到下一條語(yǔ)句的執(zhí)行。

一、PROCESS語(yǔ)句

132頁(yè)

盡管PROCESS語(yǔ)句本身是并行描述語(yǔ)句,可以和其他并行語(yǔ)句同時(shí)執(zhí)行,但是PROCESS語(yǔ)句內(nèi)部的語(yǔ)句都是順序語(yǔ)句。

PROCESS語(yǔ)句一旦開(kāi)始執(zhí)行,就要依次執(zhí)行其中的順序語(yǔ)句,一直到最后的END PROCESS為止。

語(yǔ)句的格式如下:

PROCESS(信號(hào)1,?,信號(hào)k)

用到的信號(hào) 變量說(shuō)明(定義);其他說(shuō)明;BEGIN 順序語(yǔ)句 ?? 順序語(yǔ)句

END PROCESS;

二、分支語(yǔ)句

兩分支IF語(yǔ)句的格式:

多分支IF語(yǔ)句的格式:

IF 布爾表達(dá)式

IF 布爾表達(dá)式 THEN 順序語(yǔ)句

THEN 順序語(yǔ)句 ELSE 順序語(yǔ)句

ELSIF 布爾表達(dá)式 END IF;

THEN順序語(yǔ)句

ELSE 順序語(yǔ)句 END IF;

例5.7 反向器的順序描述。ENTITY inverter IS PORT(x: IN BIT;y: OUT BIT);END inverter;ARCHITECTURE behave OF inverter IS BEGIN PROCESS(x)

只用到x作為判斷條件 BEGIN IF(x='0')THEN y<=‘1';ELSE y<=‘0';END IF;END PROCESS;END behave;

三、另外一種分支語(yǔ)句CASE語(yǔ)句

CASE語(yǔ)句是從多個(gè)可能的分支中選擇一個(gè)分支進(jìn)行操作。

語(yǔ)句的格式如下:

CASE 表達(dá)式IS

WHEN 值1 => 順序語(yǔ)句1 ??

WHEN 值k => 順序語(yǔ)句k

WHEN OTHERS =>順序語(yǔ)句k+1 END CASE;

例5.8 四選一數(shù)據(jù)選擇器的順序描述。ENTITY mux4_1 IS PORT(a, b, i0, i1, i2, i3: IN BIT;y: OUT BIT);END mux4_1;ARCHITECTURE behave OF mux4_1 IS SIGNAL sel bit_vector(1 DOWNTO 0);BEGIN sel<=b & a;PROCESS(sel, i0, i1, i2, i3)BEGIN CASE sel IS WHEN “00” => y<=i0;WHEN “01” => y<=i1;WHEN “10” => y<=i2;WHEN “11” => y<=i3;END CASE;END PROCESS;END behave

四、循環(huán)語(yǔ)句

中提供了兩種形式的循環(huán)語(yǔ)句:FOR循環(huán)和WHILE循環(huán)。FOR循環(huán)的格式如下:

FOR 變量IN 范圍LOOP 順序語(yǔ)句 ?? 順序語(yǔ)句

END LOOP;

其中的“變量”和“范圍”應(yīng)該有相同的類型。例如變量是整型,范圍可以是一個(gè)整數(shù)范圍。如果變量是枚舉型,則“范圍”要限制在枚舉類型所定義的取值范圍內(nèi)。WHILE循環(huán)的格式如下:

WHILE 布爾表達(dá)式LOOP 順序語(yǔ)句 ??

順序語(yǔ)句

END LOOP;

循環(huán)中的布爾表達(dá)式可以是邏輯表達(dá)式或者關(guān)系表達(dá)式。在FOR循環(huán)或者WHILE循環(huán)中都可以使用NEXT語(yǔ)句來(lái)結(jié)束本次循環(huán),用EXIT語(yǔ)句來(lái)結(jié)束循環(huán),到下一條順序語(yǔ)句繼續(xù)執(zhí)行。它們的格式基本相同: NEXT WHEN 布爾表達(dá)式;EXIT WHEN 布爾表達(dá)式;

5.4.3 VHDL的描述風(fēng)格

在VHDL中對(duì)這一類的描述稱為“性能”描述(行為描述),性能描述中一定有PROCESS語(yǔ)句。

VHDL 還有另一種描述,稱為“結(jié)構(gòu)”描述。

1.性能描述(行為描述)

這種描述完全是從與非門輸入和輸出的邏輯關(guān)系出發(fā),對(duì)與非門性能的一種描述。2.數(shù)據(jù)流描述(RTL描述)

建立在并行信號(hào)賦值語(yǔ)句基礎(chǔ)上。當(dāng)語(yǔ)句中任意一個(gè)輸入信號(hào)的值發(fā)生改變時(shí),賦值語(yǔ)句就被激活,從而認(rèn)為數(shù)據(jù)從一個(gè)設(shè)計(jì)中“流入”,然后又“流出” 3.結(jié)構(gòu)描述語(yǔ)句

結(jié)構(gòu)描述是VHDL的三種描述方法之一。

結(jié)構(gòu)描述的基礎(chǔ)是部件:COMPONENT。所使用的部件應(yīng)該是事先已經(jīng)定義過(guò)的。可以直接取自某個(gè)VHDL庫(kù),也可以是用戶自定義的存放在WORK庫(kù)的部件。

所用部件所在的庫(kù)或程序包,必須在程序開(kāi)始前聲明。

在結(jié)構(gòu)描述中所使用的部件必須首先聲明。部件的聲明在ARCHTECTURE的聲明部分進(jìn)行。

部件聲明語(yǔ)句(Component Declaration)的格式如下:

COMPONENT 部件名

PORT(信號(hào)名: 類別 信號(hào)類型;??

信號(hào)名: 類別 信號(hào)類型);END COMPONENT;部件描述語(yǔ)句

例5.9 全加器的結(jié)構(gòu)描述。

使用前面已經(jīng)定義過(guò)的半加器 ENTITY full_adder IS PORT(x, y, cin: IN BIT;sum, carry: OUT BIT);END full_adder;ARCHITECTURE struct OF full_adder IS COMPONENT half_adder

部件聲明 PORT(a, b: IN BIT;s, c0: OUT BIT);END COMPONENT;SIGNAL h1_s, h1_c, h2_c: BIT;BEGIN h1: half_adder PORT MAP(x, y, h1_s, h1_c);

部件描述

(2)下降沿描述: 其物理意義是指時(shí)鐘信號(hào)的邏輯值是從‘1’跳變到‘0’

描述1:

PROCESS(clk)BEGIN IF(clk’EVENT AND clk = ‘0’)THEN ┇

END PROCESS;

PROCESS(clk)BEGIN WAIT UNTIL clk = ┇

END PROCESS; 描述2:

0’; ‘

第五篇:EDA(解答題)EDA期末總結(jié)8

1章

ENTITY AD574 IS STD_LOGIC;并行信號(hào)賦值語(yǔ)句;進(jìn)程語(yǔ)句;塊語(yǔ)句;條件信號(hào)賦值語(yǔ)句;元件例化語(yǔ)

PORT(D :IN STD_LOGIC_VECTOR(11

Q : OUT

1、常用的硬件描述語(yǔ)言有VHDL、Verilog、ABEL 句;生成語(yǔ)句;并行過(guò)程調(diào)用語(yǔ)句。DOWNTO 0);

STD_LOGIC_VECTOR(4 DOWNTO 0));

2、VHDL自頂向下的設(shè)計(jì)流程:

4、什么叫并行語(yǔ)句?

CLK ,STATUS : IN STD_LOGIC;--狀END MEALY1;1.設(shè)計(jì)說(shuō)明書(shū)2.建立VHDL行為模型3.VHDL行為仿真4.VHDL-RTL在結(jié)構(gòu)體的執(zhí)行是同步進(jìn)行的,或者說(shuō)是并行運(yùn)行的,其執(zhí)行方式

ARCHITECTURE behav OF MEALY1 IS 態(tài)機(jī)時(shí)鐘CLK,AD574狀態(tài)信號(hào)STATUS 級(jí)建模 與書(shū)寫(xiě)的順序無(wú)關(guān)。

TYPE states IS(st0, st1, st2, st3,st4);

LOCK0

: OUT STD_LOGIC;5.前端功能仿真6.邏輯綜合7.測(cè)試向量生成8.功能仿真9.結(jié)

5、VHDL中具有屬性的項(xiàng)目:

SIGNAL STX : states;

--內(nèi)部鎖存信號(hào)LOCK的測(cè)試信號(hào) 構(gòu)綜合10.門級(jí)時(shí)序仿真11.硬件測(cè)試12.設(shè)計(jì)完成 類型、子類型、過(guò)程、函數(shù)、信號(hào)、變量、常量、實(shí)體、結(jié)構(gòu)體、BEGIN

CS,A0,RC,K12X8 : OUT STD_LOGIC;2章 配置、程序包、元件和語(yǔ)句標(biāo)號(hào)等。

COMREG : PROCESS(CLK,RESET)--AD574控制信號(hào)

BEGIN--決定轉(zhuǎn)換狀態(tài)的進(jìn)程 1.一般ASIC設(shè)計(jì)的流程:

6、綜合器支持的屬性有:

Q : OUT STD_LOGIC_VECTOR(11

IF RESET ='1' THEN 系統(tǒng)規(guī)格說(shuō)明:系統(tǒng)劃分:邏輯設(shè)計(jì)與綜合:綜合后仿真:版圖設(shè)LEFT、RIGHT、HIGH、LOW、RANGE、REVERS RANGE、LENGTH、DOWNTO 0));--鎖存數(shù)據(jù)輸出

STX <= ST0;計(jì):版圖驗(yàn)證:參數(shù)提取與后仿真:制版、流片:芯片測(cè)試 EVENT及STABLE。END AD574;

ELSIF CLK'EVENT AND CLK = '1'

2、常用EDA工具: ARCHITECTURE behav OF AD574 IS

THEN 設(shè)計(jì)輸入編輯器:HDL綜合器:仿真器:適配器(或布局布線器):TYPE states IS(st0, st1, st2, st3,st4);

CASE STX IS

SIGNAL current_state, next_state: 下載器

WHEN st0 => IF DATAIN = '1' states :=st0;

3、IP核:軟IP硬IP固IP THEN STX <= st1;END IF;

SIGNAL REGL : 3章

WHEN st1 => IF DATAIN = '0' STD_LOGIC_VECTOR(11 DOWNTO 0);

1、CPLD和FPGA的主要區(qū)別: THEN STX <= st2;END IF;

SIGNAL LOCK : STD_LOGIC;

WHEN st2 => IF DATAIN = '1' 結(jié)構(gòu)上的不同:集成度的不同:CPLD:500~50000門;FPGA:1K~10M門:應(yīng)用范圍不同:CPLD邏輯能力強(qiáng)而寄存器少(1K左右),適用于控制密集型系統(tǒng);FPGA邏輯能力較弱但寄存器多(100多K),適用于數(shù)據(jù)密集型系統(tǒng)。使用方法不同

2、FPGA和CPLD的選用(1)CPLD的選用: 邏輯密集型:中小規(guī)模(1000~50000):免費(fèi)軟件支持;編程數(shù)據(jù)不丟失,電路簡(jiǎn)單;ISP特性,編程加密;布線延遲固定,時(shí)序特性穩(wěn)定;(2)FPGA選用: 數(shù)據(jù)密集型;大規(guī)模設(shè)計(jì)(5000~數(shù)百萬(wàn)門);SOC設(shè)計(jì):ASIC的設(shè)計(jì)仿真:布線靈活,但時(shí)序特性不穩(wěn)定;需用專用的ROM進(jìn)行數(shù)據(jù)配置 4章

1、EDA綜合工具提供的數(shù)據(jù)類型為布爾型(Boolean)、位型(Bit)、位矢量型(Bit-Vector)和整數(shù)型(Interger)。

2、VHDL語(yǔ)言描述結(jié)構(gòu)體功能有3種方法:行為描述法:數(shù)據(jù)流描述法;結(jié)構(gòu)描述法

3、VHDL的庫(kù):STD庫(kù)和WORK庫(kù):IEEE庫(kù)

4、clock’EVENT and clock=‘1檢測(cè)上升沿;clock’EVENT and clock=‘0’檢測(cè)下降沿。

5、簡(jiǎn)述實(shí)體、端口概念,端口種類及INPUT與BUFFER的異同。以關(guān)鍵詞ENTITY引導(dǎo),END ENTITY....結(jié)束的語(yǔ)句部分成為實(shí)體。端口種類4種:IN、OUT、INOUT、BUFFER。INOUT定義的通道確定為輸入輸出雙向端口;、BUFFER在需要輸入數(shù)據(jù)是時(shí),只允許內(nèi)不回讀輸出的信號(hào)。

6、結(jié)構(gòu)體 以關(guān)鍵詞ARCHITECTURE引導(dǎo),END 結(jié)束的語(yǔ)句部分成為結(jié)構(gòu)體。

7、端口: INOUT定義的通道為輸入輸出雙向端口,可以由外向內(nèi)或由內(nèi)向外傳輸數(shù)據(jù),而B(niǎo)UFFER定義的通道雖然也是輸入輸出端口,但它回讀的信號(hào)不能從外部輸入,而是由內(nèi)部產(chǎn)生,向外輸出的信號(hào)。IN定義的通道為單向只讀模式,規(guī)定數(shù)據(jù)只能通過(guò)此端口被讀入實(shí)體中 OUT定義的通道為單向輸出模式,規(guī)定數(shù)據(jù)只能通過(guò)此端口從實(shí)體向外流出,或者說(shuō)可以將實(shí)體中的數(shù)據(jù)向此端口賦值。INOUT定義的通道確定為輸入輸出雙向端口,可以由外向內(nèi)或由內(nèi)向外傳輸數(shù)據(jù)。6章

1、說(shuō)明用原理圖輸入方法設(shè)計(jì)電路的詳細(xì)流程 1.為一項(xiàng)工程設(shè)計(jì)建立文件夾 2.輸入設(shè)計(jì)項(xiàng)目和存盤(pán) 3.將設(shè)計(jì)項(xiàng)目設(shè)置成工程文件 4.選擇目標(biāo)器件并編譯 5時(shí)序仿真和包裝入庫(kù) 6.設(shè)計(jì)頂層文件 7章

1、為什么要使用狀態(tài)機(jī) 有限狀態(tài)機(jī)克服了純硬件數(shù)字系統(tǒng)順序方式控制不靈活的缺點(diǎn)。狀態(tài)機(jī)的結(jié)構(gòu)模式相對(duì)簡(jiǎn)單。狀態(tài)機(jī)容易構(gòu)成性能良好的同步時(shí)序邏輯模塊。狀態(tài)機(jī)的VHDL表述豐富多樣。在高速運(yùn)算和控制方面,狀態(tài)機(jī)更有其巨大的優(yōu)勢(shì)。就可靠性而言,狀態(tài)機(jī)的優(yōu)勢(shì)也是十分明顯的。

2、時(shí)序進(jìn)程將次態(tài)信號(hào)送到現(xiàn)態(tài)信號(hào)

3、Moore型輸出僅與當(dāng)前狀態(tài)有關(guān),Mealy型輸出是當(dāng)前狀態(tài)與所有輸入信號(hào)

FSM:s_machine current_state clkPROCESSPROCESSREGCOMreset next_statecomb_outputsstate_inputs

LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY s_machine IS

PORT(clk,reset

: IN STD_LOGIC;

state_inputs : IN STD_LOGIC_VECTOR(0 TO 1);

comb_outputs : OUT INTEGER RANGE 0 TO 15);END s_machine;ARCHITECTURE behv OF s_machine IS

TYPE FSM_ST IS(s0, s1, s2, s3);

SIGNAL current_state, next_state: FSM_ST;BEGIN REG: PROCESS(reset,clk)

BEGIN

IF reset = '1' THEN

current_state <= s0;

ELSIF clk='1' AND clk'EVENT THEN

current_state <= next_state;

END IF;

END PROCESS;

COM:PROCESS(current_state, state_Inputs)BEGIN

CASE current_state IS

WHEN s0 => comb_outputs<= 5;

IF state_inputs = “00” THEN next_state<=s0;

ELSE next_state<=s1;

END IF;

WHEN s1 => comb_outputs<= 8;

IF state_inputs = “00” THEN next_state<=s1;

ELSE next_state<=s2;

END IF;

WHEN s2 =>

comb_outputs<= 12;

IF state_inputs = “11” THEN next_state <= s0;

ELSE next_state <= s3;

END IF;

WHEN s3 => comb_outputs <= 14;

IF state_inputs = “11” THEN next_state <= s3;

ELSE next_state <= s0;

END IF;

END case;

END PROCESS;

END behv;

3、三進(jìn)程有限狀態(tài)機(jī) LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;BEGIN

K12X8 <= '1';

LOCK0 <= LOCK;

COM1: PROCESS(current_state,STATUS)--決定轉(zhuǎn)換狀態(tài)的進(jìn)程 BEGIN

CASE current_state IS

WHEN st0 => next_state <= st1;

WHEN st1 => next_state <= st2;

WHEN st2 => IF(STATUS='1')THEN next_state <= st2;

ELSE

next_state <= st3;

END IF;

WHEN st3=>

next_state <= st4;

WHEN st4=>

next_state <= st0;

WHEN OTHERS => next_state <= st0;

END CASE;

END PROCESS COM1;COM2: PROCESS(current_state)--輸出控制信號(hào)的進(jìn)程

BEGIN

CASE current_state IS

WHEN st0=> CS<='1';A0<='1';RC<='1';LOCK<='0';--初始化

WHEN st1=> CS<='0';A0<='0';RC<='0';LOCK<='0';--啟動(dòng)12位轉(zhuǎn)換

WHEN st2=> CS<='0';A0<='0';RC<='0';LOCK<='0';--等待轉(zhuǎn)換 WHEN st3=> CS<='0';A0<='0';RC<='1';LOCK<='0';--12位并行輸出有效

WHEN st4=> CS<='0';A0<='0';RC<='1';LOCK<='1';--鎖存數(shù)據(jù)

WHEN OTHERS=>CS<='1';A0<='1';RC<='1';LOCK<='0';--其它情況返回初始態(tài)

END CASE;

END PROCESS COM2;

REG: PROCESS(CLK)--時(shí)序進(jìn)程

BEGIN

IF(CLK'EVENT AND CLK='1')THEN current_state <= next_state;

END IF;

END PROCESS REG;

LATCH1 : PROCESS(LOCK)--數(shù)據(jù)鎖存器進(jìn)程

BEGIN

IF LOCK='1' AND LOCK'EVENT THEN

REGL <= D;

END IF;

END PROCESS;

Q <= REGL;END behav;

5、單進(jìn)程有限狀態(tài)機(jī) LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MOORE1 IS

PORT(DATAIN :IN STD_LOGIC_VECTOR(1 DOWNTO 0);

CLK,RST : IN STD_LOGIC;

Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END MOORE1;ARCHITECTURE behav OF MOORE1 IS

TYPE ST_TYPE IS(ST0, ST1, ST2, ST3,ST4);

SIGNAL C_ST : ST_TYPE;

BEGIN

PROCESS(CLK,RST)

BEGIN

IF RST ='1' THEN C_ST <= ST0;Q<= “0000”;

ELSIF CLK'EVENT AND CLK='1' THEN

CASE C_ST IS

WHEN ST0 => IF DATAIN =“10” THEN C_ST <= ST1;

ELSE C_ST <= ST0;END IF;

Q <= “1001”;

WHEN ST1 => IF DATAIN =“11” THEN C_ST <= ST2;

ELSE C_ST <= ST1;END IF;

Q <= “0101”;

WHEN ST2 => IF DATAIN =“01” THEN C_ST <= ST3;

ELSE C_ST <= ST0;END IF;

Q <= “1100”;

WHEN ST3 => IF DATAIN =“00” THEN C_ST <= ST4;

ELSE C_ST <= ST2;END IF;

Q <= “0010”;

WHEN ST4 => IF DATAIN =“11” THEN C_ST <= ST0;

ELSE C_ST <= ST3;END IF;

Q <= “1001”;

WHEN OTHERS => C_ST <= ST0;

END CASE;

END IF;

END PROCESS;END behav;

6、Mealy型有限狀態(tài)機(jī)的設(shè)計(jì)

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;ENTITY MEALY1 IS PORT(CLK ,DATAIN,RESET : IN THEN STX <= st3;END IF;

WHEN st3=> IF DATAIN = '0' THEN STX <= st4;END IF;

WHEN st4=> IF DATAIN = '1'

THEN STX <= st0;END IF;

WHEN OTHERS => STX <= st0;

END CASE;

END IF;

END PROCESS COMREG;COM1: PROCESS(STX,DATAIN)BEGIN--輸出控制信號(hào)的進(jìn)程

CASE STX IS

WHEN st0 => IF DATAIN = '1' THEN

Q <= “10000”;

ELSE Q<=“01010”;

END IF;

WHEN st1 => IF DATAIN = '0' THEN Q <= “10111”;

ELSE Q<=“10100”;

END IF;

WHEN st2 => IF DATAIN = '1' THEN Q <= “10101”;

ELSE Q<=“10011”;

END IF;

WHEN st3=> IF DATAIN = '0' THEN Q <= “11011”;

ELSE Q<=“01001”;

END IF;

WHEN st4=> IF DATAIN = '1' THEN Q <= “11101”;

ELSE Q<=“01101”;

END IF;

WHEN OTHERS => Q<=“00000”;

END CASE;

END PROCESS COM1;

END behav;

7、狀態(tài)編碼

LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY AD574A IS

PORT(D : IN

STD_LOGIC_VECTOR(11 DOWNTO 0);

CLK ,STATUS : IN STD_LOGIC;

OUT4 : OUT

STD_LOGIC_VECTOR(3 DOWNTO 0);

Q : OUT STD_LOGIC_VECTOR(11 DOWNTO 0));END AD574A;ARCHITECTURE behav OF AD574A IS SIGNAL current_state, next_state: STD_LOGIC_VECTOR(4 DOWNTO 0);

CONSTANT st0 : STD_LOGIC_VECTOR(4 DOWNTO 0):= “11100”;

CONSTANT st1 : STD_LOGIC_VECTOR(4 DOWNTO 0):= “00001”;

CONSTANT st2 : STD_LOGIC_VECTOR(4 DOWNTO 0):= “00000”;

CONSTANT st3 : STD_LOGIC_VECTOR(4 DOWNTO 0):= “00100”;

CONSTANT st4 : STD_LOGIC_VECTOR(4 DOWNTO 0):= “00110”;

SIGNAL REGL

: STD_LOGIC_VECTOR(11 DOWNTO 0);

SIGNAL LK

: STD_LOGIC;

BEGIN

COM1: PROCESS(current_state,STATUS)

--決定轉(zhuǎn)換狀態(tài)的進(jìn)程 BEGIN

CASE current_state IS

WHEN st0 => next_state <= st1;

WHEN st1 => next_state <= st2;

WHEN st2 => IF(STATUS='1')THEN next_state <= st2;

ELSE

next_state <= st3;

END IF;

WHEN st3=> next_state <= st4;

WHEN st4=> next_state <= st0;

WHEN OTHERS => next_state <= st0;

END CASE;

OUT4 <= current_state(4 DOWNTO 1);END PROCESS COM1;

REG: PROCESS(CLK)--時(shí)序進(jìn)程

BEGIN

IF(CLK'EVENT AND CLK='1')THEN

current_state <= next_state;

END IF;

END PROCESS REG;

LK <= current_state(1);

LATCH1 : PROCESS(LK)--數(shù)據(jù)鎖存器進(jìn)程

BEGIN

IF LK='1' AND LK'EVENT THEN

REGL <= D;

END IF;

END PROCESS;

Q <= REGL;

END behav;9章

1、VHDL有那幾種基本的順序語(yǔ)句? 賦值語(yǔ)句;流程控制語(yǔ)句;等待語(yǔ)句;子程序調(diào)用語(yǔ)句;返回語(yǔ)句;空操作語(yǔ)句。

2、什么叫順序語(yǔ)句,它的適用范圍是什么? 執(zhí)行順序與它們的書(shū)寫(xiě)順序基本一致的語(yǔ)句叫順序語(yǔ)句,順序語(yǔ)句只能出現(xiàn)在進(jìn)程和子程序中,子程序包括函數(shù)和過(guò)程。3、VHDL并行語(yǔ)句幾種?

下載EDA期末復(fù)習(xí)總結(jié)1word格式文檔
下載EDA期末復(fù)習(xí)總結(jié)1.doc
將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    EDA總結(jié)

    一、有關(guān)概念 1. ASIC全稱:專用集成電路; 2. FPGA:現(xiàn)場(chǎng)可編程門陣列 3. CPLD:復(fù)雜可編程邏輯器件; 4. VHDL全稱:硬件描述語(yǔ)言; 5. 全定制; 6. 半定制; 7. IP核;IP就是知識(shí)產(chǎn)權(quán)核或知識(shí)......

    EDA期末考試題大全[5篇范例]

    附帶: 一.問(wèn)答題 1信號(hào)賦值語(yǔ)句在什么情況下作為并行語(yǔ)句?在什么情況下作順序語(yǔ)句?信號(hào)賦值和變量賦值符號(hào)分別是什么??jī)煞N賦值符號(hào)有什么區(qū)別? ? 信號(hào)賦值語(yǔ)句在進(jìn)程外作并行語(yǔ)句,......

    EDA基礎(chǔ)總結(jié)

    EDA基礎(chǔ)總結(jié) 綜述部分 1. EDA的中文全稱為電子設(shè)計(jì)自動(dòng)化,英文全名為Electronic Design Automation。 2. EDA平臺(tái)常用的兩種輸入電路的方法是:電路原理圖輸入法、HDL輸入法。......

    EDA基礎(chǔ)知識(shí)總結(jié)

    VHDL有如下特點(diǎn):①支持從系統(tǒng)級(jí)到邏輯門級(jí)電路的描述;②具有很強(qiáng)的硬件描述能力;③設(shè)計(jì)技術(shù)齊全、方法靈活、支持廣泛;④對(duì)設(shè)計(jì)描述具有相對(duì)的獨(dú)立性;⑤具有很強(qiáng)的移植能力;⑥易于......

    EDA總結(jié)題

    名詞解釋: EDA:electronic design auto mation 電子設(shè)計(jì)自動(dòng)化 PLD:programmable logic device 可編程邏輯器件 LDPLD:低密度可編程邏輯器件 HDPLD:高密度可編程邏輯器件 PROM:pro......

    高中期末復(fù)習(xí)總結(jié)

    高中期末復(fù)習(xí)總結(jié) 復(fù)習(xí)的過(guò)程是掌握知識(shí)的高級(jí)階段, 高中期末復(fù)習(xí)總結(jié)有哪些?以下是小編為您整理的相關(guān)資料,歡迎閱讀! 【篇一:高中期末復(fù)習(xí)總結(jié)】這個(gè)學(xué)期結(jié)束了。在這個(gè)學(xué)期里,......

    銀行信貸期末復(fù)習(xí)總結(jié)

    一、名詞解釋 1、銀行信貸:指以銀行為中介、以償還計(jì)息為條件的貨幣借貸 2、貸款展期:是指貸款人因故使借款未能按合同約定期現(xiàn)償還而要求繼續(xù)使用 貸款 3、審貸分離制度:貸款......

    初一期末復(fù)習(xí)總結(jié)[精選合集]

    【知識(shí)梳理】 I. 重點(diǎn)短語(yǔ) 1. Sit down2. on duty 3. in English 4. have a seat 5. at home 6. look like 7. look at8. have a look9. come on10. at work11. at school12......

主站蜘蛛池模板: 国产96在线 | 欧美| 无码人妻精品一区二区三| 久久久久久人妻精品一区二区三区| 99视频偷窥在线精品国自产拍| 狂猛欧美激情性xxxx大豆行情| 99久久国产露脸精品竹菊传媒| 少妇人妻激情乱人伦| 国产精品无码一本二本三本色| 99精品国产高清一区二区麻豆| 无码人妻精品丰满熟妇区| 国产婷婷丁香五月缴情成人网| 日韩av一中美av一中文字慕| 伊人久久大香线蕉av波多野结衣| 熟妇高潮精品一区二区三区| 国产成人精品午夜二三区波多野| 国产十八禁在线观看免费| 久久婷婷六月综合色液啪| 亚洲综合激情另类专区| 在线 欧美 中文 亚洲 精品| 射精专区一区二区朝鲜| 欧美成人精品高清视频在线观看| 18?????网站"91| 人妻丰满熟妇av无码区免| 无码a∨高潮抽搐流白浆| 伊人亚洲综合网色av另类| 亚洲熟妇av一区二区三区下载| 精品一区二区ww| 免费欧洲毛片a级视频老妇女| 精品国产肉丝袜在线拍国语| 富婆如狼似虎找黑人老外| 亚洲精品无码专区在线观看| 久久精品成人无码观看不卡| 大伊香蕉精品一区视频在线| 猫咪免费人成网站在线观看| 与子敌伦刺激对白播放的优点| 亚洲秘?无码一区二区三区欧美| 久久婷婷五月综合国产尤物app| 国内精品久久久久久久影视麻豆| 国产亚洲精品久久久久久久久动漫| 国内精品国产三级国产av| 国产中年熟女高潮大集合|