欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      EDA第五章復(fù)習(xí)總結(jié)[5篇范文]

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

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

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

      67頁

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

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

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

      VHDL中的“注釋”是以兩個減號“--”開始的。

      二、實(shí)體描述

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

      信號的類別主要有以下4種:

      IN:此信號是輸入信號;

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

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

      INOUT:雙向信號,既可以輸入,也可以輸出。

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

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

      BIT_VECTOR:二進(jìn)位向量,實(shí)際對應(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)體名;對于一個實(shí)體來說,可以有幾種不同的結(jié)構(gòu)體描述。

      5.3 VHDL程序的元素

      一、關(guān)鍵字

      85頁

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

      85頁

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

      91頁 預(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ù)定義為時間,其他如電壓、電流等也為物理型 ◆錯誤等級:NOTE、WARNING、ERROR、FAILURE ◆自然數(shù)(Natural)、正整數(shù)(Positive)◆字符串(String),如”morning”

      用戶自定義類型:

      96頁

      ◆枚舉型 可以通過枚舉類型來定義信號的取值。除了最常用的二值邏輯(已經(jīng)預(yù)定義為BIT型),還可以有三值邏輯(信號有三種取值:‘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)定義過的類型,甚至可以是已經(jīng)定義過的數(shù)組類型。

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

      3,“范圍”用整數(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)定義過的枚舉型來表示,如: TYPE light_delay IS ARRAY(traffic_light)OF INTEGER;這里的traffic-light是已經(jīng)定義的枚舉類型,有三個取值(“red、yellow、green”)。將來定義的類型為light-delay的數(shù)組,也只會有三個元素。

      在VHDL中,可以對數(shù)組的整體賦值:如定義了regist_1類型的數(shù)組信號: 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頁 希望對某種類型數(shù)據(jù)的范圍加以限制

      四、對象

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

      89頁

      1.常量的定義

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

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

      2.變量的定義

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

      VARIABLE 變量名: 類型名[:=初值];變量的賦值用“:=”來表示。變量的賦值沒有延遲。

      3.信號的定義

      信號定義的方式:

      SIGNAL 信號名: 類型名[:=初值];

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

      信號的傳送可以規(guī)定延遲,也可以不規(guī)定延遲。但是VHDL規(guī)定,如果沒有指定信號傳送的延遲,信號的傳送也會有一個最小延遲Δ。

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

      五、詞法單元

      87頁

      1.注釋

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

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

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

      字符

      ◆文字字符表示形式為:單引號括起來的ASCII字符,如’A’,’*’

      字符串

      文字字符串表示形式為:雙引號括起來的圖形字符序列。如”how are you”,” ”等 5.位串

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

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

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

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

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

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

      七、VHDL的庫和包

      1.VHDL庫的種類和使用

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

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

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

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

      2.程序包

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

      一個程序包由兩個部分構(gòu)成:包的說明部分(Package Declaration)和包的主體部分(Package Body)?;镜慕Y(jié)構(gòu)如下:

      PACKAGE 程序包名IS 程序包說明部分 END 程序包名;

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

      常量說明;

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

      類型說明;

      函數(shù)或過程說明;

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

      程序包示例

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

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

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

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

      對函數(shù)的具體過程描述 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頁例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值邏輯及其操作。在說明部分定義了一種新的信號類型qit,也就是一種4值邏輯,還說明了兩個函數(shù)AND和OR,用來對4值邏輯進(jìn)行“與”“或”運(yùn)算。在BODY部分實(shí)現(xiàn)了這兩個函數(shù)。

      3.庫和程序包的引用

      77頁

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

      LIBRARY IEEE;

      USE 庫名.程序包名.ALL;

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

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

      4.函數(shù)和過程

      前一頁程序包的例子

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

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

      END 函數(shù)名;

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

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

      END 過程名;

      過程沒有返回值。

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

      5.4 VHDL程序的描述語句

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

      如果傳送時沒有指定時延,VHDL會對并行處理語句的執(zhí)行加上一個最小時延Δ。

      一、并行賦值語句

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

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

      信號名<=表達(dá)式 AFTER 延遲時間;例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

      信號時非輸入輸出的中間量相c<= a OR b;d<= a NAND b;

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

      二、條件賦值語句

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

      條件賦值語句的格式如下:

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

      表達(dá)式n WHEN 布爾表達(dá)式n ELSE 表達(dá)式;例5.5 用條件賦值語句描述數(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比,沒有需要中間信號 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

      三,選擇信號賦值語句

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

      選擇信號賦值語句的格式如下:

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

      信號值n WHEN others;例5.6 用信號選擇語句描述數(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 順序描述語句

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

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

      一、PROCESS語句

      132頁

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

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

      語句的格式如下:

      PROCESS(信號1,?,信號k)

      用到的信號 變量說明(定義);其他說明;BEGIN 順序語句 ?? 順序語句

      END PROCESS;

      二、分支語句

      兩分支IF語句的格式:

      多分支IF語句的格式:

      IF 布爾表達(dá)式

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

      THEN 順序語句 ELSE 順序語句

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

      THEN順序語句

      ELSE 順序語句 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;

      三、另外一種分支語句CASE語句

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

      語句的格式如下:

      CASE 表達(dá)式IS

      WHEN 值1 => 順序語句1 ??

      WHEN 值k => 順序語句k

      WHEN OTHERS =>順序語句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)語句

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

      FOR 變量IN 范圍LOOP 順序語句 ?? 順序語句

      END LOOP;

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

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

      順序語句

      END LOOP;

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

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

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

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

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

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

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

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

      結(jié)構(gòu)描述的基礎(chǔ)是部件:COMPONENT。所使用的部件應(yīng)該是事先已經(jīng)定義過的??梢灾苯尤∽阅硞€VHDL庫,也可以是用戶自定義的存放在WORK庫的部件。

      所用部件所在的庫或程序包,必須在程序開始前聲明。

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

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

      COMPONENT 部件名

      PORT(信號名: 類別 信號類型;??

      信號名: 類別 信號類型);END COMPONENT;部件描述語句

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

      使用前面已經(jīng)定義過的半加器 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)下降沿描述: 其物理意義是指時鐘信號的邏輯值是從‘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復(fù)習(xí)總結(jié)

      一.名詞解釋

      EDA

      電子自動化設(shè)計

      electronic design automation FPGA

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

      field programmable gate array CPLD

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

      特定用途集成電路

      application specific integrated circuit IP

      知識產(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ù)字信號處理器

      digital signal processor MCU

      微程序控制器

      micro control unit HDL

      硬件表述語言

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

      very high speed integrated circuit hardware description language

      二.簡答題

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

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

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

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

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

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

      6.仿真過程:行為級仿真,RTL仿真,門級仿真,后仿真。

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

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

      2)自動化

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

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

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

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

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

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

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

      特點(diǎn):

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

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

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

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

      10.VHDL特點(diǎn):

      1)通用型好,適用面廣

      2)重用性好

      3)可靠性好

      4)以行為級描述見長。

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

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

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

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

      三者的價值:

      從FPGA角度看固核最有價值

      從ASIC角度看硬核最有價值

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

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

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

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

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

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

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

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

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

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

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

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

      16.并行信號賦值語句:一般信號賦值,條件信號賦值,選擇信號賦值。

      17.什么是EDA?

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

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

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

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

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

      信號賦值語句符號為“<=” 變量賦值符號位”:=”

      用于信號賦值動作,不立即生效

      用于變量賦值動作,會立即生效

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

      1)用圖形化界面加激勵(或手動測試加激勵)方法簡單,常用于初學(xué)者或簡單的小程序仿真。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      Linkage:鏈接端口,無指定方向,可以與任意方向信號鏈接。

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

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

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

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

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

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

      26.信號延時有哪幾種?它們有何異同? 信號延時:

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

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

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

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

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

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

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

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

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

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

      29.什么是層次化?

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

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

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

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

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

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

      用VHDL描述時序電路:必須使用到進(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ǔ)丁太 ‘-’無關(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ī)的輸入無關(guān)。

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

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

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

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

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

      不完整IF語句形成時序邏輯電路,完整IF語句形成組合邏輯電路。

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

      第三章VHDL的基礎(chǔ)

      3.1 VHDL基本語法

      實(shí)體:描述器件的端口構(gòu)成及信號端口的基本性質(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 [說明語句] ??定義或說明數(shù)據(jù)對象、數(shù)據(jù)類型、元件調(diào)用聲明 begin(功能表述語句)end architecture arch_name;

      一個可綜合的、完整的VHDL程序結(jié)構(gòu)必須包含實(shí)體和結(jié)構(gòu)體兩個最基本的語言結(jié)構(gòu)。把一個完整的可綜合的VHDL程序設(shè)計稱為設(shè)計實(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ù)類型。

      賦值符號“<=”:

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

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

      例如s=‘0’,“=”沒有賦值的含義,只是一種數(shù)據(jù)比較符號。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。

      條件語句:用IF_THEN_ELSE表示VHDL順序語句。

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

      WHEN_ELSE 條件信號賦值語句:一種并行賦值語句

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

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

      ? c;

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

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

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

      文件取名和存盤

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

      3.2 時序電路描述

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

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

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

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

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

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

      信號屬性函數(shù):EVENT。所謂信號屬性函數(shù)是用來獲得信號行為信息的函數(shù)。測定信號的跳變情況:<信號名>’EVENT 上升沿檢測表式為:<信號名>’EVENT AND <信號名>=’1’ 時鐘上升沿檢測表式為: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語句:

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

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

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

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

      例化語句:

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

      port(端口名表);

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

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

      相關(guān)語法說明:

      1、變量

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

      用于architecture、package、entity中 賦值符號為<= 變量:局部量

      用于process、function、procedure中 賦值符號為:=

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

      全加器的VHDL描述(書P55)

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

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

      常數(shù)定義語句:

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

      變量定義語句:

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

      信號定義語句:

      信號賦值語句:

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

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

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

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

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

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

      3)有效范圍的不同:

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

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

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

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

      3.7 IF語句概述

      ※IF語句:

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

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

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

      第四章QuartusⅡ的使用

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

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

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

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

      TYPE類型定義語句:

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

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

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

      子類型subtype的語句格式:

      5.1.3

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

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

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

      真值表:

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

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

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

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

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

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

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

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

      多進(jìn)程Moore狀態(tài)機(jī)的輸出信號是由組合電路發(fā)出的,所以在一些特定情況下難免出現(xiàn)毛刺現(xiàn)象。如果這些輸出信號用作時鐘信號,極易產(chǎn)生錯誤的操作,需盡力避免。單進(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ù),也是輸入信號的函數(shù)。

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

      第七章VHDL語句

      7.1 VHDL順序語句(Sequential)

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

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

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

      7.1.4 LOOP語句

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

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

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

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

      順序語句

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

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

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

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

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

      7.1.5 NEXT 語句

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

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

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

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

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

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

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

      7.1.6 EXIT語句

      EXIT 語句為LOOP語句的內(nèi)部循環(huán)控制語句,將結(jié)束循環(huán)狀態(tài)。

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

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

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

      7.1.7 WAIT語句

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

      wait--無限等待

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

      1、wait on 語句

      格式:wait on 信號[,信號];

      2、wait until 語句(可綜合)

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

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

      三種表達(dá)方式:

      wait until 信號 = value;wait until 信號’event and 信號 = value;wait until not(信號’stable)and 信號 = value;時鐘信號 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 語句

      return 語句只能用于子程序中,并用來終止一個子程序的執(zhí)行。

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

      分為:1)return ;

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

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

      7.1.9

      空操作語句

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

      格式: NULL;

      7.2

      并行語句(Concurrent Statements)

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

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

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

      BEGIN 并行語句

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

      名詞解釋

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

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

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

      第四篇:EDA總結(jié)

      一、有關(guān)概念

      1.ASIC全稱:專用集成電路; 2.FPGA:現(xiàn)場可編程門陣列 3.CPLD:復(fù)雜可編程邏輯器件; 4.VHDL全稱:硬件描述語言; 5.全定制; 6.半定制;

      7.IP核;IP就是知識產(chǎn)權(quán)核或知識產(chǎn)權(quán)模塊的意思

      8.綜合(器);綜合就是將電路的高級語言(如行為描述)轉(zhuǎn)換為低級的,可與FPGA/CPLD的基本結(jié)構(gòu)相映射的網(wǎng)表文件或程序。

      9.適配(器);適配器也稱結(jié)構(gòu)綜合器,它的功能是將綜合器產(chǎn)生的網(wǎng)表文件配置于指定的目標(biāo)器件中,使之產(chǎn)生最終的下載文件。

      10.功能仿真;是直接對VHDL、原理圖描述或其他描述形式的邏輯功能進(jìn)行測試模擬,以了解其實(shí)現(xiàn)的功能是否滿足原設(shè)計的要求

      11.時序仿真;就是接近真實(shí)器件運(yùn)行特性的仿真,仿真文件中已包含了器件硬件特性參數(shù),因而,仿真精度高。

      12.編程下載;把適配后生成的下載或配置文件,通過編程器或編程電纜向FPGA或CPLD下載,以便進(jìn)行硬件測試和驗(yàn)證 13.PROM;可編程只讀存儲器 14.PLA;可編程邏輯陣列 15.PAL;可編程陣列邏輯 16.查找表; 17.乘積項(xiàng);

      18.實(shí)體;VHDL實(shí)體作為一個設(shè)計實(shí)體(獨(dú)立的電路功能結(jié)構(gòu))的組成部分,其功能是對這個設(shè)計實(shí)體與外部電路進(jìn)行接口描述。

      19.結(jié)構(gòu)體;結(jié)構(gòu)體是實(shí)體所定義實(shí)體中的一個組成部分。結(jié)構(gòu)體描述設(shè)計實(shí)體的內(nèi)部結(jié)構(gòu)和外部設(shè)計實(shí)體端口間的邏輯關(guān)系。

      20.元件例化;元件例化意味著在當(dāng)前結(jié)構(gòu)體內(nèi)定義了一個新的設(shè)計層次,這個設(shè)計層次的總稱叫元件,但它可以以不同的形式出現(xiàn)。?? 21.時鐘進(jìn)程; 22.三態(tài); 23.線與; 24.數(shù)據(jù)對象;

      25.變量;變量是一個局部量,只能在進(jìn)程和子程序中使用,變量的賦值是立即發(fā)生的,不存在任何延時行為。

      26.信號;信號是硬件系統(tǒng)的基本數(shù)據(jù)對象,它的性質(zhì)類似于連接線。信號可以作為設(shè)計實(shí)體中并行語句模塊間的信息交流通道

      27.Moore型狀態(tài)機(jī);異步輸出狀態(tài)機(jī),輸出僅為當(dāng)前狀態(tài)的函數(shù),在輸入發(fā)生變化時還必須等待時鐘的到來。

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

      注意:

      1.<= 對信號SIGNAL的賦值 := 是對變量variable的賦值

      2.程序的實(shí)體名必須和文件名一致,例1中二輸入與門的文件名必須為yumen

      一、有關(guān)概念

      ASIC全稱;FPGA和CPLD全稱;VHDL全稱;全定制;半定制; IP核;綜合(器);適配(器);功能仿真;時序仿真;編程下載;PROM;PLA;PAL;查找表;乘積項(xiàng);實(shí)體;結(jié)構(gòu)體;元件例化;時鐘進(jìn)程;三態(tài);線與; 數(shù)據(jù)對象;變量;信號; Moore型狀態(tài)機(jī);Mealy型狀態(tài)機(jī)。

      二、程序分析及設(shè)計

      1、二輸入與門的VHDL語言設(shè)計。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY yumen IS

      PORT(a, b : IN BIT;

      y : OUT BIT);END ENTITY yumen;ARCHITECTURE one OF yumen IS BEGIN y <= a AND b;END ARCHITECTURE one;

      2、帶有異步復(fù)位和同步時鐘使能的6進(jìn)制計數(shù)器VHDL語言設(shè)計。

      LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY jinzhi IS PORT(CLK,RST,EN : IN STD_LOGIC;CQ : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);COUT : OUT STD_LOGIC);END jinzhi;ARCHITECTURE behav OF jinzhi IS BEGIN PROCESS(CLK, RST, EN)VARIABLE CQI : STD_LOGIC_VECTOR(2 DOWNTO 0);BEGIN IF RST = '1' THEN CQI :=(OTHERS =>'0');--計數(shù)器復(fù)位 ELSIF CLK'EVENT AND CLK='1' THEN--檢測時鐘上升沿 IF EN = '1' THEN--檢測是否允許計數(shù) IF CQI < 5 THEN CQI := CQI + 1;--允許計數(shù)

      ELSE CQI :=(OTHERS =>'0');--大于5,計數(shù)值清零 END IF;END IF;END IF;IF CQI = 5 THEN COUT <= '1';--計數(shù)大于5,輸出進(jìn)位信號 ELSE COUT <= '0';END IF;CQ <= CQI;--將計數(shù)值向端口輸出 end PROCESS;END behav;

      3、用VHDL語言設(shè)計2選1數(shù)據(jù)選擇器。

      LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY erxuanyi IS PORT(a, b, s: IN BIT;y : OUT BIT);END erxuanyi;ARCHITECTURE one OF erxuanyi IS BEGIN PROCESS(a,b,s)BEGIN IF s = '0' THEN y <= a;ELSE y <= b;END IF;END PROCESS;END;

      4、邊沿型T、D觸發(fā)器VHDL語言設(shè)計。--D觸發(fā)器

      LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DFF IS PORT(CLK : IN STD_LOGIC;D : IN STD_LOGIC;Q : OUT STD_LOGIC);END;ARCHITECTURE bhv OF DFF IS SIGNAL Q1 : STD_LOGIC;BEGIN PROCESS(CLK)BEGIN IF CLK'EVENT AND CLK = '1' THEN Q1 <= D;END IF;END PROCESS;Q <= Q1;END bhv;

      --T觸發(fā)器

      有clk且為1的時候,T與當(dāng)前狀態(tài)異或

      LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY tff IS PORT(CLK : IN STD_LOGIC;T : IN STD_LOGIC;Q : OUT STD_LOGIC);END;ARCHITECTURE bhv OF tff IS SIGNAL Q1 : STD_LOGIC;BEGIN PROCESS(CLK)BEGIN IF CLK'EVENT AND CLK = '1' THEN Q1 <= Q1 XOR T;END IF;END PROCESS;Q <= Q1;END bhv;

      5、帶并行置數(shù)的8位右移移位寄存器VHDL語言設(shè)計。

      library ieee;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SHFRT IS PORT(CLK,LOAD: IN STD_LOGIC;

      DIN: IN STD_LOGIC_VECTOR(7 DOWNTO 0);

      QB:OUT STD_LOGIC);END SHFRT;

      ARCHITECTURE BEHAV OF SHFRT IS BEGIN PROCESS(CLK,LOAD)

      VARIABLE REG8: STD_LOGIC_VECTOR(7 TO 0);BEGIN

      IF CLK'EVENT AND CLK='1' THEN

      IF LOAD='1' THEN REG8:=DIN;

      ELSE REG8(6 DOWNTO 0):=REG8(7 DOWNTO 1);

      END IF;

      END IF;

      QB<=REG8(0);END PROCESS;END BEHAV;--說明:當(dāng)clk有上升沿,而且load為1的時候把din的值賦給REG8,如果clk有上升沿,而且load為0的時候把REG8的高7為賦給低7位(注意此時最高位不變)6、1位半加器VHDL語言設(shè)計。(布爾邏輯描述)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY banjia IS PORT(a,b : IN STD_LOGIC;co,so : OUT STD_LOGIC);END ENTITY banjia;ARCHITECTURE fh1 OF banjia IS BEGIN so <= not(a xor(not b));co <= a and b;END ARCHITECTURE fh1;

      7、用VHDL語言設(shè)計實(shí)現(xiàn)四選一數(shù)據(jù)選擇器。

      LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY sixuan IS PORT(a, b, c , d: IN BIT;

      s: IN STD_LOGIC_VECTOR(1 DOWNTO 0);y : OUT BIT);END sixuan;ARCHITECTURE one OF sixuan IS BEGIN PROCESS(a,b,c,d,s)BEGIN case s(1 DOWNTO 0)is when “00” => y <= a;when “01” => y <= b;when “10” => y <= c;when “11” => y <= d;when others => null;END case;END PROCESS;END;

      8、用VHDL語言實(shí)現(xiàn)三態(tài)門設(shè)計。

      LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY santai IS port(enable : IN STD_LOGIC;datain : IN STD_LOGIC_VECTOR(7 DOWNTO 0);dataout : OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END santai;ARCHITECTURE bhv OF santai IS BEGIN PROCESS(enable,datain)BEGIN IF enable = '1' THEN dataout <= datain;ELSE dataout <=“ZZZZZZZZ”;END IF;END PROCESS;END bhv;

      9、設(shè)有VHDL描述的半加器h_adder和或門or2,試通過層次化設(shè)計思想設(shè)計由半加器和或門構(gòu)成的一位二進(jìn)制全加器的VHDL程序。全加器f_adder電路結(jié)構(gòu)組成圖如下所示。

      半加器h_adder LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY h_adder IS PORT(a,b : IN STD_LOGIC;co,so : OUT STD_LOGIC);END ENTITY h_adder;ARCHITECTURE fh1 OF h_adder IS BEGIN so <=(a OR b)AND(a NAND b);co <= NOT(a NAND b);END ARCHITECTURE fh1;

      或門 or2a LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY or2a IS PORT(a, b :IN STD_LOGIC;c : OUT STD_LOGIC);END ENTITY or2a;ARCHITECTURE one OF or2a IS BEGIN c <= a OR b;END ARCHITECTURE one;

      元件例化adder library ieee;use ieee.std_logic_1164.all;entity adder is port(ain,bin,cin:in std_logic;

      cout,sum :out std_logic);end entity adder;architecture fd1 of adder is component h_adder

      port(a,b:in std_logic;

      co,so:out std_logic);end component;component or2a

      port(a,b:in std_logic;

      c:out std_logic);end component;signal d,e,f:std_logic;begin u1 : h_adder port map(a=>ain,b=>bin,co=>d,so=>e);u2 : h_adder port map(a=>e,b=>cin,co=>f,so=>sum);u3 : or2a port map(a=>d,b=>f,c=>cout);end architecture fd1;

      第五篇:EDA基礎(chǔ)總結(jié)

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

      綜述部分

      1.EDA的中文全稱為電子設(shè)計自動化,英文全名為Electronic Design Automation。2.EDA平臺常用的兩種輸入電路的方法是:電路原理圖輸入法、HDL輸入法。3.EDA平臺工作流程:電路輸入、綜合優(yōu)化、功能仿真、布局布線、門級仿真。

      數(shù)字電路部分

      1.EDA中常用的仿真語言為Verilog和VHDL。

      2.VHDL其英文全名為VHSIC Hardware Description Language,而VHSIC則是Very High Speed Intergeraterd Circuit的縮寫詞,意為甚高速集成電路,故VHDL其準(zhǔn)確的中文譯名為甚高速集成電路的硬件描述語言。

      3.Verilog HDL其英文全名為Verilog Hardware Decription Language,HDL中文譯名為硬件描述語言。

      4.Verilog和VHDL的比較

      共同點(diǎn):能形式化地抽象表示電路的行為和結(jié)構(gòu);支持邏輯設(shè)計中層次與范圍的描述;可借用高級語言的精巧結(jié)構(gòu)來簡化電路行為的描述;具有電路仿真與驗(yàn)證機(jī)制以保證設(shè)計的正確性;支持電路描述由高層到低層的綜合轉(zhuǎn)換;硬件描述與實(shí)現(xiàn)工藝無關(guān);便于文檔管理;易于理解和設(shè)計重用。

      不同點(diǎn):Verilog在系統(tǒng)級抽象方面略差,VHDL在門級開關(guān)電路方面略差。

      5.軟核、固核和硬核

      軟核:功能經(jīng)過驗(yàn)證的、可綜合的、實(shí)現(xiàn)后電路結(jié)構(gòu)總門數(shù)在5000門以上的Verilog模型。

      固核:在某一種現(xiàn)場可編程門列器件上實(shí)現(xiàn)的經(jīng)驗(yàn)證是正確的,且總門數(shù)在5000門以上的電路結(jié)構(gòu)編碼文件。

      在某一種專用集成電路工藝的器件上實(shí)現(xiàn)的,經(jīng)驗(yàn)證是正確的,且總門數(shù)在5000門以上的電路結(jié)構(gòu)版圖掩膜。6.自頂向下(Top Down)設(shè)計

      7.自底向上(Down Top)設(shè)計

      8.名詞解釋:

      ASIC:Application Specific Integrated Circuit,專用集成電路。

      FPGA:Field Programmable Gate Array,現(xiàn)場可編程門陣列。PLD:Programmable Logic Device,可編程邏輯器件。

      Verilog編程題: 數(shù)據(jù)比較器(2位)//數(shù)據(jù)比較器

      module compare(equal, a, b);input a,b;output equal;reg equal;always @(a or b)if(a == b)equal = 1;else equal = 0;endmodule

      //數(shù)據(jù)比較器測試代碼 `timescale 1ns/1ns `include “./1-1.v” module t;reg a,b;wire equal;initial begin a=0;b=0;#100 a=0;b=1;#100 a=1;b=1;#100 a=1;b=0;#100 a=0;b=0;#100 $stop;end

      compare m(.equal(equal),.a(a),.b(b));endmodule

      數(shù)據(jù)比較器(8位)

      module compare8(equal, a, b);input [7:0]a, b;output equal;reg equal;always @(a or b)if(a > b)begin equal = 1;end else begin equal = 0;end endmodule 分頻器

      module half_clk(reset, clk_in, clk_out);input clk_in, reset;output clk_out;reg clk_out;

      always @(posedge clk_in)begin if(!reset)clk_out = 0;else clk_out = ~clk_out;end endmodule

      10M時鐘分頻為500K module fdivision(RESET, MB, KB);input MB, RESET;output KB;reg KB;reg [7:0] j;

      always @(posedge MB)if(!RESET)begin KB <= 0;j <= 0;end else begin if(j == 19)begin j <= 0;KB <= ~KB;end else j <= j+1;end endmodule

      譯碼電路

      `define plus 3'd0 `define minus 3'd1 `define band 3'd2 `define bor 3'd3 `define unegate 3'd4

      module alu(out, opcode, a, b);output[7:0] out;reg[7:0] out;input[2:0] opcode;input[7:0] a,b;

      always @(opcode or a or b)begin case(opcode)`plus: out = a + b;`minus: out = a-b;`band: out = a & b;`bor: out = a | b;`unegate: out = ~a;default: out = 8'hx;endcase end endmodule

      八路數(shù)據(jù)選擇器

      module selecting8(addr, in1, in2, in3, in4, in5, in6, in7, in8, dataout, reset);input [2:0] addr;input [3:0] in1,in2,in3,in4,in5,in6,in7,in8;input reset;output [3:0] dataout;reg [3:0] dataout;

      always @(addr or in1 or in2 or in3 or in4 or in5 or in6 or in7 or in8 or reset)begin if(!reset)case(addr)3'b000: dataout = in1;3'b001: dataout = in2;3'b010: dataout = in3;3'b011: dataout = in4;3'b100: dataout = in5;3'b101: dataout = in6;3'b110: dataout = in7;3'b111: dataout = in8;endcase else dataout = 0;end endmodule

      邏輯運(yùn)算電路

      module tryfunct(clk, n, result, reset);output[31:0] result;input[3:0] n;input reset, clk;reg[31:0] result;

      always @(posedge clk)begin if(!reset)result <=0;else begin result <= n*factorial(n)/((n*2)+1);end end

      function [31:0] factorial;input [3:0] operand;reg [3:0] index;begin factorial = operand ? 1:0;for(index = 2;index <= operand;index = index + 1)factorial = index *factorial;end endfunction endmodule

      module tryfunct(clk, n, result, reset);output[31:0] result;input[3:0] n;input reset, clk;reg[31:0] result;

      always @(posedge clk)begin if(!reset)result <=0;else begin result <= n*factorial(n)/((n*2)+1);end end

      function [31:0] factorial;input [3:0] operand;reg [3:0] index;begin factorial = operand ? 1:0;for(index = 2;index <= operand;index = index + 1)factorial = index *factorial;end endfunction endmodule

      高速排序組合邏輯

      module sort4(ra, rb, rc, rd, a, b, c, d);output[3:0] ra, rb, rc, rd;input[3:0] a, b, c, d;reg[3:0] ra, rb, rc, rd;reg[3:0] va, vb, vc, vd;

      always @(a or b or c or d)begin {va, vb, vc, vd} = {a, b, c, d};sort2(va, vc);sort2(vb, vd);sort2(va, vb);sort2(vc, vd);sort2(vb, vc);{ra, rb, rc, rd} = {va, vb, vc, vd};end

      task sort2;input[3:0]x, y;reg[3:0] tmp;if(x > y)begin tmp = x;x = y;y = tmp;end endtask endmodule

      檢測5位二進(jìn)制序列10010 module seqdet(x, z, clk, rst, state);input x, clk, rst;output z;output[2:0] state;reg[2:0] state;wire z;

      parameter IDLE = 'd0, A = 'd1, B = 'd2, C = 'd3, D = 'd4, E = 'd5, F = 'd6, G = 'd7;

      assign z =(state == E && x == 0)? 1:0;

      always @(posedge clk)if(!rst)begin state <= IDLE;end else case(state)IDLE: if(x == 1)begin state <= A;end A: if(x == 0)begin state <= B;end B: if(x == 0)begin state <= C;end else begin state <= F;end C: if(x == 1)begin state <= D;end else begin state <= G;end D: if(x == 0)begin state <= E;end else begin state <= A;end E: if(x == 0)begin state <= C;end else begin state = A;end F: if(x == 1)begin state <= A;end else begin state <= B;end G: if(x == 1)begin state <= F;end default: state = IDLE;endcase endmodule

      模擬電路部分

      1.目前,集成電路最常用的材料是單晶硅。

      2.集成電路的生產(chǎn)由設(shè)計、制造、封裝三部分組成。

      3.集成電路中基片主要制作工藝為:光刻、擴(kuò)散、注入、刻蝕、鍵合。

      4.集成電路中基片的制造步驟為:光刻、擴(kuò)散、注入、刻蝕。

      5.衡量集成電路產(chǎn)業(yè)水平的兩個主要參數(shù)為:硅晶圓片直徑和光刻精度(特征尺寸)。這兩個參數(shù)在業(yè)界達(dá)到的水平為:硅晶圓片直徑12英寸(300mm),光刻精度0.13um。主流水平為:硅晶圓片直徑200mm,光刻精度0.18um。

      6.模擬電路中常用的仿真算法是SPICE,英文全名為Simulation Program with Integrated Circuit Emphasis。

      7.世界上設(shè)計EDA軟件實(shí)力最強(qiáng)的兩個公司為Cadence和Synopsys。其中,Cadence的優(yōu)勢為電路布局布線,Synopsys的優(yōu)勢為邏輯綜合仿真。

      8.WorkBench是加拿大IIT公司退出的電子線路仿真軟件。它可以對模擬、數(shù)字和模擬/數(shù)字混合電路進(jìn)行仿真,克服了傳統(tǒng)電子產(chǎn)品的設(shè)計受實(shí)驗(yàn)室客觀條件限制的局限性,用虛擬的元件搭接各種電路,用虛擬的儀表進(jìn)行各種參數(shù)和性能指標(biāo)的測試。特點(diǎn)如下:(1)系統(tǒng)集成度高,界面直觀,操作方便。(2)具備模擬、數(shù)字及模擬/數(shù)字混合電路仿真。(3)提供較為豐富的元器件庫。(4)電路分析手段完備。(5)輸出方式靈活。(6)兼容性好。9.SPICE語言舉例: EXAMPLE

      VCC 8 0 12

      **** 文件名 任意名都可以 但必須要有****

      **** 電源正極接于節(jié)點(diǎn)8 負(fù)極接于0 電壓為12V **** VEE 0 9 12

      **** 電源正極接于節(jié)點(diǎn)0,負(fù)接接于節(jié)點(diǎn)9,電壓為12V;**** VIN 1 0 AC 1 SIN(0 0.1 5MEG)

      **** 信號源VIN 接于1 和接點(diǎn)0;交流1V 進(jìn)行交流分析 同時加一個正弦信號 直流偏置為0,振幅為0.1V頻率為5M的交流信號源,進(jìn)行瞬態(tài)分析;**** RC1 8 4 10K

      RC2 8 5 10K

      RS 2 1 1K

      RS1 8 7 20K

      RS2 3 0 1K

      **** 電阻RC1 分別接于節(jié)點(diǎn)8 節(jié)點(diǎn)4;阻值為10K;**** **** 電阻RC2 分別接于節(jié)點(diǎn)8 節(jié)點(diǎn)5;阻值為10K;**** **** 電阻RS 分別接于節(jié)點(diǎn)1 節(jié)點(diǎn)0;阻值為1K;**** **** 電阻RS1 分別接于節(jié)點(diǎn)8 節(jié)點(diǎn)7 阻值為20K;**** **** 電阻RS2 分別接于節(jié)點(diǎn)3 節(jié)點(diǎn)0 阻值為1K;**** Q1 4 2 6 MOD1

      **** 三極管Q1 CBE 分別接于節(jié)點(diǎn) 4 2 6 模型為MOD1**** Q2 5 3 6 MOD1

      **** 三極管Q2 CBE 分別接于節(jié)點(diǎn) 5 3 6 模型為MOD1**** Q3 6 7 9 MOD1

      **** 三極管Q3 CBE 分別接于節(jié)點(diǎn) 6 7 9 模型為MOD1**** Q4 7 7 9 MOD1

      **** 三極管Q4 CBE 分別接于節(jié)點(diǎn) 7 7 9 模型為MOD1****.OP

      **** 求出直流工作點(diǎn).本電路共有9個節(jié)點(diǎn);溫度值為27度;****.DC VIN-.15.15.01

      **** DC為直流分析語句,分析輸入電壓從-0.15V到0.15V掃描特性,每0.1V作一次分析;****.PRINT DC V(4)V(5)

      ****.PRINT 為打印語句,其中DC是打印直流內(nèi)容,這里規(guī)定打印節(jié)點(diǎn)4和5上的電位,既相對地參考點(diǎn)的電壓隨輸入的變化關(guān)系;****.PLOT DC V(4)V(5)

      ****.PLOT為繪圖語句,其中DC表示繪制直流分析的傳輸特性,說明是繪制V(4)V(5)的輸出電壓和VIN關(guān)系曲線;****.TF V(5)VIN

      ****.TF是轉(zhuǎn)移函數(shù)分析語句,該句表示計算直流分析時,小信號輸出電壓V(5)和輸入電壓VIN的轉(zhuǎn)移函數(shù)值,輸入電阻和輸出電阻;****.AC DEC 10 25K 250MEG

      ****.AC是交流分析語句,是在規(guī)定的頻率范圍內(nèi)從25K到250M進(jìn)行頻域分析DEC表示按數(shù)量級變化,10表示每一數(shù)量級中取的分析點(diǎn)數(shù)目;****.PRINT AC VM(5)VP(5)

      **** 打印AC分析VM(5)VP(5)的取點(diǎn)數(shù);****.PLOT AC VM(5)VP(5)

      **** 繪制AC分析VM(5)VP(5)的取點(diǎn)數(shù);****.TRAN 4N 100N 1N

      ****.TRAN是瞬態(tài)分析語句,并規(guī)定了打印或繪圖時間增量為4N秒,計算終止時間為100N秒,打印或繪圖開始時間1NS*;****.PRINT TRAN V(5)V(4)

      ****.打印出4.5點(diǎn)的電壓隨時間變化;****.PLOT TRAN V(5)V(4)

      ****.繪圖出節(jié)點(diǎn)4.5的電壓隨時間變化;****.END

      **** 結(jié)束語句...一定要有;****

      下載EDA第五章復(fù)習(xí)總結(jié)[5篇范文]word格式文檔
      下載EDA第五章復(fù)習(xí)總結(jié)[5篇范文].doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點(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)行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

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

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

        EDA總結(jié)題

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

        EDA期末總結(jié)7

        1章 PORT DOWNTO 0); (D:INSTD_LOGIC_VECTOR(11DOWNTO 0); Q : OUT STD_LOGIC_VECTOR(11 DOWNTO 0) ); 1、常用的硬件描述語言有VHDL、Verilog、ABEL CLK ,STATUS : IN STD_......

        EDA實(shí)驗(yàn)總結(jié)(五篇材料)

        EDA 實(shí)驗(yàn)總結(jié) 系別:物理系 專業(yè):電子信息科學(xué)與技術(shù) 姓名:馬亞偉 學(xué)號:2010171135 在本學(xué)期短短6周的EDA實(shí)驗(yàn)學(xué)習(xí)中,我初步對這一新的領(lǐng)域有了一個較為系統(tǒng)的理解,也為我的專業(yè)學(xué)......

        EDA實(shí)訓(xùn)報告總結(jié)

        實(shí)訓(xùn)心得 短暫的一周實(shí)訓(xùn)已經(jīng)過去了,對于我來說這一周的實(shí)訓(xùn)賦予了我太多實(shí)用的東西了,不僅讓我更深層次的對課本的理論知識深入了理解,而且還讓我對分析事物的邏輯思維能力得......

        EDA實(shí)驗(yàn)報告

        實(shí)驗(yàn)一:QUARTUS II 軟件使用及組合電路設(shè)計仿真 實(shí)驗(yàn)?zāi)康模? 學(xué)習(xí)QUARTUS II 軟件的使用,掌握軟件工程的建立,VHDL源文件的設(shè)計和波形仿真等基本內(nèi)容。 實(shí)驗(yàn)內(nèi)容: 1.四選一多路......

        EDA學(xué)習(xí)心得

        EDA 專業(yè); 姓名;學(xué)號;學(xué)習(xí)心 得 劉華 201530220109 電氣自動化技術(shù) 本學(xué)期對EDA技術(shù)的學(xué)習(xí)為我的專業(yè)知識學(xué)習(xí)打開了一個全新的窗口——微電子技術(shù)領(lǐng)域。對EDA技術(shù),我更......

        EDA學(xué)習(xí)心得

        EDA 學(xué)習(xí)心得 姓名:賀鑫 學(xué)號:20081001164 班號:072085-10 在本學(xué)期短短5周的EDA學(xué)習(xí)中,我初步對這一新的領(lǐng)域有了一個較為系統(tǒng)的理解,也為我的專業(yè)學(xué)習(xí)打開了一個新的思路,那就......