課程 2 -- 邏輯電路的 vhdl 語法
DESCRIPTION
國立宜蘭大學電機工程系. 國立宜蘭 大學. 電機工程系. 課程 2 -- 邏輯電路的 VHDL 語法. 彭世興教師 編製. 國立宜蘭大學電機工程系. 1. 各種邏輯電路真值表 :. 國立宜蘭大學電機工程系. 國立宜蘭大學電機工程系. b. 輸出布林代數簡化 (1 之描述 ). a. 真值表. c. 邏輯電路描述. 國立宜蘭大學電機工程系. 2. 用邏輯電路完成真值表描述功能 :. b. 輸出布林代數簡化 (0 之描述 ). a. 真值表. c. 邏輯電路描述. 國立宜蘭大學電機工程系. a. 邏輯電路. b. 輸出布林代數簡化 (1 之描述 ). - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: 課程 2 -- 邏輯電路的 VHDL 語法](https://reader030.vdocuments.site/reader030/viewer/2022012321/5681500a550346895dbde586/html5/thumbnails/1.jpg)
課程 課程 2 -- 2 -- 邏輯電路的邏輯電路的 VHDLVHDL 語法語法
國立宜蘭大學電機工程系
國立宜蘭國立宜蘭大學大學
電機工程系電機工程系
彭世興教師 編製彭世興教師 編製
![Page 2: 課程 2 -- 邏輯電路的 VHDL 語法](https://reader030.vdocuments.site/reader030/viewer/2022012321/5681500a550346895dbde586/html5/thumbnails/2.jpg)
國立宜蘭大學電機工程系
1. 各種邏輯電路真值表:
swa
y = swa OR swb
swb
y swa
y = swa NOR swb
swb
y
![Page 3: 課程 2 -- 邏輯電路的 VHDL 語法](https://reader030.vdocuments.site/reader030/viewer/2022012321/5681500a550346895dbde586/html5/thumbnails/3.jpg)
國立宜蘭大學電機工程系
swa
y = swa AND swb
swb
y swa
y = swa NAND swb
swb
y
![Page 4: 課程 2 -- 邏輯電路的 VHDL 語法](https://reader030.vdocuments.site/reader030/viewer/2022012321/5681500a550346895dbde586/html5/thumbnails/4.jpg)
國立宜蘭大學電機工程系
swa
y = swa XOR swb
swb
y swa
y = swa NXOR swb
swb
y
![Page 5: 課程 2 -- 邏輯電路的 VHDL 語法](https://reader030.vdocuments.site/reader030/viewer/2022012321/5681500a550346895dbde586/html5/thumbnails/5.jpg)
2. 用邏輯電路完成真值表描述功能:
a. 真值表
BABAy
b. 輸出布林代數簡化 (1 之描述 )
國立宜蘭大學電機工程系
c. 邏輯電路描述
A
B y
![Page 6: 課程 2 -- 邏輯電路的 VHDL 語法](https://reader030.vdocuments.site/reader030/viewer/2022012321/5681500a550346895dbde586/html5/thumbnails/6.jpg)
a. 真值表
)()( BABA
ABBA
ABBAy
b. 輸出布林代數簡化 (0 之描述 )
國立宜蘭大學電機工程系
c. 邏輯電路描述
A
B y
![Page 7: 課程 2 -- 邏輯電路的 VHDL 語法](https://reader030.vdocuments.site/reader030/viewer/2022012321/5681500a550346895dbde586/html5/thumbnails/7.jpg)
3. 邏輯電路的 VHDL 語法描述:
BABAy
b. 輸出布林代數簡化 (1 之描述 )
a. 邏輯電路A
B y
c. VHDL 語法描述
y <= (notA AND B) or (A AND notB) ;
國立宜蘭大學電機工程系
![Page 8: 課程 2 -- 邏輯電路的 VHDL 語法](https://reader030.vdocuments.site/reader030/viewer/2022012321/5681500a550346895dbde586/html5/thumbnails/8.jpg)
c. VHDL 語法描述
y <= (A or B) AND (notA or notB) ;
國立宜蘭大學電機工程系
BABAy )()( BABA
ABBA
ABBAy
b. 輸出布林代數簡化 (0 之描述 )
a. 邏輯電路
A
B y
![Page 9: 課程 2 -- 邏輯電路的 VHDL 語法](https://reader030.vdocuments.site/reader030/viewer/2022012321/5681500a550346895dbde586/html5/thumbnails/9.jpg)
4. 範例 :利用 3 個 SW 開關選擇控制 8 個 LED 的亮滅
SWA
SWB
SWC
LED0
LED7
FPGASpartan3
國立宜蘭大學電機工程系
a. 板面規劃
![Page 10: 課程 2 -- 邏輯電路的 VHDL 語法](https://reader030.vdocuments.site/reader030/viewer/2022012321/5681500a550346895dbde586/html5/thumbnails/10.jpg)
國立宜蘭大學電機工程系
swcswbswaLED 0c. 輸出化簡 (1 之描述 )
b. 內部功能真值表規劃
![Page 11: 課程 2 -- 邏輯電路的 VHDL 語法](https://reader030.vdocuments.site/reader030/viewer/2022012321/5681500a550346895dbde586/html5/thumbnails/11.jpg)
e. VHDL 語法描述
LED0 <= notswa AND notswb AND notswc ;
d. 邏輯電路的實現
swaswb
LED0
swcswcswbswaLED 0
國立宜蘭大學電機工程系
![Page 12: 課程 2 -- 邏輯電路的 VHDL 語法](https://reader030.vdocuments.site/reader030/viewer/2022012321/5681500a550346895dbde586/html5/thumbnails/12.jpg)
5.ENTITY 裡 PORT 的四種基本資料型態
1. BIT
2. BIT_VECTOR(0 TO 7)
3. STD_LOGIC
4. STD_LOGIC_VECTOR(15 DOWNTO 7)
STD_LOGIC, 定義為 :
X: Forcing Unknown; 浮接不定 0: Forcing 0 ; 低電位 1: Forcing 1 ; 高電位 Z: High Impedance; 高阻抗 W: Weak Unknown; 弱浮接 L: Weak 0; 弱低電位 H: Weak 1 ; 弱高電位 - : Don’t care ; 不必理會
國立宜蘭大學電機工程系
BIT, 定義為 :
0: Forcing 0 ; 低電位 1: Forcing 1 ; 高電位
![Page 13: 課程 2 -- 邏輯電路的 VHDL 語法](https://reader030.vdocuments.site/reader030/viewer/2022012321/5681500a550346895dbde586/html5/thumbnails/13.jpg)
ENTITY EX2 IS
PORT (SW : IN STD_LOGIC_VECTOR( 2 DOWNTO 0 );
LED : OUT STD_LOGIC _VECTOR( 7 DOWNTO 0 ) );
END Ex2;
ENTITY EX2 IS
PORT (SW (0): IN STD_LOGIC;
SW (1): IN STD_LOGIC;
SW (2): IN STD_LOGIC;
LED (0) : OUT STD_LOGIC;
LED (1) : OUT STD_LOGIC;
LED (2) : OUT STD_LOGIC;
LED (3) : OUT STD_LOGIC;
LED (4) : OUT STD_LOGIC;
LED (5) : OUT STD_LOGIC;
LED (6) : OUT STD_LOGIC;
LED (7) : OUT STD_LOGIC );
END Ex2;
國立宜蘭大學電機工程系
陣列的資料型態
![Page 14: 課程 2 -- 邏輯電路的 VHDL 語法](https://reader030.vdocuments.site/reader030/viewer/2022012321/5681500a550346895dbde586/html5/thumbnails/14.jpg)
SW : IN STD_LOGIC_VECTOR( 2 DOWNTO 0 )
SW : IN STD_LOGIC_VECTOR( 0 TO 2 )
SW (2) : IN STD_LOGIC;
SW (1) : IN STD_LOGIC;
SW (0) : IN STD_LOGIC;
SW (0) : IN STD_LOGIC;
SW (1) : IN STD_LOGIC;
SW (2) : IN STD_LOGIC;
國立宜蘭大學電機工程系
SW (2) SW (1) SW (0)
高位
低位
SW (0) SW (1) SW (2) 高位 低
位
陣列的資料型態描述一
陣列的資料型態描述二
![Page 15: 課程 2 -- 邏輯電路的 VHDL 語法](https://reader030.vdocuments.site/reader030/viewer/2022012321/5681500a550346895dbde586/html5/thumbnails/15.jpg)
國立宜蘭大學電機工程系
structure
Description
結構性描述
Dataflow
Description
資料流描述( 共時性處理 )
Behavioral
Description
行為性描述( 順序性 處理 )
描述電路的特性和運作
Architecture 宣告區
6.ARCHITECTURE 架構三種描述法
VHDL 電路架構的描述風格有三大類:
![Page 16: 課程 2 -- 邏輯電路的 VHDL 語法](https://reader030.vdocuments.site/reader030/viewer/2022012321/5681500a550346895dbde586/html5/thumbnails/16.jpg)
1 、直接式的訊號設定 “ <=”
2 、條件式 conditional 的訊號設定 “ when … else”
3 、選擇式 Selected 的訊號設定 “ with … select … when”
4 、不完整的條件判斷指令 “ if … then …end if”
( 內部缺少了 ELSE 敘述 )
5 、完整的條件判斷指令 “ if … then … else … end if”
國立宜蘭大學電機工程系
訊號資料流動的描述,在 VHDL 中有下列幾種描述:
7. 資料流描述 ( 共時性處理)
![Page 17: 課程 2 -- 邏輯電路的 VHDL 語法](https://reader030.vdocuments.site/reader030/viewer/2022012321/5681500a550346895dbde586/html5/thumbnails/17.jpg)
國立宜蘭大學電機工程系
b. 條件式 “ when … else” 的電路架構的描述
LED(0) <= ‘1’ when sel = “000” else ‘0’;
![Page 18: 課程 2 -- 邏輯電路的 VHDL 語法](https://reader030.vdocuments.site/reader030/viewer/2022012321/5681500a550346895dbde586/html5/thumbnails/18.jpg)
國立宜蘭大學電機工程系
ARCHITECTURE behavior OF ex2 IS
BEGIN
LED (0) <= ‘1’ when sel = “000” else ‘0’;
LED (1) <= ‘1’ when sel = “001” else ‘0’;
LED (2) <= ‘1’ when sel = “010” else ‘0’;
LED (3) <= ‘1’ when sel = “011” else ‘0’;
LED (4) <= ‘1’ when sel = “100” else ‘0’;
LED (5) <= ‘1’ when sel = “101” else ‘0’;
LED (6) <= ‘1’ when sel = “110” else ‘0’;
LED (7) <= ‘1’ when sel = “111” else ‘0’;
END behavior;
3 個 SW 開關選擇控制 8 個 LED 的資料流描述
![Page 19: 課程 2 -- 邏輯電路的 VHDL 語法](https://reader030.vdocuments.site/reader030/viewer/2022012321/5681500a550346895dbde586/html5/thumbnails/19.jpg)
利用 3 個 SW 開關選擇控制 8 個 LED 的亮滅
SWA
SWB
SWC
LED0
LED7
FPGASpartan3
國立宜蘭大學電機工程系
![Page 20: 課程 2 -- 邏輯電路的 VHDL 語法](https://reader030.vdocuments.site/reader030/viewer/2022012321/5681500a550346895dbde586/html5/thumbnails/20.jpg)
vhd 程式檔
國立宜蘭大學電機工程系
![Page 21: 課程 2 -- 邏輯電路的 VHDL 語法](https://reader030.vdocuments.site/reader030/viewer/2022012321/5681500a550346895dbde586/html5/thumbnails/21.jpg)
國立宜蘭大學電機工程系
ucf 接腳定義檔