課程 2 -- 邏輯電路的 vhdl 語法

21
課課 課課 2 -- 2 -- 課課課課課 課課課課課 VHDL VHDL 課課 課課 課課課課課課課課課課課 課課課課 課課課課 課課 課課 課課課課課 課課課課課 課課課課課 課課 課課課課課 課課

Upload: flann

Post on 21-Jan-2016

88 views

Category:

Documents


4 download

DESCRIPTION

國立宜蘭大學電機工程系. 國立宜蘭 大學. 電機工程系. 課程 2 -- 邏輯電路的 VHDL 語法. 彭世興教師 編製. 國立宜蘭大學電機工程系. 1. 各種邏輯電路真值表 :. 國立宜蘭大學電機工程系. 國立宜蘭大學電機工程系. b. 輸出布林代數簡化 (1 之描述 ). a. 真值表. c. 邏輯電路描述. 國立宜蘭大學電機工程系. 2. 用邏輯電路完成真值表描述功能 :. b. 輸出布林代數簡化 (0 之描述 ). a. 真值表. c. 邏輯電路描述. 國立宜蘭大學電機工程系. a. 邏輯電路. b. 輸出布林代數簡化 (1 之描述 ). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 課程  2 --  邏輯電路的 VHDL 語法

課程 課程 2 -- 2 -- 邏輯電路的邏輯電路的 VHDLVHDL 語法語法

國立宜蘭大學電機工程系

國立宜蘭國立宜蘭大學大學

電機工程系電機工程系

彭世興教師 編製彭世興教師 編製

Page 2: 課程  2 --  邏輯電路的 VHDL 語法

國立宜蘭大學電機工程系

1. 各種邏輯電路真值表:

swa

y = swa OR swb

swb

y swa

y = swa NOR swb

swb

y

Page 3: 課程  2 --  邏輯電路的 VHDL 語法

國立宜蘭大學電機工程系

swa

y = swa AND swb

swb

y swa

y = swa NAND swb

swb

y

Page 4: 課程  2 --  邏輯電路的 VHDL 語法

國立宜蘭大學電機工程系

swa

y = swa XOR swb

swb

y swa

y = swa NXOR swb

swb

y

Page 5: 課程  2 --  邏輯電路的 VHDL 語法

2. 用邏輯電路完成真值表描述功能:

a. 真值表

BABAy

b. 輸出布林代數簡化 (1 之描述 )

國立宜蘭大學電機工程系

c. 邏輯電路描述

A

B y

Page 6: 課程  2 --  邏輯電路的 VHDL 語法

a. 真值表

)()( BABA

ABBA

ABBAy

b. 輸出布林代數簡化 (0 之描述 )

國立宜蘭大學電機工程系

c. 邏輯電路描述

A

B y

Page 7: 課程  2 --  邏輯電路的 VHDL 語法

3. 邏輯電路的 VHDL 語法描述:

BABAy

b. 輸出布林代數簡化 (1 之描述 )

a. 邏輯電路A

B y

c. VHDL 語法描述

y <= (notA AND B) or (A AND notB) ;

國立宜蘭大學電機工程系

Page 8: 課程  2 --  邏輯電路的 VHDL 語法

c. VHDL 語法描述

y <= (A or B) AND (notA or notB) ;

國立宜蘭大學電機工程系

BABAy )()( BABA

ABBA

ABBAy

b. 輸出布林代數簡化 (0 之描述 )

a. 邏輯電路

A

B y

Page 9: 課程  2 --  邏輯電路的 VHDL 語法

4. 範例 :利用 3 個 SW 開關選擇控制 8 個 LED 的亮滅

SWA

SWB

SWC

LED0

LED7

FPGASpartan3

國立宜蘭大學電機工程系

a. 板面規劃

Page 10: 課程  2 --  邏輯電路的 VHDL 語法

國立宜蘭大學電機工程系

swcswbswaLED 0c. 輸出化簡 (1 之描述 )

b. 內部功能真值表規劃

Page 11: 課程  2 --  邏輯電路的 VHDL 語法

e. VHDL 語法描述

LED0 <= notswa AND notswb AND notswc ;

d. 邏輯電路的實現

swaswb

LED0

swcswcswbswaLED 0

國立宜蘭大學電機工程系

Page 12: 課程  2 --  邏輯電路的 VHDL 語法

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 語法

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 語法

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 語法

國立宜蘭大學電機工程系

structure

Description

結構性描述

Dataflow

Description

資料流描述( 共時性處理 )

Behavioral

Description

行為性描述( 順序性 處理 )

描述電路的特性和運作

Architecture 宣告區

6.ARCHITECTURE 架構三種描述法

VHDL 電路架構的描述風格有三大類:

Page 16: 課程  2 --  邏輯電路的 VHDL 語法

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 語法

國立宜蘭大學電機工程系

b. 條件式 “ when … else” 的電路架構的描述

LED(0) <= ‘1’ when sel = “000” else ‘0’;

Page 18: 課程  2 --  邏輯電路的 VHDL 語法

國立宜蘭大學電機工程系

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 語法

利用 3 個 SW 開關選擇控制 8 個 LED 的亮滅

SWA

SWB

SWC

LED0

LED7

FPGASpartan3

國立宜蘭大學電機工程系

Page 20: 課程  2 --  邏輯電路的 VHDL 語法

vhd 程式檔

國立宜蘭大學電機工程系

Page 21: 課程  2 --  邏輯電路的 VHDL 語法

國立宜蘭大學電機工程系

ucf 接腳定義檔