什么是VHDL語言,有什么用
VHDL的英文全名是Very-High-Speed Integrated Circuit HardwareDescription Language,誕生于1982年。1987年底,VHDL被IEEE和美國國防部確認為標準硬件描述語言 。自IEEE公布了VHDL的標準版本,IEEE-1076(簡稱87版)之后,各EDA公司相繼推出了自己的VHDL設計環境,或宣布自己的設計工具可以和VHDL接口。此后VHDL在電子設計領域得到了廣泛的接受,并逐步取代了原有的非標準的硬件描述語言。1993年,IEEE對VHDL進行了修訂,從更高的抽象層次和系統描述能力上擴展VHDL的內容,公布了新版本的VHDL,即IEEE標準的1076-1993版本,(簡稱93版)。現在,VHDL和Verilog作為IEEE的工業標準硬件描述語言,又得到眾多EDA公司的支持,在電子工程領域,已成為事實上的通用硬件描述語言。有專家認為,在新的世紀中,VHDL于Verilog語言將承擔起大部分的數字系統設計任務。
VHDL主要用于描述數字系統的結構,行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風格與句法是十分類似于一般的計算機高級語言。VHDL的程序結構特點是將一項工程設計,或稱設計實體(可以是一個元件,一個電路模塊或一個系統)分成外部(或稱可是部分,及端口)和內部(或稱不可視部分),既涉及實體的內部功能和算法完成部分。在對一個設計實體定義了外部界面后,一旦其內部開發完成后,其他的設計就可以直接調用這個實體。這種將設計實體分成內外部分的概念是VHDL系統設計的基本點
VHDL語言的IF語句
IF語句最常用在process進程里面,不能直接放在結構體中,結構體可改為:
-- Architecture Body
ARCHITECTURE adder_architecture OF adder IS
BEGIN
PROCESS(a,b,ci)
BEGIN
IF(a='0' and b='0' and ci='0') THEN
sEND IF;
END PROCESS ;
END adder_architecture;
VHDL語言 怎么理解并行語句和PROCESS的區別 IF怎么用 求詳解 可
不是很理解你的問題。
首先結構體(ARCHITECTURE)中,BEGIN和END之間的部分是并行處理語句部分。它包括5種:塊語句、進程語句(PROCESS)、信號賦值語句(定義信號的)、子程序調用語句和元件例化語句(這個我也不太清楚)。
通常結構體中采用的3種子結構為:塊語句結構(BLOCK)、進程(PROCESS)結構和子程序(SUBPROGRAM)結構。然后結構體中所有的處理語句都是并發執行的,所以叫做并行語句。
只有進程語句中的語句是順序語句。就是說一個結構體可以包括多個PROCESS,它們之間是并發執行的,而每個PROCESS內部是順序執行的。
不知道是不是你想要的答案。至于IF語句,我覺得和C++什么的差不多呢。
就是IF(條件)THEN(順序語句);ELSIF(條件)THEN(順序語句);……ELSE(順序語句);END IF;建議你弄本書來看啊,VHDL其實還是蠻復雜的,老師說會越來越覺得復雜的~。