Minggu, 27 November 2022

Membuat aliran bit acak dengan metode PRBS menggunakan bahasa Verilog | Simulasi Modelsim

Pseudo random binary sequence (PRBS) sering digunakan sebagai data model untuk menguji perangkat antarmuka serial berkecepatan tinggi untuk menyaingi mode misi. Ini adalah aliran bit yang diacak secara matematis sehingga data dapat dinetralkan dengan baik dan seimbang. Metode ini digunakan tidak hanya dalam uji fungsional digital murni, tetapi juga dalam uji sinyal campuran sebagai data tertanam dalam sinyal modulasi.

Mudahnya, PRBS ini adalah sebuah sistem yang digunakan untuk menggenerate bit data secara random. Fungsinya digunakan untuk mensimulasikan suatu sistem dimana kita membutuhkan sebuah aliran data. Nah daripada pusing-pusing menentukan data apa saja yang kita gunakan, apalagi kalau datanya berjumlah besar, salah satu solusinya ya dengan menggunakan PRBS ini. Jadi bit data akan otomatis muncul secara random.

Lalu bagaimana skema dari PRBS ini. Perhatikan gambar berikut,

Aliran bit PRBS dapat dihasilkan dengan menggunakan register geser umpan balik linear (LFSR). Gambar diatas Mengilustrasikan contoh LFSR 4 bit dan pola datanya yang bergeser. Ketika register geser diisi dengan pola seed semua 1, tabel disebelah kanan menggambarkan bagaimana isi register berubah dan mengeluarkan serangkaian PRBS. Tepat setelah bit terakhir, Ia kembali ke bagian atas aliran bit. Ada 15 bit aliran bit acak semua yang dihasilkan. LFSR L bit menghasilkan (2^L) -1 bit PRBS. Dengan melihat pola bit semua kombinasi 4 bit data muncul kecuali ‘0000’. Hal ini disebabkan jika dibari input ‘0000’, register geser akan macet dan hanya menhasilkan 0 tanpa batas.

Sekarang kita coba mengimplementasikan konsep PRBS diatas menggunakan bahasa verilog dan akan kita coba simulasikan pada aplikasi modelsim. Berikut ini adalah code yang akan saya gunakan. (code)



Pada artikel ini tidak akan dibahas mengenai bagaimana pengoperasian aplikasi modelsim. Jadi langsung saja kita lakukan simulasi. Setelah meng-compile code dan melakukan add wave, tampilannya akan seperti berikut.

Baca Juga : Tutorial Simulasi Menggunakan Modelsim

Lakukan pengaturan value untuk clk dan rst. Atur nilai clk seperti berikut

pertama aktifkan nilai rst untuk memberi memberik nilai pada semua register

Run simulasi sekali untuk mendapatkan output awal. Nilai output masih 0. Sedangkan nilai setiap register adalah 1. Hasilnya bisa diamati pada gambar dibawah ini.


kedua matikan nilai rst untuk masuk ke formula PRBS.


Pada step run pertama, nilai 'out' akan bergeser ke 'reg0', dan nilai 'reg0' akan bergeser ke 'reg1' ... begitu seterusnya sampai ke 'reg15'. Sedangkan nilai 'out' adalah hasil dari operasional XOR antara 'reg15' dan 'reg14'. 

Sehingga pada kasus 16 bit PRBS, aliran bit output pertama yang didapat dari 16 bit 'reg15' berturut-turut adalah '1111 1111 1111 1111'. Total untuk PRBS 16 bit, ada 65535 aliran bit acak.

Pahami gambar dibawah. Hasil aliran 16 bit yang pertama adalah yang di dalam kotak kuning.

Gambar dibawah ini merupakan hasil output untuk 6 aliran bit acak yang berurutan. 6 Aliran bit tersebut adalah '1111_1111_1111_1111', '0000_0000_0000_0001', '0000_0000_0000_0011', '0000_0000_0000_0101', '0000_0000_0000_0111', '0000_0000_0000_1001'.



Share:

0 comments:

Posting Komentar

sumberdipercaya.com