Sıraya Göre Port Eşleme
Coddy'nin Verilog Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 35 / 90.
Önceki derste, her bağlantıyı .port(signal) kullanarak açıkça etiketlediğiniz ada göre port eşleme yöntemini öğrendiniz. Şimdi alternatif yöntemi ele alacağız: sıraya göre port eşleme.
Sinyalleri, modül tanımında göründükleri sıraya göre bir modülün portlarına bağlar. Sinyalleri parantez içinde listelemeniz yeterlidir; Verilog bunları tek tek eşleştirir.
Sözdizimi:
module_name instance_name (signal1, signal2, signal3);İlk sinyal ilk porta, ikincisi ikinci porta ve bu şekilde devam ederek bağlanır.
Örnek
Modül tanımı:
module or_gate (
input in1, // İlk port
input in2, // İkinci port
output result // Üçüncü port
);
assign result = in1 | in2;
endmoduleSıralı port eşlemesiyle örnekleme:
or_gate or1 (input_a, input_b, output_y);Bu, şunları bağlar:
- İlk sinyal
input_a→ ilk portin1 - İkinci sinyal
input_b→ ikinci portin2 - Üçüncü sinyal
output_y→ üçüncü portresult
Sıra Önemlidir
Sıraya göre port eşlemesinde sıra kritiktir:
// Doğru sıra
or_gate or1 (input_a, input_b, output_y);
// Yanlış sıra - sinyaller yanlış portlara bağlanmış!
or_gate or1 (input_b, input_a, output_y);
or_gate or1 (output_y, input_a, input_b);Sırayı karıştırırsan bağlantılar yanlış portlara gider. Kod ilk bakışta doğru göründüğü için bunun hatasını ayıklamak zor olabilir.
İsme Göre ve Sıraya Göre Port Eşleme
| Özellik | İsme Göre | Sıraya Göre |
|---|---|---|
| Sözdizimi | .port(signal) | signal1, signal2 |
| Sıra önemli mi? | Hayır | Evet |
| Kendi kendini belgeliyor mu? | Evet | Hayır |
| Hata riski | Düşük | Yüksek |
| Şunun için önerilir | Çoğu tasarım | Yalnızca basit durumlar |
Bağlantı Noktası Eşlemesini Sıraya Göre Ne Zaman Kullanmalı?
Bağlantı noktası eşlemesi şu durumlarda kabul edilebilir:
- Modülün çok az bağlantı noktası varsa (2-3)
- Bağlantı noktalarının sırası açıksa ve değişmesi olası değilse
- Hızlı testbench'ler yazıyorsanız
Çoğu tasarım için isme göre port eşleme tercih edilir; çünkü daha anlaşılırdır ve hataya daha az açıktır.
Görev
Bağlantı noktalarını sıralama yoluyla eşleyerek sinyalleri doğru sırada listeleyip örneklemeyi tamamlayın.
Yapılacaklar:
Modül bağlantı noktaları (bu sırada):
input en(etkinleştirme)input [7:0] d(veri girişi)output [7:0] q(veri çıkışı)
Bağlanacak sinyaller:
enable_signal→enile bağlayındata_input→dile bağlayındata_output→qile bağlayın
Kendin dene
module register (
input en,
input [7:0] d,
output [7:0] q
);
assign q = en ? d : q;
endmodule
module top (
input enable_signal,
input [7:0] data_input,
output [7:0] data_output
);
// TODO: register'ı reg1 adıyla ORDER mapping kullanarak örnekle
// Sinyalleri doğru sırada listele: enable_signal, data_input, data_output
// .port(signal) sözdizimini kullanma
endmoduleBu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temel Bilgiler bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerMod Alma OperatörüKarşılaştırma OperatörleriTekrar - Basit MatematikBit Düzeyi Operatörleri7Atama ve Kapılar
Sürekli AtamaOperatörlerle AtamaYerleşik Kapı PrimitifleriAND, OR ve NOT KapılarıXOR ve XNOR KapılarıÖzet - Mantık Kapısı Devresi10Karar Verme
If İfadesiIf - ElseTekrar - Basit KarşılaştırıcıCase İfadesiCasex ve CasezTekrar - ALU Tasarımı2Veri Türleri
Wire TürüReg TürüTamsayı ve GerçelVektörlerDizilerParametrelerÖzet - Sinyalleri Tanımlama5Operatörler Bölüm 2
Mantıksal Operatörlerİndirgeme OperatörleriKaydırma OperatörleriBirleştirme OperatörüKoşullu OperatörTekrar - Operatör Meydan Okuması11Döngüler
For DöngüsüWhile DöngüsüTekrar DöngüsüSonsuz DöngüDevre Dışı Bırakma İfadesiTekrar - Döngü Kalıpları3Sayı Sistemi
İkili GösterimBoyutlu SayılarBoyutsuz SayılarNegatif SayılarÖzel X ve Z DeğerleriTekrar - Sayı Biçimleri6Modüller
Modül YapısıGiriş ve Çıkış PortlarıÇift Yönlü PortlarModül ÖrneklendirmeAda Göre Port EşlemeSıraya Göre Port EşlemeTekrar - Bir Modül Oluşturma9Prosedürel Bloklar
Always BloğuInitial BloğuDuyarlılık ListesiBloklayıcı AtamaBloklamayan AtamaTekrar - Always ve Initial Karşılaştırması15Trafik Işığı Denetleyicisi
Durumları TanımlamaDurum Makinesi MantığıKendi başına pratik yap: Online Verilog derleyicisi