1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog 的描述格式 Verilog 的資料型態 Verilog 的事件基礎時間控制 Verilog 的輸入輸出埠描述.

Slides:



Advertisements
Similar presentations
Department of E lectronic E ngineering, N otional C hin-Yi U niversity of T echnology Introduction to Verilog HDL Ping-Liang Lai ( 賴秉樑 ) VLSI Testing 積體電路測試.
Advertisements

FCU, Department of ECE, IC Design Research Lab. TEL: # 4945 Pre-SIm , Post-Sim.
Divide-and-Conquer. 什麼是 divide-and-conquer ? Divide 就是把問題分割 Conquer 則是把答案結合起來.
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 日 題意:一開始先輸入一個.
:Word Morphing ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10508:word morphing 解題者:楊家豪 解題日期: 2006 年 5 月 21 日 題意: 第一行給你兩個正整數, 第一個代表下面會出現幾個字串,
第二章 太陽能電池的基本原理 及其結構 2-1 太陽能電池的基本原理 2-2 太陽能電池的基本結構 2-3 太陽能電池的製作.
Reference, primitive, call by XXX 必也正名乎 誌謝 : 部份文字取於前輩 TAHO 的文章.
小綠人行人用交通號誌燈 指導教授:黃朝章 學生:951408陳宜歆 徐祐祥.
1 第一章 Word 的基本觀念 內容概要: Word 的特色 啟動與離開 Word 的方法 滑鼠游標與外型的介紹 基本操作 Word 視窗法則 使用 Word 遭遇問題時, 應如何利用軟體特 性而獲得輔助解說.
1 Chapter 6 狀態機設計法 狀態機設計法的介紹 在圖形編輯器視窗下執行 在 Project Manager 視窗下執行.
: OPENING DOORS ? 題組: Problem Set Archive with Online Judge 題號: 10606: OPENING DOORS 解題者:侯沛彣 解題日期: 2006 年 6 月 11 日 題意: - 某間學校有 N 個學生,每個學生都有自己的衣物櫃.
第一章 變數、常數及資料型態. 變數 C 程式語言的變數名稱 第一個字必須是英文字母或底線 (_) 之後可以是數字, 英文字母或底線 (_) 不可以是保留字 例: Num (Ο) _score (Ο) C&C (X) 8num (X)
JAVA 程式設計與資料結構 第二章 JAVA 程式基本概念及操作. 第一個程式 /* * 這是第一個程式 (FirstP.java) */ class FirstP{ public static void main(String args[]){ System.out.println("Whatever.
1.1 電腦的特性 電腦能夠快速處理資料:電腦可在一秒內處理數百萬個 基本運算,這是人腦所不能做到的。原本人腦一天的工 作量,交給電腦可能僅需幾分鐘的時間就處理完畢。 電腦能夠快速處理資料:電腦可在一秒內處理數百萬個 基本運算,這是人腦所不能做到的。原本人腦一天的工 作量,交給電腦可能僅需幾分鐘的時間就處理完畢。
STAT0_sampling Random Sampling  母體: Finite population & Infinity population  由一大小為 N 的有限母體中抽出一樣本數為 n 的樣 本,若每一樣本被抽出的機率是一樣的,這樣本稱 為隨機樣本 (random sample)
1. 假設以下的敘述為一未提供 “ 捷徑計算 ” 能力的程式段,試用程 式設計的技巧,使此敘述經此改 寫的動作後,具有與 “ 捷徑計算 ” 之 處理方法相同之處理模式。 if and then E1 else E2 endif.
第 18 章 名稱空間與例外處理 18-1 名稱空間 18-1 名稱空間 18-2 例外處理 18-2 例外處理.
程式註解說明. 2 程式註解格式 塊狀註解 對檔案、 class 、 method 、資料結構、一段程式 …. 等程式區塊 做說明。 第一行的開頭必需為 “/*” 且沒有其他文字,最後一行的開頭 必需以 “*/” 做為結束,在中間每一行的開頭都必需是一個 “*” 。 單行註解 佔據一整行的說明。 以.
8.1 何謂高度平衡二元搜尋樹 8.2 高度平衡二元搜尋樹的加入 8.3 高度平衡二元搜尋樹的刪除
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
第 3 章 資料和程式表示法.
Chapter 07 低階程式語言.
Department of Air-conditioning and Refrigeration Engineering/ National Taipei University of Technology 模糊控制設計使用 MATLAB 李達生.
Introduction to Java Programming Lecture 5: Using Java Classes : String & Math Spring 2009.
© The McGraw-Hill Companies, Inc., 2008 第 6 章 製造流程的選擇與設計.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
Chapter 13 塑模靜態觀點:物件圖 Static View : Object Diagram.
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
最新計算機概論 第 5 章 系統程式. 5-1 系統程式的類型 作業系統 (OS) : 介於電腦硬體與 應用軟體之間的 程式,除了提供 執行應用軟體的 環境,還負責分 配系統資源。
Chapter 20 塑模動態觀點:狀態圖 Statechart Diagram. 學習目標  說明狀態圖的目的  定義狀態圖的基本記號  展示狀態圖的建構  定義活動、內部事件及遞延事件的狀態 圖記號.
Hung-Hsiang WuWindows Processing Design1 Chapter 3 基本觀念 變數宣告與型態 特殊運算子符號 字串與數值的轉換 類別與物件的觀念 建立新的專案 WinMain 程式進入點 Include Header File.
: 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 李達生.
: Ahoy, Pirates! ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11402: Ahoy, Pirates! 解題者:李重儀 解題日期: 2008 年 8 月 26 日 題意:有一個海盜島有 N 個海盜,他們的編號 (id)
:Nuts for nuts..Nuts for nuts.. ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 10944:Nuts for nuts.. 解題者:楊家豪 解題日期: 2006 年 2 月 題意: 給定兩個正整數 x,y.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2008.
計算機概論 演算法與程式語言 李明山.
: Problem G e-Coins ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10306: Problem G e-Coins 解題者:陳瀅文 解題日期: 2006 年 5 月 2 日 題意:給定一個正整數 S (0
: Beautiful Numbers ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11472: Beautiful Numbers 解題者:邱經達 解題日期: 2011 年 5 月 5 日 題意: 若一個 N 進位的數用到該.
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.
本章重點 2-1 有序串列(Ordered List) 2-2 介紹陣列(array) 2-3 矩陣(matrix)的應用
網路介紹及其運用 講師陳炯勳. 5-2 IP 協定 ( 一 ) IP 協定運作 (1) – 網路成員:主機 (Host) 與路由器 (Router) – 路由表 – 電報傳輸運作.
Probability Distribution 機率分配 汪群超 12/12. 目的:產生具均等分配的數值 (Data) ,並以 『直方圖』的功能計算出數值在不同範圍內出現 的頻率,及繪製數值的分配圖,以反應出該 機率分配的特性。
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2009.
5 重複迴圈 5.1 增減運算符號 增量運算符號 減量運算符號
電腦的基本單位 類比訊號 (analog signal) 指的是連續的訊號 數位訊號 (digital signal) 指的是以預先定義的符號表示不連續 的訊號 one bit 8 bits=one byte 電腦裡的所有資料,包括文 字、數據、影像、音訊、視 訊,都是用二進位來表示的。
連續隨機變數 連續變數:時間、分數、重量、……
VHDL 的物件 (Objects) 宣告 物件種類 (1) 訊號 (2) 變數 (3) 常數 VHDL 的物件 (Objects) 宣告語法 : [ := ] ;
函式 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.
7.4 程式範例 在螢幕上寫出“Hello” 的程式 (參考 code/pep-p200.odc).
數字系統與資料表示法 教師: 陳炯勳 數系轉換 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.
Microsoft Excel.
計 算 機 概 論 Chapter 10 作業系統. Ch010 作業系統 2 學習目標  描述作業系統的兩個主要任務  定義記憶體及程序管理  解釋邏輯位址與實體位址間的關係  基礎:第 5.2 節 范紐曼 電腦架構  ( 第 5 章講義第 頁 )
1 Introduction to Java Programming Lecture 3 Mathematical Operators Spring 2009.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
VHDL語法(3).
: How many 0's? ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11038: How many 0’s? 解題者:楊鵬宇 解題日期: 2007 年 5 月 15 日 題意:寫下題目給的 m 與 n(m
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
1 資料表示法 Chien-Chang Chen Hsuan-Chuang University.
Presentation transcript:

1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog 的描述格式 Verilog 的資料型態 Verilog 的事件基礎時間控制 Verilog 的輸入輸出埠描述

2 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog 的描述格式 Verilog 的資料型態 Verilog 的事件基礎時間控制 Verilog 的輸入輸出埠描述

3 Verilog 硬體描述語言的基本架構 module Behavioral- level Dataflow- level Gate- level Switch- level enmodule

4 模組內之四種層次描述電路 開關層次 (Switch-Level): 描述元件開關及 儲存點組合而成 邏輯層次 (Gate-Level): 描述邏輯閘的連接 形式 資料流層次 (Data-Level): 描述電路的資料 如何在暫存器中儲存與傳送 行為層次 (Behavioral-Level): 描述模組之 功能

5 暫存器轉移層次 (Register-Transfer-Level, RTL) 資料流層次 (Data-Level) + 行為層次 (Behavioral-Level) 經合成而形成暫存器 轉移層次 (Register-Transfer-Level, RTL)

6 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog 的描述格式 Verilog 的資料型態 Verilog 的事件基礎時間控制 Verilog 的輸入輸出埠描述

7 Verilog 模組描述的基本格式 Module 模組四個層次的描述 ; endmodule

8 以開關層次描述一 NOT 閘之模組 module inv (ina, out); input ina; output out; supply1 vcc; supply0 gnd; pmos (out, vcc, ina); nmos (gnd, out, ina); endmodule

9 以邏輯閘層次描述一 OR 閘之模組 module ORGATE (A, B, F); input A; input B; output F; or u1(F, A, B); endmodule

10 以資料流層次描述一 AND 閘之模組 module ANDGATE (A, B, F); input A; input B; output F; wire F; assign F=A&B; endmodule

11 以行為層次描述一 NAND 閘之模組 module NANDGATE (A, B, F); input A; input B; output F; reg F; or B); begin F=~(A & B); end endmodule

12 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog 的描述格式 Verilog 的資料型態 Verilog 的事件基礎時間控制 Verilog 的輸入輸出埠描述

13 Create a New Project

14 Design Entry

15 Create new document

16 Design Wizard

17 Design Wizard---Language

18 Design Wizard---Name

19 Design Wizard---Ports

20 OR Gate HDL Editor

21 Insert Programs

22 Check Syntax

23 Synthesize  Gate level circuit

24 Create Macro

25 Update Macro

26 在 Schematic Editor 取出 OR GATE

27 模擬結果

28 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog 的描述格式 Verilog 的資料型態 Verilog 的事件基礎時間控制 Verilog 的輸入輸出埠描述

29 Verilog 的基本語法規定 關鍵字如 module, endmodule, assign, wire, always, input, output, begin, end … 等必須使用小寫 識別字的大小寫是有差別的,第一個字 必須是使用英文字母 單行註解用 //; 多行註解用 /* … */ 字串以雙引號表示,如 “ This is a string ”

30 Verilog 的數字格式 (1) 有規定長度的數字 (sized numbers)  ’ : 位元數 :d  10 進位,h  16 進位, o  8 進位,b  2 進位 Example: F=4 ’ b0101; A=16 ’ h6FA3

31 Verilog 的數字格式 (2) 不規定長度的數字 (unsized numbers) ’ :d  10 進位,h  16 進位, o  8 進位,b  2 進位 位元數之大小由模擬器或硬體機定值來決定 Example: b= ’ ha5; b=a5(32 位元之 16 進 位數 )

32 Verilog 的運算子

33

34

35 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog 的描述格式 Verilog 的資料型態 Verilog 的事件基礎時間控制 Verilog 的輸入輸出埠描述

36 (1) 、數值組集 (Value Set) Verilog 有四種表示數值,即 0 、 1 、 x 、 z 以及八種信號強度

37 (2) 、接線 (net) 接線 (net) 表示在硬體元件的接點連接線 關鍵字可以分為下列六種 wire: 內定為一個位元的值,機定值為高阻抗 wand: Wired-AND 型接線 waor: Wired-OR 型接線 tri trior trireg

38 (3) 、暫存器 (reg) Verilog 中 reg 相當於一個變數,其機定值 為 x Example: reg out; 宣告一個 out 變數, reg 所宣告的變數必須在 always 的區塊描 述內使用 module NANDGATE (A, B, F); input A; input B; output F; reg F; or B); begin F=~(A & B); end endmodule

39 (4) 、向量 (Vectors) 向量 (Vectors) 表示多位元的元件, wire 及 reg 都可定義為向量格式 Examples: wire A[7:0]; // 宣告有一 8 位元的 BUS reg [0:15] out; // 宣告有一 16 位元寬度的向 量暫存器變數 out

40 (5) 、整數 (Integer) 整數之關鍵字為 integer ,最少要 32 位元, integer 宣告可帶正負號 Example: integer count; initial count = 0;

41 (6) 、實數 (Real) 實數之關鍵字為 real ,可用十進制或帶有 指數表示 Example: real w, x; initial begin w = 5.2; x = 25e6;

42 (7) 、時間 (Time) 時間之關鍵字為 time ,主要功能在描述 儲存模擬的時間,也就是取得目前的模 擬時間,最少為 64 位元的資料 Example: time storage_time; initial storage_time=$time

43 (8) 、陣列 (Arrays) Verilog 所提供陣列的儲存內容可以是整 數、暫存資料、時間及向量,但不能為 實數而且只適用於一維陣列 表示格式為 [ ] integer A[0:15];16 個變數 A 的陣列 reg [3:0] B[0:15];16 個變數 B 的陣列,每 一個 B 的位元寬度為 4 位元

44 (9) 、記憶體 (Memories) 記憶體是一個暫存器的陣列,而陣列中 的每一個物件都視為一個 word ,每一個 word 可以是 1 個位元或是多個位元所組成 reg [15:0] memory1 [0:1023]/* 宣告記 憶體 memory1 為 16 位元 1K word 的大小 */ reg memory2 [0:1023]/* 宣告記憶體 memory2 為 1 位元 1K word 的大小 */

45 (10) 、參數 (Parameters) 主要作用在設定一個固定常數,此常數 可在每一次編譯時更改其值 parameter LGG=100;// 宣告一常數 LGG 等於 100

46 (11) 、字串 (Strings) 字串的作用在指定給暫存器,若長度大 於 reg 的長度,則其左邊的位元會被刪掉, 若長度小於 reg 的長度,則其左邊的位元 會以零補之 Reg [8*16:1] string_value; initial string_value= “ good morning ”

47 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog 的描述格式 Verilog 的資料型態 Verilog 的事件基礎時間控制 Verilog 的輸入輸出埠描述

48 事件基礎時間控制 (Event-based timing control) Event 就是一個 wire 當暫存器改變時就是事件,此事件可用來觸發 一個敘述或包含多個敘述的區塊,且模組的輸 入埠接收到一個新值也算是一個事件 Event-based timing control 可包含 (1) Regular event control (2) Named event control (3) Event OR control (4) Level-sensitive timing control

49 Regular event control ,它是表示當信號產生正 緣 (posedge) ,負緣 (negedge) ,轉換 (transition) 或數值改變時,其相關敘述 才會被執行 Q=J; 當 clock 信號值改 變時就執行 Q=J 敘述 clock) Q=J; 當 clock 信號正緣觸發時就執行 Q=J 敘述

50 Event OR control 指使用多個信號或事件去觸發一個敘述或含有多個敘 述的區塊來執行,因此將這些多個信號或事件以 or( 或 ) 來表示 or clock or A or B) begin if (reset) F=1 ’ b0; else if (clock) F=A+B; end

51 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog 的描述格式 Verilog 的資料型態 Verilog 的事件基礎時間控制 Verilog 的輸入輸出埠描述

52 Verilog 的輸入輸出埠描述 輸入埠 (input) 輸出埠 (output) 雙向埠 (inout) Examples module Addr(F1, F2, D, SUM, C0) input [3:0] F1, F2; output [3:0] SUM; output C0; input D;

53 Question & Answer