Day4 順序控制的循序邏輯實現

30
DAY3 DAY3 順序控制 循序邏輯實現

Transcript of Day4 順序控制的循序邏輯實現

Page 1: Day4 順序控制的循序邏輯實現

DAY3DAY3

順序控制循序邏輯實現

Page 2: Day4 順序控制的循序邏輯實現

FeedbackFeedback

Page 3: Day4 順序控制的循序邏輯實現

SR LatchSR Latch

RESETSET

Bistable → 雙穩態

Page 4: Day4 順序控制的循序邏輯實現

SR Latch, SR Latch, 自保回路自保回路

Page 5: Day4 順序控制的循序邏輯實現

SR LatchSR Latch

Page 6: Day4 順序控制的循序邏輯實現

SR Latch with EnableSR Latch with Enable

LAB

Page 7: Day4 順序控制的循序邏輯實現

D Latch: D Latch: 狀態儲存狀態儲存

Page 8: Day4 順序控制的循序邏輯實現

D Filp Flop: Edge-Triggered LatchD Filp Flop: Edge-Triggered Latch

D Latch

D Flip Flopposedge

clock

Page 9: Day4 順序控制的循序邏輯實現

D Flip FlopD Flip Flop

D Flip Flopnegedge clock

Page 10: Day4 順序控制的循序邏輯實現

DFF: Enable, Preset, ClearDFF: Enable, Preset, Clear

Page 11: Day4 順序控制的循序邏輯實現

JK Flip FlopJK Flip Flop

J & !QK & Q

Page 12: Day4 順序控制的循序邏輯實現

T Flip FlopT Flip Flop

Page 13: Day4 順序控制的循序邏輯實現
Page 14: Day4 順序控制的循序邏輯實現

CounterCounter

000 – 001–010–011–100–101–110–111–000

Page 15: Day4 順序控制的循序邏輯實現

Synchronous Counter(Synchronous Counter( 同步計數器同步計數器 ))

`

Page 16: Day4 順序控制的循序邏輯實現

LAB

Page 17: Day4 順序控制的循序邏輯實現

TimerTimer

one-shot

Page 18: Day4 順序控制的循序邏輯實現

DebouncerDebouncer

LAB3

Page 19: Day4 順序控制的循序邏輯實現

Timer DelayTimer Delay

Page 20: Day4 順序控制的循序邏輯實現

LAB4

Page 21: Day4 順序控制的循序邏輯實現

Verilog HDL RTL CodeVerilog HDL RTL Code

Page 22: Day4 順序控制的循序邏輯實現

SR Latch HDL CodeSR Latch HDL Code

Page 23: Day4 順序控制的循序邏輯實現

D Latch HDL CodeD Latch HDL Code

Page 24: Day4 順序控制的循序邏輯實現

DFFDFF

always @(posedge clk) begin if (S) Q = 1'b1; else Q = D; end endmodule

always @(posedge clk) begin if (CE) Q = D; end

Page 25: Day4 順序控制的循序邏輯實現

4-bit unsigned Up counter with 4-bit unsigned Up counter with asynchronous clearasynchronous clearmodule counter (C, CLR, Q);input C, CLR;output [3:0] Q;reg [3:0] Q; always @(posedge C or posedge CLR) begin if (CLR) Q = 4'b0000; else Q = Q + 1'b1; endendmodule

Page 26: Day4 順序控制的循序邏輯實現

4-bit unsigned Down counter 4-bit unsigned Down counter with synchronous setwith synchronous setmodule counter (C, S, Q);input C, S;output [3:0] Q;reg [3:0] Q; always @(posedge C) begin if (S) Q = 4'b1111; else Q = Q - 1'b1; end endmodule

Page 27: Day4 順序控制的循序邏輯實現

4-bit unsigned Up Counter with 4-bit unsigned Up Counter with asynchronous loadasynchronous loadmodule counter (C, ALOAD, D, Q);input C, ALOAD;input [3:0] D;output [3:0] Q;reg [3:0] Q; always @(posedge C or posedge ALOAD) begin if (ALOAD) Q = D; else Q = Q + 1'b1; endendmodule

Page 28: Day4 順序控制的循序邏輯實現

4-bit unsigned Up counter with asyn4-bit unsigned Up counter with asyn--chronous clear and clock enablechronous clear and clock enable

module counter (C, CLR, CE, Q);input C, CLR, CE;output [3:0] Q;reg [3:0] Q; always @(posedge C or posedge CLR) begin if (CLR) Q = 4'b0000; else if (CE) Q = Q + 1'b1; endendmodule

Page 29: Day4 順序控制的循序邏輯實現

8-bit shift-left register 8-bit shift-left register serial in serial out.serial in serial out.

module shift (C, SI, SO);input C,SI;output SO;reg [7:0] Q; always @(posedge C) begin Q <= Q << 1; // Q <= {Q[6:1], SI}; Q[0] <= SI; end assign SO = Q[7];endmodule

Page 30: Day4 順序控制的循序邏輯實現