Presentation is loading. Please wait.

Presentation is loading. Please wait.

推 Seaka: 原來數位邏輯也要上機? 0 0" 140.115.235.65 12/04 推 tlyeh: 工程師 什麼都要上ㄚ ( 不要亂想 ) 十八般 武藝 都要使得出來ㄚ 沒看到 我電工木工 水泥工金工化工生醫 ? 平常都得用出來ㄚ 140.115.7.94 12/05 → tlyeh: 學會了.

Similar presentations


Presentation on theme: "推 Seaka: 原來數位邏輯也要上機? 0 0" 140.115.235.65 12/04 推 tlyeh: 工程師 什麼都要上ㄚ ( 不要亂想 ) 十八般 武藝 都要使得出來ㄚ 沒看到 我電工木工 水泥工金工化工生醫 ? 平常都得用出來ㄚ 140.115.7.94 12/05 → tlyeh: 學會了."— Presentation transcript:

1 推 Seaka: 原來數位邏輯也要上機? 0 0" 140.115.235.65 12/04 推 tlyeh: 工程師 什麼都要上ㄚ ( 不要亂想 ) 十八般 武藝 都要使得出來ㄚ 沒看到 我電工木工 水泥工金工化工生醫 ? 平常都得用出來ㄚ 140.115.7.94 12/05 → tlyeh: 學會了 就用得出來 只是知道卻沒學會 140.115.7.94 12/05 → tlyeh: 就變成 唸書無用 的情形了 140.115.7.94 12/05 → lambdadriver: 真... 真不愧是老師... 140.115.214.238 12/05 → lambdadriver: 那我們上機是要幹嘛... 打電動 !? 140.115.214.238 12/05 推 xiiuili: 老師真強......@@" 140.115.214.56 12/05 → xiiuili: 根據助教的說法... 140.115.214.56 12/05 → xiiuili: 上機 = 模擬電路 = 以前的實驗電腦化 @@" 140.115.214.56 12/05 推 onepieceQ: 是喔 !!! 140.115.214.246 12/05 推 ant3690: 好...抽像 140.115.65.30 12/05 推 tlyeh: 昨天上課到後來 怎麼變成是鬧場的樣子 140.115.7.94 12/06 → tlyeh: 助教 故做 輕鬆狀 同學仍然要有節制分寸 140.115.7.94 12/06 → tlyeh: 弄到 妨礙上課的情形 就過分了 !! 要記住 140.115.7.94 12/06 → tlyeh: 到外面做事的時候 也一體適用 否則會被人 ! 140.115.7.94 12/06 作者 morphous (SCP 動起來吧 ~~~) Wed Dec 6 13:13:32 2006 看板 ME-1A 標題 數位邏輯 12.05 實驗課投影片 http://140.115.67.230/ncume_dl_verilog_intro.ppt 推 jackchang:P4 使用軟體是 ModelSim 220.134.24.151 12/06 → jackchang:p8~p10 的程式範例在 modeule 後面需加分號 220.134.24.151 12/06 → jackchang:p14 中 always 的用法 nogedge 改成 negedge 220.134.24.151 12/06 推 morphous: 嘖嘖嘖 學長昨天沒來上課喔.... 140.115.67.228 12/06 推 morphous: 那是大魔王故意設計的 bug 啦... 140.115.67.228 12/06

2 數 位 邏 輯 軟 體 設 計 實 驗 數 位 邏 輯 軟 體 設 計 實 驗  FPGA (Filed Programmable Gate Array)  CPLD (Complex Programmable Logic Device)

3 差異 :  CPLD 適合用來實現各種 運算和組合邏輯  時間特性預估容易  有固定內部連線電路的邏 輯功能來編程  編程採用 E2PROM 或 Flash 技術,使用時外部不需要 另外的記憶儲存元件  Verilog  FPGA 適用於實現循序邏輯  分段式佈線結構使得其時間 延遲的預測變的困難  具有更大的靈活性透過改變 內部電路佈線來編程  可編程邏輯閘數大  許多編程採用 SRAM 技術, 所以使用時外部需要搭配記 憶儲存元件存放編程訊息使 用方法較複雜  VHDL

4 使用軟體 :  Mdelsim  ISE ( Xilinx Project Navigator)

5 Verilog HDL 簡介

6 Outline  Introduction  四種描述層次  基本單位的描述 module  port  常用的 Logic Gates  其他的語法協定

7 Introduction  Verilog HDL 是一種硬體描述語言,用來描 述電路功能或是架構。  只要有 C 語言的相關經驗即可容易上手。  一般的邏輯合成工具普遍都有支援 Verilog HDL 。  大部分的製造商皆有提供 Verilog HDL 的函 數庫,因此用 Verilog HDL 設計晶片在廠商 方面有較多的選擇。

8 四種描述層次 1.Behavioral level : 只考慮模組中的功能和函數,不必考慮硬體方面的詳 細電路,如同是在寫 C 語言一樣。 2.Dataflow level : 說明資料如何在暫存器中儲存和傳送,和資料處理的 方式。 3.Gate level : 模組是由 Logic gates 所構成的,使用 Logic gates 來設計 電路。 4.Switch level : 最低層次,設計者需知道電晶體的元件特性。

9 Gate level :

10 Behavioral module Beh_AND ( in1, in2, Out) input in1, in2 ; output Out ; reg Out ; always @ ( in1 or in2 ) begin Out = in1 & in2 end endmodule

11 Data Flow module DF_AND ( in1, in2, Out) input in1, in2 ; output Out ; wrie Out ; assign Out = in1 & in2 ; endmodule

12 四種準位數值  0  1  X : 不確定  Z : 高阻抗

13 常用敘述 assign  assign 驅動某個值到 wire, wand, wor,tri 用於資料處理模型 Data Flow Model wire a,b,c; // 宣告三個接縣型態的變數 assign a= b & c; //a = b 和 c 作 and 運算

14 常用敘述 always  可隨時監督外界輸出入 port, 訊號有變化時即 告訴模組內部配合相對應的工作 always @(a or b) begin f=a&b&c; end

15 always 例子 : always @( posedge clock) begin end // posedge 正緣觸發 // nogedge 負緣觸發

16 wire 敘述  接線是連接硬體元件之連接線  接線必須被驅動才能改變它內函值  內定為一個位元值 z

17 reg  暫存器  功能與變數很像, 可以給定一個數值, 主要功能在保持住 電路中某個值, 不必像 (wire) 要被驅動才能改變它的內函 值  內定為一個位元值 x

18 選用 wire 或 reg 時機  wire 必須配合 assign 來使用, 且不能出現在 always 區塊描述裡 Wire a,b,c; assign a &c;  reg 必須放在 always 區塊描述裡 input [3:0] a, b; output [3:0] c; reg [3:0] c; always @(a or b) Begin c=a+b; end

19 二元逐位運算子  ~ NOT  & AND  | OR  ^ XOR  ~^ XNOR

20 範例  Assign a= ~ b ; // not // 若 b= 4’b0010 // 則 a= 4’b1101  Assign a= b & c; // and // 若 b= 4’b0011 // 若 c= 4’b1010 // 則 a= 4’b0010

21 範例  Assign a= b|c ; // or // 若 b= 4’b0011 // 若 c= 4’b1010 // 則 a= 4’b1011  Assign a= b ^ c; // and // 若 b= 4’b0011 // 若 b= 4’b1010 // 則 a= 4’b1001

22 單元運算子  & = AND, ~& = NAND, | = OR, ~| = NOR  ^ = XOR,~^ = NXOR assign a=&b ; assign a=|b;

23 邏輯運算子  != NOT, &&=AND, || = OR 三種 != NOT 條件 : 不成立, 經過 ! 後 : 成立 對於一特定一比輸入資料任何一為元, 只要一位元為 1 運算結果為 0 或只要一位元為 0 運算結果為 1 a =!a 0=1, 1=0, 00=1, 01 = 0, 10=0, 11=0, 00=1

24 &&=AND 對於二個

25 基本單位 - 模組( module )  Module 是以 input, output, bi-direction ports 和 外部溝通 。  一個已經設計好的 Module 可以放在另一個 Module 之中使用。  Ex. module fulladd4(SUM,C_OUT,A,B,C_IN); … endmodule // 有 port 的 module module Top; … endmodule /* 沒有任何的 port 的 modole ,常用於模擬之用 */ 模組的名字 ( 自行命名 ) Input 、 Output

26 Level 的概念  Top Level Module 可以 包含許多的其他 Modules 。  Modules 之中可能還有 其他的 Modules 。 Top Level Module X Module T1 Module T2 Module T3 A B A B A B

27 範例 module X(a,b,c,d,e,f); … T1 jack1(y1,y2,x); T2 jack2(k1,k2,q); T3 jack3(z1,z2,p); … endmodule module T1(u1,u2,u3); … endmodule module T2(v1,v2,v3); … endmodule … Top Level Module X Module T1 Module T2 Module T3 A B A B A B

28 基本單位 -port  與 module 外部的信號溝通。  分為輸出 (output) 、輸入 (input) 、雙向 (inout)  如果你只有宣告 input,output,inout ,則將被視為是 wire 的型態。  如果想要維持信號到下一個 clock ,則需要宣告成 reg 的型態 ( 序 向邏輯電路會用到 )  Ex. output q; reg q; // 這樣才可以儲存資料  向量 : wire 和 reg 皆可宣告成向量 Ex. wire [7:0] a; //8-bit a 變數 reg [40:0] address; //41-bit address 變數

29 Ports 的連接規定  Port 可以浮接,主要是用來除錯。 Ex.fulladd4 fa0(SUM,,A,B,C_IN);  輸出輸入的連接規定 : Module T1 常見的 net 型態 : ex. wire c; Module X

30 模擬用 Error ports module Top; reg [3:0] A,B; reg C_IN; reg [3:0] SUM; wire C_OUT; fulladd4 fa0(SUM,C_OUT,A,B,C_IN); … endmodule fulladd4 的輸出不可以接到 reg 型態的 sum module 的別名,可以隨便取,但是不可相同 Call fulladd4 module fulladd4(s,co,a,b,cin); … endmodule


Download ppt "推 Seaka: 原來數位邏輯也要上機? 0 0" 140.115.235.65 12/04 推 tlyeh: 工程師 什麼都要上ㄚ ( 不要亂想 ) 十八般 武藝 都要使得出來ㄚ 沒看到 我電工木工 水泥工金工化工生醫 ? 平常都得用出來ㄚ 140.115.7.94 12/05 → tlyeh: 學會了."

Similar presentations


Ads by Google