Menu
Coddy logo textTech

Bit counter

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

challenge icon

Görev

Bu bölümde adım adım bir UART vericisi oluşturacaksın. UART, Evrensel Asenkron Alıcı-Verici anlamına gelir. İki cihazın yalnızca bir kablo (iletim için) ve başka bir kablo (alım için) kullanarak iletişim kurmasını sağlayan basit bir donanım protokolüdür.

Bunu telefonda konuşan iki kişi gibi düşün: biri konuşur (iletir), diğeri dinler (alır). UART verileri bir seferde bir bit gönderir; her byte'ın başlangıcını ve sonunu belirtmek için start ve stop bitlerini kullanır.

Bir UART vericisi 10 bit gönderir: start biti (1), veri bitleri (8), stop biti (1). Hangi biti gönderdiğimizi takip etmek için 0'dan 10'a kadar sayan bir bit sayacı gerekir.
Bit Sayacı Nasıl Çalışır

  • 0'dan başla
  • Her saat çevriminde 1 ekle
  • 10'a ulaştığında 0'a geri dön
  • Sonsuza kadar tekrarla

Bu görevde henüz sıfırlama yapmayacağız: yalnızca artıracağız.

Yapılacaklar:

  1. Adı uart_tx olan bir modül Create ve şunları içersin:
    • Bir input: clk
    • Bir output: cnt (4 bits, türü reg)
  2. Modülün inside kısmında:
    • Başlangıçta, bir initial block inside cnt değerini 0 olarak ayarla
    • Bir always @(posedge clk) block Add
    • Her saat kenarında cnt değerini 1 artıracak şekilde Make

Kendin dene

// TODO: clk girişi ve cnt (4 bit) çıkışı olan uart_tx modülünü oluştur

// TODO: initial bloğu içinde başlangıçta cnt'yi 0 yap

// TODO: always @(posedge clk) bloğu ekle

// TODO: cnt'yi artır

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

Kendi başına pratik yap: Online Verilog derleyicisi