Bit Sayacı
Coddy'nin Verilog Journey'sinin Temeller bölümünün bir parçası — ders 87 / 90.
Görev
Bu bölümde, adım adım bir UART transmitter inşa edeceksiniz. UART, Universal Asynchronous Receiver-Transmitter anlamına gelir. İki cihazın yalnızca bir kablo (iletmek için) ve başka bir kablo (almak için) kullanarak haberleşmesini sağlayan basit bir donanım protokolüdür.
Bunu telefonda konuşan iki insan gibi düşünebilirsiniz — biri konuşur (iletir), diğeri dinler (alır). UART, her baytın başlangıcını ve sonunu belirtmek için `start` ve stop bitleri kullanarak verileri her seferinde bir bit şeklinde gönderir.
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 sayıcısına ihtiyacımız vardır.
Bit Sayıcısı Nasıl Çalışır?
- 0 ile başlayın
- Her saat döngüsünde 1 ekleyin
- 10'a ulaştığında tekrar 0'a dönün
- Sonsuza kadar tekrarlayın
Bu görevde, henüz sıfırlamayacağız: yalnızca artıracağız.
Yapılacaklar:
- Aşağıdaki özelliklere sahip
uart_txadında birmoduleoluşturun:- Bir
input:clk - Bir
output:cnt(4 `bits`,regtipinde)
- Bir
- Modülün `inside` kısmında:
- Bir `initial` `block` içinde başlangıçta
cntdeğerini 0 olarak ayarlayın - Bir
always @(posedge clk)bloğu ekleyin - Her saat kenarında
cntdeğerinin 1 artmasını sağlayın
- Bir `initial` `block` içinde başlangıçta
Kendin dene
// TODO: uart_tx modülünü clk girişi ve cnt (4 bit) çıkışı ile oluştur
// TODO: initial bloğu içinde başlangıçta cnt'yi 0'a ayarla
// TODO: always @(posedge clk) bloğu ekle
// TODO: cnt'yi artırTemeller bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüKarşılaştırma OperatörleriÖzet - Basit MatematikBitsel Operatörler7Atama ve Kapılar
Sürekli AtamaOperatörlerle AtamaYerleşik Kapı PrimitifleriAND OR NOT KapılarıXOR XNOR KapılarıÖzet - Mantık Kapısı Devresi10Karar Yapıları
If İfadesiIf - ElseÖzet - Basit KarşılaştırıcıCase İfadesiCasex ve CasezÖzet - ALU Tasarımı5Operatörler Bölüm 2
Mantıksal Operatörlerİndirgeme OperatörleriKaydırma OperatörleriBirleştirme OperatörüKoşullu OperatörÖzet - Operatör Meydan Okuması11Döngüler
For DöngüsüWhile DöngüsüRepeat DöngüsüSonsuz DöngüDevre Dışı Bırakma İfadesiÖzet - Döngü Kalıpları3Sayı Sistemleri
İkilik GösterimBoyutlandırılmış SayılarBoyutlandırılmamış SayılarNegatif SayılarÖzel Değerler X ve ZÖzet - Sayı Formatları6Modüller
Modül YapısıGiriş ve Çıkış PortlarıInout PortlarıModül Örneklendirmeİsme Göre Port EşlemeSıraya Göre Port EşlemeÖzet - Bir Modül Oluşturun9Prosedürel Bloklar
Always BloğuInitial BloğuDuyarlılık ListesiEngelleyici AtamaEngelleyici Olmayan AtamaÖzet - Always vs Initial15Trafik Işığı Kontrolcüsü
Durumları TanımlamaDurum Makinesi Mantığı