VHDL 的物件 (Objects) 宣告 物件種類 (1) 訊號 (2) 變數 (3) 常數 VHDL 的物件 (Objects) 宣告語法 : [ := ] ;

Slides:



Advertisements
Similar presentations
1 生物計算期末作業 暨南大學資訊工程系 2003/05/13. 2 compare f1 f2  只比較兩個檔案 f1 與 f2 ,比完後將結果輸出。 compare directory  以兩兩比對的方式,比對一個目錄下所有檔案的相 似程度。  將相似度很高的檔案做成報表輸出,報表中至少要.
Advertisements

6-1 指標簡介 6-2 指標與陣列 6-3 動態配置記憶體 6-4 本章綜合練習
Chapter 10 馬可夫鏈 緒言 如果讀者仔細觀察日常生活中所發生的 諸多事件,必然會發現有些事件的未來 發展或演變與該事件現階段的狀況全然 無關,這種事件稱為獨立試行過程 (process of independent trials) ;而另一些 事件則會受到該事件現階段的狀況影響。
布林代數的應用--- 全及項(最小項)和全或項(最大項)展開式
第七章 抽樣與抽樣分配 蒐集統計資料最常見的方式是抽查。這 牽涉到兩個問題: 抽出的樣本是否具有代表性?是否能反應出母體的特徵?
學習C++的基本語法 認識關鍵字與識別字的不同 學習程式碼偵錯的流程 學習如何提高程式的可讀性
: A-Sequence 星級 : ★★☆☆☆ 題組: Online-judge.uva.es PROBLEM SET Volume CIX 題號: Problem D : A-Sequence 解題者:薛祖淵 解題日期: 2006 年 2 月 21 日 題意:一開始先輸入一個.
Section 1.2 Describing Distributions with Numbers 用數字描述分配.
第二章 太陽能電池的基本原理 及其結構 2-1 太陽能電池的基本原理 2-2 太陽能電池的基本結構 2-3 太陽能電池的製作.
Reference, primitive, call by XXX 必也正名乎 誌謝 : 部份文字取於前輩 TAHO 的文章.
1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog 的描述格式 Verilog 的資料型態 Verilog 的事件基礎時間控制 Verilog 的輸入輸出埠描述.
: OPENING DOORS ? 題組: Problem Set Archive with Online Judge 題號: 10606: OPENING DOORS 解題者:侯沛彣 解題日期: 2006 年 6 月 11 日 題意: - 某間學校有 N 個學生,每個學生都有自己的衣物櫃.
第一章 變數、常數及資料型態. 變數 C 程式語言的變數名稱 第一個字必須是英文字母或底線 (_) 之後可以是數字, 英文字母或底線 (_) 不可以是保留字 例: Num (Ο) _score (Ο) C&C (X) 8num (X)
STAT0_sampling Random Sampling  母體: Finite population & Infinity population  由一大小為 N 的有限母體中抽出一樣本數為 n 的樣 本,若每一樣本被抽出的機率是一樣的,這樣本稱 為隨機樣本 (random sample)
第 13 章 常數、靜態成員與朋友關 係 13-1 常數物件與成員 13-1 常數物件與成員 13-2 物件成員與巢狀類別 13-2 物件成員與巢狀類別 13-3 靜態成員資料與函數 13-3 靜態成員資料與函數 13-4 朋友關係 13-4 朋友關係.
1. 假設以下的敘述為一未提供 “ 捷徑計算 ” 能力的程式段,試用程 式設計的技巧,使此敘述經此改 寫的動作後,具有與 “ 捷徑計算 ” 之 處理方法相同之處理模式。 if and then E1 else E2 endif.
Section 2.2 Correlation 相關係數. 散佈圖 1 散佈圖 2 散佈圖的盲點 兩座標軸的刻度不同,散佈圖的外觀呈 現的相聯性強度,會有不同的感受。 散佈圖 2 相聯性看起來比散佈圖 1 來得強。 以統計數字相關係數做為客觀標準。
第 18 章 名稱空間與例外處理 18-1 名稱空間 18-1 名稱空間 18-2 例外處理 18-2 例外處理.
第三章 變數與繫結 陳維魁 博士 儒林圖書公司. 2 大綱  變數的定義  變數元件  儲存區配置問題  參考的透明性  完全計算  捷徑計算  繫結 (binding)  繫結時間  精選習題.
8.1 何謂高度平衡二元搜尋樹 8.2 高度平衡二元搜尋樹的加入 8.3 高度平衡二元搜尋樹的刪除
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
第 3 章 資料和程式表示法.
Department of Air-conditioning and Refrigeration Engineering/ National Taipei University of Technology 模糊控制設計使用 MATLAB 李達生.
2009fallStat_samplec.i.1 Chap10 Sampling distribution (review) 樣本必須是隨機樣本 (random sample) ,才能代表母體 Sample mean 是一隨機變數,隨著每一次抽出來的 樣本值不同,它的值也不同,但會有規律性 為了要知道估計的精確性,必需要知道樣本平均數.
具備人臉追蹤與辨識功能的一個 智慧型數位監視系統 系統架構 在巡邏模式中 ,攝影機會左右來回巡視,並 利用動態膚色偵測得知是否有移動膚色物體, 若有移動的膚色物體則進入到追蹤模式,反之 則繼續巡視。
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
聯合大學資工系 周念湘 BCC 數字系統. 聯合大學資工系 周念湘 2 r 進位:轉成 10 進位 r 代表「基底」  10 進位: r = 10  2 進位: r = 2 D r : 表示某個 r 進位的數 (r 不寫,表.
Chapter 13 塑模靜態觀點:物件圖 Static View : Object Diagram.
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
:Problem D: Bit-wise Sequence ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10232: Problem D: Bit-wise Sequence 解題者:李濟宇 解題日期: 2006 年 4 月 16.
: The largest Clique ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11324: The largest Clique 解題者:李重儀 解題日期: 2008 年 11 月 24 日 題意: 簡單來說,給你一個 directed.
最新計算機概論 第 5 章 系統程式. 5-1 系統程式的類型 作業系統 (OS) : 介於電腦硬體與 應用軟體之間的 程式,除了提供 執行應用軟體的 環境,還負責分 配系統資源。
3-3 使用幾何繪圖工具 Flash 的幾何繪圖工具包括線段工具 (Line Tool) 、橢圓形工具 (Oval Tool) 、多邊星形 工具 (Rectangle Tool) 3 種。這些工具畫出 來的幾何圖形包括了筆畫線條和填色區域, 將它們適當地組合加上有技巧地變形與配 色, 不但比鉛筆工具簡單,
: Tight words ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: : Tight Words 解題者:鐘緯駿、林一帆 解題日期: 2006 年 03 月 14 日 題意: 給定數字 k 與 n (0 ≦ k.
: Fast and Easy Data Compressor ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10043: Fast and Easy Data Compressor 解題者:葉貫中 解題日期: 2007 年 3.
Department of Air-conditioning and Refrigeration Engineering/ National Taipei University of Technology MATLAB 操作與 系統動態模擬 SIMULINK 李達生.
CH 15- 元件可靠度之驗證  驗證方法  指數模式之可靠度驗證  韋式模式之可靠度驗證  對數常態模式之可靠度驗證  失效數為零時之可靠度估算  各種失效模式之應用.
: Problem A : MiniMice ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11411: Problem A : MiniMice 解題者:李重儀 解題日期: 2008 年 9 月 3 日 題意:簡單的說,題目中每一隻老鼠有一個編號.
: Ahoy, Pirates! ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11402: Ahoy, Pirates! 解題者:李重儀 解題日期: 2008 年 8 月 26 日 題意:有一個海盜島有 N 個海盜,他們的編號 (id)
: Multisets and Sequences ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11023: Multisets and Sequences 解題者:葉貫中 解題日期: 2007 年 4 月 24 日 題意:在這個題目中,我們要定義.
:Nuts for nuts..Nuts for nuts.. ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 10944:Nuts for nuts.. 解題者:楊家豪 解題日期: 2006 年 2 月 題意: 給定兩個正整數 x,y.
1. 假設以下的敘述為一未提供 “ 捷徑計算 ” 能力的程式段,試用程 式設計的技巧,使此敘述經此改 寫的動作後,具有與 “ 捷徑計算 ” 之 處理方法相同之處理模式。 if and then E1 else E2 endif.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2008.
Section 4.2 Probability Models 機率模式. 由實驗看機率 實驗前先列出所有可能的實驗結果。 – 擲銅板:正面或反面。 – 擲骰子: 1~6 點。 – 擲骰子兩顆: (1,1),(1,2),(1,3),… 等 36 種。 決定每一個可能的實驗結果發生機率。 – 實驗後所有的實驗結果整理得到。
資料結構實習-二.
845: Gas Station Numbers ★★★ 題組: Problem Set Archive with Online Judge 題號: 845: Gas Station Numbers. 解題者:張維珊 解題日期: 2006 年 2 月 題意: 將輸入的數字,經過重新排列組合或旋轉數字,得到比原先的數字大,
Chapter 10 m-way 搜尋樹與B-Tree
What is Computer.
Probability Distribution 機率分配 汪群超 12/12. 目的:產生具均等分配的數值 (Data) ,並以 『直方圖』的功能計算出數值在不同範圍內出現 的頻率,及繪製數值的分配圖,以反應出該 機率分配的特性。
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2009.
計算機概論 第6章 數位邏輯設計.
5 重複迴圈 5.1 增減運算符號 增量運算符號 減量運算符號
電腦的基本單位 類比訊號 (analog signal) 指的是連續的訊號 數位訊號 (digital signal) 指的是以預先定義的符號表示不連續 的訊號 one bit 8 bits=one byte 電腦裡的所有資料,包括文 字、數據、影像、音訊、視 訊,都是用二進位來表示的。
冷凍空調自動控制 - 系統性能分析 李達生. Focusing here … 概論 自動控制理論發展 自控系統設計實例 Laplace Transform 冷凍空調自動控制 控制系統範例 控制元件作動原理 控制系統除錯 自動控制理論 系統穩定度分析 系統性能分析 PID Controller 自動控制實務.
: Problem E Antimatter Ray Clearcutting ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11008: Problem E Antimatter Ray Clearcutting 解題者:林王智瑞.
連續隨機變數 連續變數:時間、分數、重量、……
Teacher : Ing-Jer Huang TA : Chien-Hung Chen 2015/6/30 Course Embedded Systems : Principles and Implementations Weekly Preview Question CH7.1~CH /12/26.
函式 Function 東海大學物理系‧資訊教育 施奇廷. 函式簡介 當程式越來越大、越複雜時,程式的維護、 除錯會變得更困難,此時必須引入函式來 簡化程式或將程式分段,將程式重複的部 分改寫為函式,將程式「模組化」 這種作法有下列優點:節省程式發展的時 間、邏輯容易瞭解、程式容易除錯、可分 工合作完成程式.
Visual C++重點複習.
1 Introduction to Java Programming Lecture 3 Mathematical Operators Spring 2008.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2010.
數字系統與資料表示法 教師: 陳炯勳 數系轉換 r進制數字 稱為 base r或 radix r 有r個計數符號,計數順序逢r歸零(進位) A n A n - 1 ‥‥A 2 A 1 A 0 ﹒A -1 A -2 ‥‥A -m 其中A n 及A.
: Finding Paths in Grid ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11486: Finding Paths in Grid 解題者:李重儀 解題日期: 2008 年 10 月 14 日 題意:給一個 7 個 column.
:Problem E.Stone Game ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10165: Problem E.Stone Game 解題者:李濟宇 解題日期: 2006 年 3 月 26 日 題意: Jack 與 Jim.
幼兒行為觀察與記錄 第八章 事件取樣法.
1 Introduction to Java Programming Lecture 3 Mathematical Operators Spring 2009.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
VHDL語法(3).
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
Presentation transcript:

VHDL 的物件 (Objects) 宣告 物件種類 (1) 訊號 (2) 變數 (3) 常數 VHDL 的物件 (Objects) 宣告語法 : [ := ] ;

VHDL 的物件 (Objects) 宣告 (1) 訊號 : 在 VHDL 中的訊號是指電路上的連接點, 它包括實體中在埠 (Port) 後宣告的接腳 及在結構 (Architecture) 中宣告的訊號 (Signal) 接點

VHDL 的物件 (Objects) 宣告 (1) 訊號例 :

VHDL 的物件 (Objects) 宣告 (2) 變 數 ( Variable ) VHDL 中的變數與一般電腦語言中的變數一樣, 提 供在程式中做計數或運算用 例 : variable example_var1 : std_logic := '0'; ……… example_var1 := ‘1’; -- 使用變數 example_var1 及設定值 =1

變數 變數物件被宣告在 process 或副程式中, 我 們稱它為 process 或副程式的 區域變數

VHDL 的物件 (Objects) 宣告 常 數 ( Constant ) 常數可以宣告在任何可宣告 區域, 但它的數值經宣告後是 不可更改的 例 : constant enable_bits : integer := 0;

VHDL 標準的資料型態

整數 (integer) 整數 (integer) 型態是資料長度最 長是 32bits, 整數型態資料又可分有正負號 (Signed) 及無正負號 (Unsigned) 等兩種, 指定資料 型態前 您必需先宣告相關零件庫及使用相關包 裝 包裝 std_logic_1164 及 std_logic_signed 主要是提 供有正負號 (Signed) 型態用。 包裝 std_logic_1164 及 std_logic_unsigned 主要是 提供無正負號 (unsigned) 型態用。

VHDL 標準的資料型態 整數資料型態其長度雖然是 32bits, 但它會隨實際的數值調整資料長度 到最短。 以調整最節省硬體的大小。 例 : a := 15; 則 a 的資料長度只有 4bits

VHDL 標準的資料型態 資料型態 說 明 實數 Real 在設計時物件宣告資料型態用, 例如 : variable float_m: real :=1.25; 這個資料型態並不被許多合成工具支援。 自然數 Natural 它與整數定義相同, 值域範圍是 0~ 最大整數 例如 : variable index: natural; 這個資料型態因與整數型態相同所以在設 計時大多數會使用整數方式宣告。 正整數 Positive 值域在 1~ 最大正整數值, 宣告範例如下 : variable pos_val: positive;

VHDL 標準的資料型態 布林代數 Boolean 值域在 {TRUE,FALSE} 或 {1,0} 宣告範例如下 : variable logic_val: boolean; 數值設定範例如 : logic_val:=TRUE; 位元 Bit 值域在 {1,0} 宣告範例如下 : signal en_bit: bit; 數值設定範例如 : en_bit <= ‘1’; 位元向量 Bit_vector 它是個位元陣列資料型態, 宣告範例如下 : signal data_bus: bit_vector ( 31 downto 0 ); 數值設定範例如 : data_bus <= “ ”;

VHDL 標準的資料型態 字元 Character 字元型態資料長度為 8 位元, 宣告範例如下 : variable char_val: character; 數值設定範例如 : char_val := ‘A’; 字串 String 它是字元陣列的資料型態, 宣告範例如下 : variable text_val: string; 數值設定範例如 : text_val:=”Hello” 時間 Time 在設計時利用它來訂出時間資料型態, 宣告範 例如 :variable Td: time; 數值設定範例如 : Td := 100nS;

資料型態的轉換 在 VHDL 的 std_logic_arith 包裝中提供了轉換功能函數, 做為不同型態資料的轉換, 如 : CONV_INTEGER( 參數 ) 將括號內的參數轉換成整數 型態, 轉換後的數值範圍在 to 之間。 CONV_UNSIGNED( 參數 ) 將括號內的參數轉換成無正 負號型態。 CONV_SIGNED ( 參數 ) 將括號內的參數轉換成有正 負號型態。 CONV_STD_LOGIC_VECTOR( 參數 ) 將括號內的參 數轉換成 STD_LOGIC_VECTOR 。

配合資料型態的數值設定 狀態字代表意義 'U' 未初始化的未知值 'X' 強制性的未知值, 隨意 值 (Don't care) '0' 邏輯狀態 :‘0’ '1' 邏輯狀態 :‘1’ 'Z' 高阻抗狀態 Hi-Z

配合資料型態的數值設定 'w' 弱制約性的未知值, 隨意值 (Don't care) 'l' 邏輯狀態 : 低電位 ‘0’ 'h' 邏輯狀態 : 高電位 ‘1’ '-' 隨意值 (Don't care)

Std_Logic /Std_Logic_Vector 標準邏輯資料型態 Std_Logic 及 Std_Logic_Vector 可指定以上九種數值

配合資料型態的數值設定 狀態字代表意義 False 邏輯狀態 :‘0’ True 邏輯狀態 :‘1’ 在一般邏輯數值系統時, 底下兩個值及其代表意義

Two drivers onto a bus R esolution function R {A, B} predicts the result of two drivers to drive signals with values A and B onto a bus. R {A, B} B = 0 B = 1 B = X B = Z A = 0 0 X X 0 A = 1 X 1 X 1 A = X X X X X A = Z 0 1 X Z

使用者自訂資料型態 列舉資料型態: type is ( ) ; 例 : type traffic_light is ( red, yellow, green); …… signal lighting : traffic_light; …… lighting <= red; ………

使用者自訂資料型態 如果要設定 lighting 物件數值時只有 red 、 yellow 及 green 三者之一才會被接受。 電路合成器會將列舉資料由左至右作二 進制邏輯編碼, 例如這個例子而言 red 將編 碼成為 ”00”,yellow 為 ”01” 及 green 為 ”10” 。

使用者自訂資料型態 陣列資料型態 例 : TYPE nibble IS ARRAY(3 DOWNTO 0); TYPE byte IS ARRAY(7 DOWNTO 0); TYPE word IS ARRAY(15 DOWNTO 0); TYPE balls IS ARRAY(0 TO 199);

使用者自訂資料型態 記錄資料型態 多種資料型態組成一個記錄 (Record) 群集 例 : -- 記錄資料型態宣告如下 : TYPE clock_rec IS RECORD Seconds : integer 0 to 59; Minutes : integer 0 to 59; Hours : integer 0 to 24; END RECORD; …………….

使用者自訂資料型態 使用記錄資料型態 SIGNAL T1,T2,T3 : clock_rec; 設定訊號物件 T1. Seconds<= 30; T1. Minutes<= 10; T1. Hours<= 23 ; T2.Hours <= 3;

VHDL 的運算敘述 VHDL 的運算表示式分成 : 訊號設定表示 式與變數表示式兩種。 對於變數 (Variable) 我們使用 “:=” 當做類 似 ” 等於 ” 的運算 對於訊號則使用 “<=” 當做類似 ” 設定 ” 的 運算

VHDL 的運算敘述 例 : example_var1 := '0'; 訊號表示式是以 <= 來設定運算。 例 : example_signal <= '001'; 例 : 在圖 中我們可以看到運算元如何使用, 特 別將它們截取如下 : SUM <= ( A xor B) xor C; -- 全加器 ” 和 ” 的布林函數 CY <= (A and B) or ( B and C ) or ( A and C ); -- 全加器 ” 進位 ” 的布林函數

VHDL 的算術運算 + 加 - 減 * 乘 / 除,* 只在編譯時設定數值運算用 ** 指數 * 只在編譯時設定數值運算用 Abs 絕對值, 取正值 Mod 求模數 * 只在編譯時設定數值運算用 Rem 求餘數 * 只在編譯時設定數值運算用

VHDL 的算術運算 = 等於, 如果兩值相等則為真 (true), 否則為假 (false) 如果其中有一未知值, 則輸出未知值 X /= 不等於, 如果兩值不相等則為真 (true), 否則為假 (false) 如果其中有一未知值, 則輸出未知值 X < 小於, 如果左值小於右值則為真 (true), 否則為假 (false) 如果其中有一未知值, 則輸出未知值 X <= 小於等於, 如果左值小於等於右值則為真 (true), 否則為 假 (false) 如果其中有一未知值, 則輸出未知值 X > 大於, 如果左值大於右值則為真 (true), 否則為假 (false) 如果其中有一未知值, 則輸出未知值 X >= 大於等於, 如果左值大於等於右值則為真 (true), 否則為 假 (false) 如果其中有一未知值, 則輸出未知值 X

VHDL 的邏輯運算 Not 取相反 And 及 Or 或 Nand 反及 Nor 反或 Xor 互斥或 Xnor 反互斥或

VHDL 的位移運算 Sll 邏輯性左移 Srl 邏輯性右移 Sla 算術性左移 ( 牽涉正負號 ) Sra 算術性右移 ( 牽涉正負號 ) Rol 向左旋轉 Ror 向右旋轉

VHDL 的其它運算 - 取負值 & 字元或字串串接運算

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY exercise is PORT( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0); B : IN STD_LOGIC_VECTOR(3 DOWNTO 0); C : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); END exercise; ARCHITECTURE architec OF exercise IS BEGIN C(0) <= Not A(0); C(2 downto 1) <= A(2 downto 1) and B(2 downto 1); C(3) <= '1' xor A(3) ; C(7 downto 4) <= "1111" WHEN (A /= B) else "0000"; END architec;