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 kaydırmalı kaydedici (shift register), her saat kenarında veriyi soldan sağa kaydırır. Her bit bir sonraki konuma geçer.

4-bit Kaydırmalı Kaydedici 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 bitSaat sinyali
resetinput1 bitTüm çıkışları 0'a sıfırla
dinput1 bitVeri 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ılması gerekenler:

  1. reset durumunda, tüm çıkışları 0'a 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, eski q0 değerini alır
    3. q2, eski q1 değerini alır
    4. q3, eski 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) ekleyin
  // Reset durumunda: q0<=0, q1<=0, q2<=0, q3<=0
  // Aksi takdirde: veriyi kaydırın: q0 <= d, q1 <= q0, q2 <= q1, q3 <= q2

endmodule

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