Detak (clock) Pada FPGA

Sebuah detak (clock) FPGA biasanya dibuat secara serentak atau sinkron. Artinya bahwa tiap detak (clock) yang dihasilkan di dalam sebuah FPGA terjadi serentak akan mempengaruhi semua kondisi yang ada. Termasuk juga akan mempengaruhi D-flip flop yang merupakan salah satu bagian atau isi FPGA. Jika terjadi clock yang serentak maka akan membuat kondisi D-flip flop menjadi berubah ke kondisi yang lain.

skema-clock-fpga
Skema Clock FPGA

Dalam sebuah desain rangkaian yang detaknya terjadi secara serentak, maka sebuah detak saja akan mampu mengendalikan keseluruhan flip flop yang ada. Dan ini terjadi secara serentak pula. Namun hal ini akan mengakibatkan masalah pada waktu (timing) dan sinyal elektrik yang terjadi di dalam FPGA. Misalnya saja akan timbul waktu tunda (delay) atau terjadi glitch dalam rangkaian sinkron tersebut. Untuk menyelesaikan masalah ini, vendor pembuat FPGA menyediakan jalur internal khusus yang disebut “global routing” atau “global lines”. Tujuannya adalah untuk mendistribusikan sinyal-sinyal clock ke semua area FPGA dengan delay yang singkat dan glitch yang rendah sehingga sinyal clock akan terlihat sama dan serentak sampai pada semua flip flop yang ada.

Pada umumnya, sebuah pin untuk sebuah sinyal detak dalam FPGA merupakan jenis “dedicated input pin”. Artinya, pin untuk sinyal detak ini telah ditentukan oleh vendor pembuat FPGA. Biasanya untuk setiap FPGA hanya memiliki satu pin untuk sinyal detak. Sebuah sinyal detak ini yang nantinya akan mengendalikan semua proses detak yang terjadi di dalam FPGA. Untuk mengetahui pin mana dalam sebuah FPGA yang bertindak sebgai pin sinyal detak maka dapat dicek pada datasheet FPGA tersebut.

Domain Detak

Sebuah FPGA dapat menggunakan bermacam-macam detak. Caranya adalah dengan menggunakan bermacam-macam global lines dan dedicated input pins. Setiap bentuk detak yang terjadi di dalam FPGA disebut sebagai domain detak (clock domain). Untuk setiap flip flop di dalam FPGA, domain detak sangatlah mudah untuk ditentukan. Hal ini bisa dicermati dengan melihat input detak pada flip flop tersebut. Namun, bagaimana dengan jika ada logika kombinasional yang ada diantara flip flop? Seperti yang diketahui bahwa dalam logika kombinasional, sinyal detak yang masuk akan langsung dikeluarkan serta tidak terjadi penundaan. Berbeda dengan flip flop yang akan menunda luaran sinyal detaknya. Kedua hal yang sangat berbeda ini dapat diselesaikan dengan cara sebagai berikut :

· Jika ada beberapa logika kombinasional diantara flip flop yang memiliki domain detak sama maka logika kombinasional tersebut akan mengikuti domain clock yang sama juga.

· Jika ada beberapa kombinasional logika diantara flip flop yang memiliki clock domain berbeda, maka logika kombinasional tersebut tidak mengikuti domain detak manapun. Namun untuk ciri khas desain tiap FPGA yang ada maka hal ini tak pernah terjadi. Yang ada hanya jalur domain detak yang berbeda yang kemudian nanti akan disinkronkan.

Kecepatan Domain Detak

Setiap domain detak di dalam FPGA, software yang ada akan menganalisa semua jalur flip flop. Selain itu, software tersebut juga akan memberikan data tentang berapa frekuensi maksimum yang diperbolehkan. Biasanya software hanya akan menganalisa satu jalur dari setiap domain detak saja. Sedangka untuk sinkronisasi jalur biasanya tidak menjadi masalah dan tidak akan dianalisis.

Sebuah domain detak untuk sebuah FPGA besarnya mencapai 10 MHz, atau lebih besar yaitu 100 MHz. Sepanjang clock yang digunakan adalah global lines serta menggunakan kecepatan detak yang lebih rendah dari data yang ada, maka tidak perlu khawatir mengenai pewaktuan internal. Hal ini disebabkan karena telah terbukti akan efektif dan efisien nantinya.

Sinyal di antara Domain Detak

Jika sebuah data perlu dikirimkan melewati domain detak yang berbeda, pertimbangan khusus perlu diperhatikan. Secara sederhananya yaitu sebuah detak hanya akan cocok dan sinkron dengan domain detak yang sama. Jika detak dan domain detaknya berbeda maka hal ini sulit dilakukan dan bisa menyebabkan sistem pewaktuan kacau dan menyebabkan ketidakstabilan pada flip flop. Namun, ada tekhnik dan cara untuk mengatasinya misalnya menggunakan sinkronisasi atau dengan menggunakan FIFO.

Mungkin Anda juga menyukai