VHDL複習

VHDL複習之路

一.程序結構與數據對象

程序結構:

庫與程序包的調用語句構成的模塊
描述電路信號端口和參數通道的實體
具體描述電路功能的結構體

:library ieee;
use ieee.std_logic_arith.all;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;

實體:entity pao is
port(a,b,c,d:in std_logic;
s0,s1:in std_logic;
y:out std_logic;
y1:inout std_logic;
y2:buffer std_logic)
end entity

結構體:architecture behave of pao is
signal s:std_logic_vector(1 downto 0);
begin
s<s1&s0;
process(s1,s0,a,b,c,d)
begin
case(s) is
when “00”=> y<=a;
when “01”=> y<=b;
when “10”=> y<=c;
when “11”=> y<=d;
end case;
end process;
end architecture behave

文字規則:

1.數字:多餘1位的二進制必須加雙引號,單個的用單引號。
數字:整數,實數,數字基數(d1<=16#FE#;----16進制,等於254),物理量文字(60s,60秒;100m,100米);
2.字符串:是一維數組,放在雙引號中;
B 二進制 每位一個bit
O 八進制 每位3個bit
X 16進制 每位4個bit
3.關鍵字:這個就不用多說:如entity,arcthitecture;
4.表示符和規則

  • 有效的字符如26個英文字母,0~9數字,以及下劃線_組成
  • 開頭必須爲英語字母開頭
  • 必須是單一下劃線,且前後必須有數字和英文字母
  • 標示符中英語字母不分大小寫
  • 允許包含回車,換行符,空格符
  • “–”註釋符

數據對象:

  • 常數(constant)
    允許定義在實體,結構體,程序包,塊,進程,子程序
  • 變量(variable)
    允許定義在進程與子程序
  • 信號(signal)
    並行語句的信息交流通道,允許定義在實體,結構體,程序包
    賦值語句
    constant 常數名 :數據類型 := 表達式;

二. 數據類型與順序語句

數據類型

1.bit和bit_vector:

bit:0,1;
bit_vector:bit的數組類型

2.std_logic和std_logic_vector

std_logic:定義在std_logic_1164包中,是bit類型的拓展,9種類型(u,x,o,1,0,z,w,l,h,-)。
std_logic_vector:定義在std_logic_1164中的一維數組,其中每個元素都是std_logic類型。

3.(7 downto 4) 高到低;(4 to 7) 低到高

語句

if語句:

一個if語句能構成d觸發器
if 條件語句 then
順序語句
end if;

elif----->組合電路
複合------>混合,相與電路

case語句

case()is
when 語句
when 語句
when 語句
when other;
end case;

process語句

並行語句,用於信號
process (敏感信號)
說明部分只能定義變量

元件例化

component 元件名 is

generic
port(端口名錶);

end component

例化:元件名 port map(端口名 => 連接端口名)

三.實驗過程

1、打開QUARTUSII軟件,建立一個工程。
2、新建完工程之後,再新建一個VHDL文件,打開VHDL編輯器對話框。
3、按照實驗原理和自己的想法,在VHDL編輯窗口編寫VHDL程序,用戶可參照ALTERA公司網站上提供的示例程序。
4、編寫完VHDL程序後,保存文件。
5、對編寫的VHDL程序進行編譯,對程序的錯誤進行修改。
6、編譯無誤後,參照附錄進行管腳分配。
7. 燒入實驗箱,查看實驗結國。

發佈了5 篇原創文章 · 獲贊 2 · 訪問量 1420
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章