8B/10B ENCODING Panji (26401144) Henry Raharjo (26402180) Oh Hwie Hong (26402186) Irwan Siswandi (26402187) Arief Kurniawan (26402212)
8B/10B ENCODING Definisi: Mengubah 8bit data (256 unik word data) dengan tambahan 12 spesial karakter (“K”) menjadi 10 bit data/symbols
8B/10B ENCODING Karakteristik Cocok untuk local area network yang memiliki kecepatan tinggi Cocok untuk computer links, dan serial data link DC balanced Transition Density Clock Recovery Mampu mendeteksi banyak error
8B/10B ENCODING DISPARITY Memartisikan input byte menjadi 5-bit dan 3-bit sub-blocks Yang kemudian akan diubah menjadi 6-bit dan 4-bit blocks secara berurutan 5-input bit didefinisikan sebagai : A, B, C, D, E (A sebagai LSB) 3-input bit didefinisikan sebagai : F, G, H (F sebagai LSB) Awalan D atau K digunakan untuk membedakan data dan spesial karakter
8B/10B ENCODING DISPARITY (cont.. ) Selisih dari jumlah bit-0 dan bit-1 dalam block Nilai positif dan negatif menunjuk kepada jumlah bit-1 terhadap bit-0 dan sebaliknya 0 jika terdapat lima bit-0 dan lima bit-1 +2 jika terdapat enam bit-1 dan empat bit-0 -2 jika terdapat enam bit-0 dan empat bit-1 Running Disparity : record dari Disparity yang berisi kumpulan data yang sudah di-encode sebelumnya
8B/10B ENCODING DISPARITY (cont..) Running disparity pada tiap akhir symbol/block harus selalu +1 atau –1 Untuk itu, encoder akan melacak running disparity. Bila dihasilkan zero disparity, running disparity tidak akan diubah Bila dihasilkan non-zero disparity, encoder akan meng-encode data seperti yang ditukar oleh running disparity (e.g. [ +1 + (-2) = -1] atau [ -1 + (+2) = -1 ])
8B/10B ENCODING
8B/10B ENCODING
8B/10B ENCODING
8B/10B ENCODING
8B/10B ENCODING Clock Encoder benar-benar synchronous terhadap clock port-nya Semua input port memiliki waktu setup yang direferensikan pada clocknya Semua output portnya juga synchronous terhadap clock
8B/10B ENCODING Clock Enable Adalah sebuah optional input yang digunakan untuk menjembatani clock input kepada encoder Bila sebuah encoder memiliki CE(Clock Enable) Port, maka clock input akan dijembatani oleh CE input dan transisi pada clock port tidak akan memiliki efek kecuali CE input Active(logic 1)
8B/10B ENCODING Data Input Bus – DIN<7:0> Menyediakan data yang akan di-encode menjadi symbols Bila KIN inactive, sebuah data symbol akan dihasilkan Bila KIN active, sebuah special character akan di-encode, DIN input akan memetakannya menjadi special character yang dimaksud Tiap pin bus harus dibawa ke valid logic level Bila word data kurang dari 8 bit akan di-encode, maka DIN yang tak terpakai harus dibawa juga ke valid logic level
8B/10B ENCODING Command Input – KIN Digunakan untuk membedakan antara hasil encoding dari data dan special characters Bila KIN inactive, input dari DIN Bus akan di-encode menjadi data symbol yang merepresentasikan satu dari 256 permutasi yang mungkin dari DIN Bila KIN active, sebuah special character sesuai dengan DIN input akan di-encode
8B/10B ENCODING Data Output Bus – DOUT <9:0> Adalah output symbol yang sudah di-encode DOUT akan menyimpan data yang sudah di-encode oleh DIN dan KIN input Tergantung juga pada running disparity
8B/10B ENCODING Force Disparity – FORCE_DISP Optional input, jika ada, FORCE DISP digunakan untuk meng-override running disparity internal dari Encoder Bila active(logic 1) DIN/KIN input akan di-encode berdasarkan running disparity Input ini dapat digunakan untuk memaksa paket data untuk mulai dengan disparity yang diberikan
8B/10B ENCODING Disparity Input – DISP_IN Optional input, diminta ketika FORCE_DISP ada DISP_IN dapat digunakan untuk mengontrol running disparity terhadap input byte data / special character mana yang di-encode Bila di-encode menggunakan positive running disparity, maka DISP_IN harus diset tinggi (logic1) Untuk negative running disparity, DISP_IN diset low (logic0)
8B/10B ENCODING Force Code Optional input, dapat digunakan untuk memaksa Encoder untuk menghasilkan data symbol yang sudah dipilih sebelumnya
8B/10B ENCODING Disparity Output – DISP_OUT Adalah internal running disparity dari 8B/10B Encoder Bila DISP_OUT output logic 0, maka internal running disparity yang baru adalah negative Bila DISP_OUT output logic 1, maka internal running disparity yang baru adalah positive