当前位置:文档之家› 组合逻辑电路与VHDL基本语法

组合逻辑电路与VHDL基本语法


S1 S0
2-2-2 資料型態與運算子

數值訊號 整數:VHDL語言中的整數數值範圍從到,它是以32位元的bit_vector 來定義整數的範圍的。 例如: Signal A:Integer; --32位元數值宣告 Signal B,C:Integer range 0 to 7; -- 3位元數值宣告 Variable INT_S:Integer; --32位元數值宣告
2-1 邏輯閘與邏輯電路
2-1-1 基本邏輯閘
A B C=A AND B A C B C=A OR B C
A A NOT : C= A’ C B C=A XOR B
C
2-1-2 布林代數方程式與笛摩根定理

A S0 B C Y
布林代數方程式
A B C D S1 Y S0
Y A B C
ENTITY NAND2 is PORT(A,B: IN bit; Y : OUT bit ); END NAND2;
A
F
B
Y
2-2-1 VHDL的基本架構
VHDL的電路架構( Architecture)

以「Architecture..of..IS...Begin..End」來表示 用以描述ENTITY所涵蓋的電路行為特性和動作
architecture dataflow of and_2 is begin Y<=a and b; end dataflow;
The Architecture describes the box
2-2-1 VHDL的基本架構
VHDL 的電路單體(Entity)

ENTITY用來宣告電路的外部包裝,也就是設計體的介面 ENTITY的描述以「Entity...IS...End」來表示

無號整數(UNSIGNED)序列宣告: 宣告成整數的訊號是一種數值型式,跟宣告成位元(bit、bit_vector)型 式的邏輯訊號事實上是不能夠直接作資料互換的;在VHDL語言中另 外提供了Unsigned指令宣告,它同時具有邏輯和數值的特性,因此 既可作邏輯處理又可作數值運算。 例如: Signal A:Std_logic; Signal B,C:Unsigned(3 downto 0);

變數(Variables) Variable temp: Std_logic:= ‘0’; Variable temp: Std_logic_Vector( 3 downto 0); Variable A,B:Boolean:=False;
2-2-2 資料型態與運算子

資料型別

邏輯訊號
在邏輯訊號中,我們用std_logic和bit來宣告邏輯位元,另外用 std_logic_vector和bit_vector來宣告多位元的邏輯訊號。 在VHDL中,標準邏輯(STD_LOGIC)訊號型式定義是:
architecture Dataflow of NAND2 is begin C<=A nand B; end Dataflow;
A B
C
•布

資料物件

常數(Constants) 在VHDL語言中,我們將固定值宣告成常數 ,它類以C語言中以#define來 設定常數值的作法。 例如:Constant A: Std_logic_vector(3 downto 0):=“0011”; 訊號(Signals) 訊號可以用來宣告所有元件內部的信號線或內接腳位 。 例如: Signal A:Std_Logic_vector(4 downto 0); Signal temp: bit_vector(0 to 3);
2-2-2 資料型態與運算子
在VHDL語法中,一群BIT即可以構成Bit_Vector,而一群Std_Logic也可 組成Std_Logic_Vector序列。
Y3 Y2 Y1 Y0
SIGNAL S1,S0: std_logic; SIGNAL Y3,Y2,Y1,Y0: std_logic;
SIGNAL S: std_logic_vector(1 downto 0); SIGNAL Y: std_logic_vector(3 downto 0);
2-2-2 資料型態與運算子

運算子
種 類
邏輯運算子 關係運算子 算術運算子
運算子
not and or xor nand xnor = /= < <= > >=
+ (加) - (減) * (乘)

邏輯運算子 關係運算子
組合邏輯與VHDL 基本語法
VHDL數位電路實習與專題設計 文魁資訊-UE301
內容大綱


2-1 邏輯閘與邏輯電路 2-2 VHDL的基本架構 2-3 VHDL的指定敘述與基本語法 2-4 解碼器、多工器與編碼器 2-5 算術邏輯電路與階層式設計 單元1:基本邏輯實習 單元2:解碼器與編碼器實習 單元3:算術邏輯電路實習
type std_logic is (
‘X’ ‘0’ ‘1’ ‘Z’ ‘W’ ‘L’ ‘H’ ‘-’
-- Forcing unknown -- Forcing zero -- Forcing one -- High impedance -- Weak unknown -- Weak zero -- Weak one ); -- Don’t care
Y A B C D

A B
笛摩根定理
C A B
A
C
B
C
A B
C
C=(A+B)ˇ=Aˇ Bˇ
C=(A B)’=A’+B’
2-1-3 積之和型式的邏輯電路
A 0 0 0 B 0 0 1 C 0 1 0 Y 0 0 1
0
1 1 1 1
1
0 0 1 1
1
0 1 0 1
0
0 1 1 1
2-2 邏輯閘與邏輯電路
2-2-1 VHDL的基本架構

VHDL程式簡例
entity name
a
AND_2
Y
b entity and_2 is port (a, b: in std_logic; Y : out std_logic); end and_2; The Entity describes the inputs and outputs
相关主题