VHDL(Very High Speed Integrated Circuit Hardware Description Language),中譯名稱:「非常高速度的積體電路硬體描述語言」:是美國國防部在1982年時,為了開發高速戰機中的積體電路而發展的一種硬體描述語言,其目的在於將電子電路的設計與內部的含意,用文敘述的方式儲存起來,以便他人也能夠輕易地瞭解電路的設計。VHDL的識別字(identifier)及註解的規則:
1、識別字只容許使用A~Z,a~z,26個英文字母(大小寫視為相同),0~9,10個阿拉伯數字,及底線(_)underscore,但不能連續2個底線,且底線不得放於識別字的最後,總長度不得超過32個字元。
2、識別字的第一個字元必須為英文字母。
3、識別字不得使用”保留字”(reserved word),保留字請參閱「數位邏輯設計」(VHDL入門實務),附-41,台科大書號:B05601,黃慶璋、蔡忠勇編著。
4、註解說明為2個連續的連接線符號dash”–”, 可寫在指令敘述的後面,也可以單獨一列。
正確例:ABC, K1024, Decoder_3×8
錯誤例:
1024K:違反Rule Number 2, 第一個字元必須為英文字母。
$ABC:違反Rule Number1, 不容許$,只容許A~Z, a~z, 0~9, _。違反Rule Number 2, 第一個字元必須是英文字母。
BUS:違反Rule Number 3,此為保留字,匯流排之意。
解碼器:違反Rule Number 1,不可使用中文,只容許A~Z, a~z, 0~9, _。
VHDL之基本架構
使用的零件庫
library 「零件庫名稱,如ieee」;
use 「零件庫名稱,如ieee」.「零件套件名稱,如std_logic_1164」.all
外部接腳定義
entity 「實體名稱(即VHDL檔案主檔名,如nand_2)」 is
port(
電路腳位名稱:I/O屬性 資料型態;
:
電路腳位名稱:I/O屬性 資料型態
end 「實體名稱(即VHDL檔案主檔名)」;
內部行為
architecture 「架構名稱」of 「實體名稱(即VHDL檔案主檔名)」is
:
begin
:
:
end 「架構名稱」of 「實體名稱(即VHDL檔案主檔名)」;
玆以台科大B05601課本p.3-10~p.3-20,3-3 VHDL之設計步驟為例,VHDL檔案為nand_2.vhd,主檔名為nand_2,VHDL副檔名為vhd
library ieee ;
use ieee.std_logic_1164.all ;
use ieee.std_logic_unsigned.all ;
use ieee.std_logic_arith.all ;
–*******************************,最前面連續兩個dash,因此本列為註解。
entity nand_2 […]
