Birleştirme Operatörü
Coddy'nin Verilog Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 27 / 90.
Birleştirme işleci { }, birden çok sinyali, sabiti veya ifadeyi tek bir daha büyük vektörde birleştirir. Bitleri bir araya getirerek daha geniş değerler oluşturmanız gerektiğinde kullanılır.
Birleştirmeyle Hangi Değerler Çalışır
Şunları birleştirebilirsiniz:
- Kablolar ve yazmaçlar: herhangi bir sinyal
- Sabitler:
4'b1010veya8'hFFgibi sayılar
- İfadeler:
a + bgibi işlemlerin sonuçları - Çoğaltmalar: bir değeri birden çok kez tekrarlama
Birleştirilen tüm değerlerin sabit, bilinen genişlikleri olmalıdır.
Temel Söz Dizimi: {value1, value2, value3, ...} Sonuç genişliği, tüm ayrı genişliklerin toplamıdır.
Örnekler
İki 4 bitlik değeri 8 bite birleştirme:
reg [3:0] high, low;
reg [7:0] word;
word = {high, low}; // high üst 4 bit olur, low alt 4 bit olurSabitlerle birleştirin:
data = {4'b1010, 4'b0000}; // 8'b10100000İkiden fazlasını birleştirme:
full = {a, b, c, d}; // Tüm genişlikler toplanırTekrarlama
Bir değeri {n{value}} kullanarak birden çok kez tekrarlayabilirsiniz:
repeated = {4{4'b1010}}; // 16'b1010101010101010 (repeat 4 times)Bu, işaret genişletmesi için kullanışlıdır:
signed_8bit = {{4{sign_bit}}, value_4bit};Kod Örneği
module concatenation_demo;
reg [3:0] upper, lower;
reg [7:0] combined;
reg [11:0] repeated;
initial begin
upper = 4'b1010;
lower = 4'b1100;
combined = {upper, lower}; // 10101100
repeated = {3{4'b1010}}; // 101010101010
$display("{upper, lower} = %b", combined);
$display("{3{4'b1010}} = %b", repeated);
$finish;
end
endmoduleÇıktı:
{upper, lower} = 10101100
{3{4'b1010}} = 101010101010Önemli Notlar
- Sıra önemlidir:
{a, b},{b, a}değerinden farklıdır - Tüm parçaların sabit genişlikleri olmalıdır (boyutu belirtilmemiş sayılar olmamalıdır)
- Birleştirme, atamaların hem sol hem de sağ tarafında kullanılabilir
Görev
Her görev için doğru birleştirme ifadelerini yazın.
Yapılacaklar:
- 8 bitlik bir sonuç elde etmek için
avebdeğerlerini birleştirin ve sonucucombine1içinde saklayın - 12 bitlik bir sonuç elde etmek için
c,dveedeğerlerini birleştirin ve sonucucombine2içinde saklayın - 12 bitlik bir sonuç elde etmek için
fvegdeğerinin iki kopyasını birleştirin ve sonucucombine3içinde saklayın
Kendin dene
module concatenation_challenge;
reg [3:0] a, b;
reg [3:0] c, d, e;
reg [3:0] f, g;
reg [7:0] combine1;
reg [11:0] combine2, combine3;
initial begin
a = 4'b1010;
b = 4'b0101;
c = 4'b1111;
d = 4'b0000;
e = 4'b1100;
f = 4'b1001;
g = 4'b0110;
combine1 = ______; // Combine a and b into an 8-bit result
combine2 = ______; // Combine c, d, and e into a 12-bit result
combine3 = ______; // Combine f and two copies of g into a 12-bit result
$display("{a, b} = %b", combine1);
$display("{c, d, e} = %b", combine2);
$display("{f, g, g} = %b", combine3);
$finish;
end
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