義守大學電機工程學系 陳慶瀚 pierre@mail.isu.edu.tw 第3章 VHDL Concurrent語法 義守大學電機工程學系 陳慶瀚 pierre@mail.isu.edu.tw
1. VHDL Operators
1.1 Comparison Operator = : 等於 > : 大於 < : 小於 /= : 不等於 比較運算子的運算結果有兩種狀態:“TRUE”和“FALSE”
1.2 Logic Declaration AND OR NOT NOR NAND XOR XNOR 邏輯運算子可以應用在三種資料型態:BIT, BOOLEAN 和STD_LOGIC
1.3 Arithmetic Operator “+” : 加法 “-” : 減法 所有Synthetizer都支援 “+” : 加法 “-” : 減法 有些Synthetizer支援 “ * ” : 乘法 “ABS” : 求絕對值 編譯時設定數值運算時使用 “/” : 除法 “**” : 次方 “MOD” : 求模數 “REM” : 求餘數
1.4 Bitwise Operator ROL : 向左旋轉位元運算 ROR : 向右旋轉位元運算 SLL : 向左位移位元運算 SRL : 向右位移位元運算 SLA : 向左位移位元運算,空出位元補'1' SRA : 向右位移位元運算,空出位元補'1' 用法:X2 <= X1 ROL 2; -- 向左旋轉2位元
1.5 VHDL其他特殊符號 “--” : 註解 “=>” : 名稱對應 “&” : 字串串接 “ : ” : 用於名稱的模式、資料型別、或標題的宣告 ‘ U’ : 未知值 ‘X’或‘-’ : 任意值 ‘0’或‘L’ : 邏輯狀態0 ‘1’或‘H’ :邏輯狀態1 ‘Z’ : 高阻抗
2 Block
3. VHDL Assignment
3.1 Assignment Operator - Assignment Operator for Signal <= - Assignment Operator for Variable := Signal assignment 也可以加上時間的延遲, 如 a <= b AFTER 10ns 表示由訊號 b 變化到造成 a 改變的延遲是10ns
3.2 Conditional Signal Assignment
3.3 Selective Signal Assignment
3.4 Driver Problem
3.5 Example- 4to1Multiplexer
3.6 Example- 2to4 Decoder
3.7 Exercise : 請以When-Else敘述式的VHDL語法描述下面真值表的組合邏輯電路。 【註】真值表的布林邏輯 輸入 輸出 【註】真值表的布林邏輯 輸入 輸出 A B C D 1
END