Menu
Coddy logo textTech

Kaydırmalı Kaydedici

Coddy'nin Verilog Journey'sinin Temeller bölümünün bir parçası — ders 86 / 90.

challenge icon

Görev

Bir shift register (kaydırmalı kaydedici), her saat kenarında veriyi soldan sağa kaydırır. Her bir bit bir sonraki konuma geçer.

4-bit Shift Register Nasıl Çalışır?

Initial: q0=0, q1=0, q2=0, q3=0
Clock 1: q0 = d, q1 = old q0, q2 = old q1, q3 = old q2
Clock 2: q0 = d, q1 = old q0, q2 = old q1, q3 = old q2

4 saat döngüsünden sonra, ilk giriş biti q3'e ulaşır.

Modül Arayüzü

PortYönGenişlikAçıklama
clkinput1 bitClock sinyali
resetinput1 bitTüm çıkışları 0'a sıfırla
dinput1 bitData girişi
q0output1 bitBirinci flip-flop çıkışı
q1output1 bitİkinci flip-flop çıkışı
q2output1 bitÜçüncü flip-flop çıkışı
q3output1 bitDördüncü flip-flop çıkışı

Göreviniz aşağıdaki modülü tamamlamaktır.

Yapılacaklar:

  1. reset durumunda, tüm çıkışları 0 olarak ayarlayın
  2. Her yükselen saat kenarında veriyi soldan sağa kaydırın:
    1. q0, d değerini alır
    2. q1, old q0 değerini alır
    3. q2, old q1 değerini alır
    4. q3, old q2 değerini alır

Kendin dene

module shift_register (
  input clk,
  input reset,
  input d,
  output reg q0,
  output reg q1,
  output reg q2,
  output reg q3
);
  
  // TODO: always @(posedge clk or posedge reset) ekle
  // Reset'te: q0<=0, q1<=0, q2<=0, q3<=0
  // Aksi halde: veriyi kaydır: q0 <= d, q1 <= q0, q2 <= q1, q3 <= q2

endmodule

Temeller bölümündeki tüm dersler