Bit counter
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 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:
- Adı
uart_txolan bir modül Create ve şunları içersin:- Bir input:
clk - Bir output:
cnt(4 bits, türüreg)
- Bir input:
- Modülün inside kısmında:
- Başlangıçta, bir initial block inside
cntdeğerini 0 olarak ayarla - Bir
always @(posedge clk)block Add - Her saat kenarında
cntdeğerini 1 artıracak şekilde Make
- Başlangıçta, bir initial block inside
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ırTemeller bölümündeki tüm dersler
4Operators Part 1
Arithmetic OperatorsModulo OperatorComparison OperatorsRecap - Simple MathBitwise Operators7Assign And Gates
Continuous AssignmentAssign With OperatorsBuilt In Gate PrimitivesAND OR NOT GatesXOR XNOR GatesRecap - Logic Gate Circuit10Decision Making
If StatementIf - ElseRecap - Simple ComparatorCase StatementCasex And CasezRecap - ALU Design5Operators Part 2
Logical OperatorsReduction OperatorsShift OperatorsConcatenation OperatorConditional OperatorRecap - Operator Challenge3Number System
Binary RepresentationSized NumbersUnsized NumbersNegative NumbersSpecial Values X And ZRecap - Number Formats6Modules
Module StructureInput And Output PortsInout PortsModule InstantiationPort Mapping By NamePort Mapping By OrderRecap - Build A Module9Procedural Blocks
Always BlockInitial BlockSensitivity ListBlocking AssignmentNon Blocking AssignmentRecap - Always vs Initial15Traffic Light Controller
Defining The StatesState Machine LogicKendi başına pratik yap: Online Verilog derleyicisi