Verilog design example [相容模式] - SOC & DSP...

43
National Chung Hsing University SOC & DSP Lab. 1 授課老師:黃穎聰 老師 TA徐偉傑 LAB723 Verilog HDL設計範例 National Chung Hsing University SOC & DSP Lab. 2 Outline 1. 八位元暫存器 2. 雙向輸入輸出腳暫存器 3. 資料選擇系統 4. 存入位址控制系統 5. 堆疊系統 6. 程式計數器系統之一 7. 程式計數器系統之二

Transcript of Verilog design example [相容模式] - SOC & DSP...

  • National Chung Hsing University

    SOC & DSP Lab. 1

    授課老師:黃穎聰老師

    TA:徐偉傑 LAB723

    Verilog HDL設計範例

    National Chung Hsing University

    SOC & DSP Lab.

    2

    Outline

    1. 八位元暫存器

    2. 雙向輸入輸出腳暫存器

    3. 資料選擇系統

    4. 存入位址控制系統

    5. 堆疊系統

    6. 程式計數器系統之一

    7. 程式計數器系統之二

  • National Chung Hsing University

    SOC & DSP Lab.

    3

    1. 八位元暫存器

    2. 雙向輸入輸出腳暫存器

    3. 資料選擇系統

    4. 存入位址控制系統

    5. 堆疊系統

    6. 程式計數器系統之一

    7. 程式計數器系統之二

    National Chung Hsing University

    SOC & DSP Lab.

    4

    八位元暫存器-1/2Verilog HDL Code:

    Symbol view:

    Schematic-1:

  • National Chung Hsing University

    SOC & DSP Lab.

    5

    八位元暫存器-2/2Verilog HDL Code: Schematic-2:

    註:此圖為其中之1 bit暫存器電路圖,QN Pin為浮接。

    National Chung Hsing University

    SOC & DSP Lab.

    6

    1. 八位元暫存器

    2. 雙向輸入輸出腳暫存器

    3. 資料選擇系統

    4. 存入位址控制系統

    5. 堆疊系統

    6. 程式計數器系統之一

    7. 程式計數器系統之二

  • National Chung Hsing University

    SOC & DSP Lab.

    7

    雙向輸入輸出腳暫存器-1/3Verilog HDL Code(part 1):

    Symbol view:

    Verilog HDL Code(part 2):

    We: determine the directionAddr: determine Q0 or Q1

    National Chung Hsing University

    SOC & DSP Lab.

    8

    雙向輸入輸出腳暫存器-2/3Verilog HDL Code(part 1): Schematic-1:

    Q1 Q0

  • National Chung Hsing University

    SOC & DSP Lab.

    9

    雙向輸入輸出腳暫存器-3/3Verilog HDL Code(part 2): Schematic-2:

    MUX Tri-BUF

    MUX

    Tri-BUF

    National Chung Hsing University

    SOC & DSP Lab.

    10

    1. 八位元暫存器

    2. 雙向輸入輸出腳暫存器

    3. 資料選擇系統

    4. 存入位址控制系統

    5. 堆疊系統

    6. 程式計數器系統之一

    7. 程式計數器系統之二

  • National Chung Hsing University

    SOC & DSP Lab.

    11

    資料選擇系統-1/2Verilog HDL Code:

    Da -> dataaDb / romx -> datab

    Symbol view:

    National Chung Hsing University

    SOC & DSP Lab.

    12

    資料選擇系統-2/2Verilog HDL Code: Schematic:

    MUX

    MUX

  • National Chung Hsing University

    SOC & DSP Lab.

    13

    1. 八位元暫存器

    2. 雙向輸入輸出腳暫存器

    3. 資料選擇系統

    4. 存入位址控制系統

    5. 堆疊系統

    6. 程式計數器系統之一

    7. 程式計數器系統之二

    National Chung Hsing University

    SOC & DSP Lab.

    14

    存入位址控制系統-1/2Verilog HDL Code:

    Symbol view:

  • National Chung Hsing University

    SOC & DSP Lab.

    15

    存入位址控制系統-2/2Verilog HDL Code:

    Schematic:

    MUX

    MUX

    REG-1 REG-2

    REG-1

    REG-2

    National Chung Hsing University

    SOC & DSP Lab.

    16

    1. 八位元暫存器

    2. 雙向輸入輸出腳暫存器

    3. 資料選擇系統

    4. 存入位址控制系統

    5. 堆疊系統

    6. 程式計數器系統之一

    7. 程式計數器系統之二

  • National Chung Hsing University

    SOC & DSP Lab.

    17

    堆疊系統-1/4Verilog HDL Code:

    Symbol view:

    Schematic:

    Combinational logic

    Sequential logic

    National Chung Hsing University

    SOC & DSP Lab.

    18

    堆疊系統-2/4Verilog HDL Code(part1): Schematic:

    sp

    push

    pcx

    Clk

    (sp==3)

    (sp==2)

    (sp==1)

    (sp==0)

    Decoder logic

  • National Chung Hsing University

    SOC & DSP Lab.

    19

    堆疊系統-3/4Verilog HDL Code(part2): Schematic:

    sp

    push

    pcx

    Clk

    註:此圖為12 bits中之1 bit暫存器表示

    Register

    National Chung Hsing University

    SOC & DSP Lab.

    20

    堆疊系統-4/4Verilog HDL Code(part3): Schematic:

    sp

    push

    pcx

    Clk

    Q1[0]

    Q0[0]

    Q3[0]

    Q2[0]

    stko[0]

    ↓註:此圖為12 bits的stko中之↓ 1 bit表示

    (sp==0)

    (sp==1)

    (sp==2)

    (sp==3)

    4:1 Multiplexer

  • National Chung Hsing University

    SOC & DSP Lab.

    21

    1. 八位元暫存器

    2. 雙向輸入輸出腳暫存器

    3. 資料選擇系統

    4. 存入位址控制系統

    5. 堆疊系統

    6. 程式計數器系統之一

    7. 程式計數器系統之二

    National Chung Hsing University

    SOC & DSP Lab.

    22

    程式計數器系統之一-1/3Verilog HDL Code:

    Symbol view:

    Schematic:

  • National Chung Hsing University

    SOC & DSP Lab.

    23

    程式計數器系統之一-2/3

    Verilog HDL Code:

    Schematic:

    National Chung Hsing University

    SOC & DSP Lab.

    24

    程式計數器系統之一-3/3Verilog HDL Code: Schematic:

    Adder

    Adder

  • National Chung Hsing University

    SOC & DSP Lab.

    25

    1. 八位元暫存器

    2. 雙向輸入輸出腳暫存器

    3. 資料選擇系統

    4. 存入位址控制系統

    5. 堆疊系統

    6. 程式計數器系統之一

    7. 程式計數器系統之二

    National Chung Hsing University

    SOC & DSP Lab.

    26

    程式計數器系統之二-1/3Verilog HDL Code:

    Symbol view:

    Schematic:

  • National Chung Hsing University

    SOC & DSP Lab.

    27

    程式計數器系統之二-2/3Verilog HDL Code: Schematic:

    Clk→

    jump→jnumber[11:0]→

    stko[11:0]→ret→

    Adder

    Adder

    National Chung Hsing University

    SOC & DSP Lab.

    28

    程式計數器系統之二-3/3

    Clk→

    jump→jnumber[11:0]→

    stko[11:0]→ret→

    Verilog HDL Code: Schematic:

  • National Chung Hsing University

    SOC & DSP Lab. 29

    授課老師:黃穎聰老師

    TA:徐偉傑 LAB723

    Verilog HDL設計範例

    National Chung Hsing University

    SOC & DSP Lab.

    30

    Outline

    1. 設計3x8解碼器電路2. 設計ALU電路3. 設計8位元平行多工暫存器電路4. 設計16位元計數器電路5. 設計管線處理電路

  • National Chung Hsing University

    SOC & DSP Lab.

    31

    1. 設計3x8解碼器電路2. 設計ALU電路3. 設計8位元平行多工暫存器電路4. 設計16位元計數器電路5. 設計管線處理電路

    National Chung Hsing University

    SOC & DSP Lab.

    32

    設計3x8解碼器電路-1/3Verilog HDL Code:(? : 條件運算子的應用)

    Verilog HDL Code:(always行為模式及case循序指令)

  • National Chung Hsing University

    SOC & DSP Lab.

    33

    設計3x8解碼器電路-2/3Symbol view:Schematic:

    National Chung Hsing University

    SOC & DSP Lab.

    34

    設計3x8解碼器電路-3/3

  • National Chung Hsing University

    SOC & DSP Lab.

    35

    1. 設計3x8解碼器電路2. 設計ALU電路3. 設計8位元平行多工暫存器電路4. 設計16位元計數器電路5. 設計管線處理電路

    National Chung Hsing University

    SOC & DSP Lab.

    36

    設計ALU電路-1/7Verilog HDL Code: Symbol view:

    Schematic:

    src_a[7:0]

    src_b[7:0]

    c[2:0]

  • National Chung Hsing University

    SOC & DSP Lab.

    37

    設計ALU電路-2/7

    National Chung Hsing University

    SOC & DSP Lab.

    38

    設計ALU電路-3/7

  • National Chung Hsing University

    SOC & DSP Lab.

    39

    設計ALU電路-4/7

    National Chung Hsing University

    SOC & DSP Lab.

    40

    設計ALU電路-5/7

  • National Chung Hsing University

    SOC & DSP Lab.

    41

    設計ALU電路-6/7

    National Chung Hsing University

    SOC & DSP Lab.

    42

    設計ALU電路-7/7

  • National Chung Hsing University

    SOC & DSP Lab.

    43

    1. 設計3x8解碼器電路2. 設計ALU電路3. 設計8位元平行多工暫存器電路4. 設計16位元計數器電路5. 設計管線處理電路

    National Chung Hsing University

    SOC & DSP Lab.

    44

    設計8位元平行多工暫存器電路-1/4Verilog HDL Code:

    Symbol view:

    Schematic:

    b[7:0]a[7:0]c[7:0]

    d[7:0]sel[1:0]

    clk

    reset

  • National Chung Hsing University

    SOC & DSP Lab.

    45

    設計8位元平行多工暫存器電路-2/4

    National Chung Hsing University

    SOC & DSP Lab.

    46

    設計8位元平行多工暫存器電路-3/4

  • National Chung Hsing University

    SOC & DSP Lab.

    47

    設計8位元平行多工暫存器電路-4/4

    National Chung Hsing University

    SOC & DSP Lab.

    48

    1. 設計3x8解碼器電路2. 設計ALU電路3. 設計8位元平行多工暫存器電路4. 設計16位元計數器電路5. 設計管線處理電路

  • National Chung Hsing University

    SOC & DSP Lab.

    49

    設計16位元計數器電路-1/3Verilog HDL Code:

    Symbol view:

    Schematic:

    National Chung Hsing University

    SOC & DSP Lab.

    50

    設計16位元計數器電路-2/3

  • National Chung Hsing University

    SOC & DSP Lab.

    51

    設計16位元計數器電路-3/3

    National Chung Hsing University

    SOC & DSP Lab.

    52

    1. 設計3x8解碼器電路2. 設計ALU電路3. 設計8位元平行多工暫存器電路4. 設計16位元計數器電路5. 設計管線處理電路

  • National Chung Hsing University

    SOC & DSP Lab.

    53

    設計管線處理電路-1/8Verilog HDL Code:

    Symbol view:

    Schematic:

    a[7:0]e[7:0]d[7:0]

    ctl

    c[7:0]

    reset

    clk

    National Chung Hsing University

    SOC & DSP Lab.

    54

    設計管線處理電路-2/8

  • National Chung Hsing University

    SOC & DSP Lab.

    55

    設計管線處理電路-3/8

    a[7:0]

    d1[7:0]

    National Chung Hsing University

    SOC & DSP Lab.

    56

    設計管線處理電路-4/8

  • National Chung Hsing University

    SOC & DSP Lab.

    57

    設計管線處理電路-5/8

    National Chung Hsing University

    SOC & DSP Lab.

    58

    設計管線處理電路-6/8

  • National Chung Hsing University

    SOC & DSP Lab.

    59

    設計管線處理電路-7/8

    National Chung Hsing University

    SOC & DSP Lab.

    60

    設計管線處理電路-8/8

  • National Chung Hsing University

    SOC & DSP Lab.

    授課教師:黃穎聰老師

    助教:黃唯竣

    Verilog HDL 設計範例

    National Chung Hsing University

    SOC & DSP Lab.

    Outline

    2×8隨機存取記憶體堆疊指標系統

    條件碼系統

    控制系統一

    控制系統二

  • National Chung Hsing University

    SOC & DSP Lab.

    2 × 8隨機存取記憶體

    輸入 記憶體 輸出 說明

    we Clki Data addr Q1 Q0 ramo 動作1 ↑ A 0 Q1(不變) A A 寫1 ↑ B 1 B Q0(不變) B 寫0 ↑ X 0 Q1(不變) Q0(不變) Q0 讀0 ↑ X 1 Q1(不變) Q0(不變) Q1 讀1 其它 X X Q1(不變) Q0(不變) 不變 不動作0 其它 X X Q1(不變) Q0(不變) 不變 不動作

    National Chung Hsing University

    SOC & DSP Lab.

    2 × 8隨機存取記憶體

    Symbol View

  • National Chung Hsing University

    SOC & DSP Lab.

    2 × 8隨機存取記憶體

    Schematic

    National Chung Hsing University

    SOC & DSP Lab.

    2 × 8隨機存取記憶體

    we

    addr

    clk

    data

  • National Chung Hsing University

    SOC & DSP Lab.

    2 × 8隨機存取記憶體

    National Chung Hsing University

    SOC & DSP Lab.

    2 × 8隨機存取記憶體

  • National Chung Hsing University

    SOC & DSP Lab.

    堆疊指標系統

    控制輸入 堆疊位址輸出

    Clk pop push sp↑ 1 X sp+1↑ 0 1 sp-1↑ 0 0 不變

    National Chung Hsing University

    SOC & DSP Lab.

    堆疊指標系統

    Symbol View

  • National Chung Hsing University

    SOC & DSP Lab.

    堆疊指標系統

    National Chung Hsing University

    SOC & DSP Lab.

    堆疊指標系統

    Schematic View

  • National Chung Hsing University

    SOC & DSP Lab.

    條件碼系統

    Symbol View

    National Chung Hsing University

    SOC & DSP Lab.

    條件碼系統

    控制碼 指令 說明

    0001 RET 回主程式0010 JUMP 無條件跳躍 tcnd=10011 CALL 無條件呼叫 tcnd=10100 JZ 運算結果為零時(零旗號為1) tcnd =1

    運算結果為非零時(零旗號為0) tcnd =00101 JNZ 運算結果為非零時(零旗號為0) tcnd =1

    運算結果為零時(零旗號為1) tcnd =00110 JC 進位旗號為1時 tcnd =1

    進位旗號為非1時 tcnd =00111 JNC 進位旗號為0時 tcnd =1

    進位旗號為非0時 tcnd =0

  • National Chung Hsing University

    SOC & DSP Lab.

    條件碼系統

    輸入 輸出 說明

    contl[3:0] aluo8 aluo[7:0] tcnd0001 X X 1 回主程式0010 X X 1 無條件跳躍0011 X X 1 無條件呼叫0100 X ABCDEFGH NOT (A or B

    or C or D or E or F or G or H)

    運算為零則跳躍

    aluo[7:0]零時tcnd=1

    aluo[7:0]為非零時 tcnd=0

    National Chung Hsing University

    SOC & DSP Lab.

    條件碼系統

    0101 X ABCDEFGH (A or B or C or D or E or F

    or G or H)

    運算非零則跳躍

    aluo[7:0]為非零時 tcnd=1

    aluo[7:0]為零時 tcnd=0

    0110 A X A 進位旗號=1則跳躍aluo[7:0]非零

    時 tcnd=1aluo[7:0]為非零時 tcnd=0

  • National Chung Hsing University

    SOC & DSP Lab.

    條件碼系統

    0111 A X A 進位旗號=0則跳躍aluo[7:0]非零

    時 tcnd=1aluo[7:0]為非零時 tcnd=0

    其它 X X 0 非跳躍指令

    National Chung Hsing University

    SOC & DSP Lab.

    條件碼系統

  • National Chung Hsing University

    SOC & DSP Lab.

    條件碼系統

    Schematic View

    National Chung Hsing University

    SOC & DSP Lab.

    控制系統一

    Symbol View

  • National Chung Hsing University

    SOC & DSP Lab.

    控制系統一

    Schematic View

    National Chung Hsing University

    SOC & DSP Lab.

    控制系統一

  • National Chung Hsing University

    SOC & DSP Lab.

    控制系統二

    Symbol View

    National Chung Hsing University

    SOC & DSP Lab.

    控制系統二

    Schematic View

  • National Chung Hsing University

    SOC & DSP Lab.

    控制系統二

    National Chung Hsing University

    SOC & DSP Lab.

    控制系統二