4 To 1 Mux Design
Coddy'nin Verilog Journey'sinin Temeller bölümünün bir parçası. Ders 65 / 90.
Görev
4'e 1 Multiplexer
4'e 1 multiplexer'ın dört veri girişi (in0, in1, in2, in3), iki seçim biti (sel[1:0]) ve bir çıkışı (out) vardır. İki seçim biti, hangi girişin çıkışa aktarılacağını seçer:
sel = 2'b00olduğunda çıkışin0olursel = 2'b01olduğunda çıkışin1olursel = 2'b10olduğunda çıkışin2olursel = 2'b11olduğunda çıkışin3olur
Bu multiplexer'ı iki şekilde oluşturacaksın: önce if-else ifadelerini kullanarak, ardından sonraki derste case ifadesini kullanarak. Her iki yöntem de çalışır, ancak birçok seçeneğiniz olduğunda case genellikle daha temizdir.
4'e 1 multiplexer, dört girişten birini seçer ve 2 bitlik seçim sinyaline göre bu girişi çıkışa aktarır.
Doğruluk Tablosu
| sel1 | sel0 | out |
|---|---|---|
| 0 | 0 | out = in0 |
| 0 | 1 | out = in1 |
| 1 | 0 | out = in2 |
| 1 | 1 | out = in3 |
sel değeri 00 olduğunda çıkış in0 değerini takip eder. sel değeri 01 olduğunda çıkış in1 değerini takip eder. sel değeri 10 olduğunda çıkış in2 değerini takip eder. sel değeri 11 olduğunda çıkış in3 değerini takip eder.
Yapılacaklar:
- Create bir module named
mux4to1 - Add input
in0(1 bit) - Add input
in1(1 bit) - Add input
in2(1 bit) - Add input
in3(1 bit) - Add input
sel(2 bit) - Add output
out(1 bit, typereg) - Add bir
always @(*)block - İçine,
seldeğerini kontrol eden birif-elsestatement ekle:sel == 2'b00iseout = in0olarak ayarlasel == 2'b01else if iseout = in1olarak ayarlasel == 2'b10else if iseout = in2olarak ayarla- Else,
out = in3olarak ayarla
endmoduleile kapat
Kendin dene
// Adım 1: mux4to1 adlı modülü oluştur
// Adım 2: in0 girişini ekle
// Adım 3: in1 girişini ekle
// Adım 4: in2 girişini ekle
// Adım 5: in3 girişini ekle
// Adım 6: sel girişini ekle (2 bit)
// Adım 7: out çıkışını ekle (reg tipi)
// Adım 8: always @(*) bloğunu ekle
// Adım 9: if-else ifadesini ekle
// eğer sel == 2'b00 ise, out = in0
// else if sel == 2'b01 ise, out = in1
// else if sel == 2'b10 ise, out = in2
// aksi halde, out = in3
// Adım 10: EndmoduleTemeller 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