FPGA Pin Assignment

Secara umum, sebuah FPGA terbagi atas 2 pin, yakni pin asli (dedicated pins) dan pin untuk pengguna (user pins). Pin untuk pengguna (user pin) dibuat dengan maksud agar pengguna FPGA dapat menentukan sendiri pin-pin yang akan dipakai sesuai kebutuhannya. Proses penentuan jenis pin inilah yang disebut FPGA Pin Assignment. Proses ini diperlukan agar FPGA nantinya dapat saling berkomunikasi dengan peralatan lain yang dibutuhkan. Ketika sebuah rancangan dibuat, maka sinyal-sinyal dari rancangan itu akan dikirim ke pin pengguna FPGA. Misal, dibuat sebuah rancangan rangkaian Full Subtractor 3 bit di dalam FPGA. Rangkaian Full Subtractor merupakan rangkaian pengurang biner yang secara logika dapat digambarkan sebagai pengurangan bilangan biner sebagai kombinasi bit 1 dan bit 0. Berikut gambar Full Subtractor 3 bit :

full-subtractor-3-bitGambar Rancangan Full Subtractor 3 bit

Di dalam gambar di atas, terdapat 3 buah input (A, B, dan Bin) serta 2 buah output (Di dan Bo). Baik sinyal input maupun sinyal output akan dikirim dari rancangan rangkaian tersebut ke FPGA user pins. Nantinya, pengguna dapat menentukan sendiri sinyal input maupun output akan masuk ke pin mana di dalam FPGA. Jika rancangan yang dibuat berupa bertingkat atau hierarki maka sinyal hanya akan berasal dari tingkat yang paling awal ke user pin FPGA saja. Dalam gambar di atas, sinyal input tidaklah langsung menuju output melainkan masuk melalui beberapa gerbang tertentu. Inilah yang disebut rancangan bertingkat. Tentu saja, sinyal output gerbang terakhir saja yang hanya akan bisa terhubung ke FPGA user pin (dalam hal ini, FPGA user pin akan mengacu pada outputnya yaitu hasil gerbang OR dan gerbang XOR).

Pada tingkat rancangan yang paling awal (digambarkan input A, B, dan Bin) biasanya tidak secara jelas akan ditunjukkan pin mana yang hendak dipakai. Jika ini terjadi, biasanya FPGA akan memilih secara acak pin mana yang hendak dipakai. Maka untuk memudahkan pemakaiaan FPGA, lebih baik dilakukan pin assignment, yakni prose menentukan pin-pin mana dalam FPGA yang hendak digunakan. Proses ini sangat sederhana, yakni hanya menentukan sinyal apa yang dibutuhkan serta pin mana yang akan digunakan untuk sinyal tersebut. Berikut contohnya :

“nama sinyal < – – > pin”

“pin input < – – > pin 32”

Berkas Pin Assingment ini memiliki jenis atau format berupa text(tulisan). Namun aturan penulisan untuk pin assignmnet ini berbeda antara masing-masing vendor FPGA.

  • Xilinx Pin Assignment

    Untuk FPGA buatan Xilinx, pin assignment menggunakan format file yakni .ucf. Berikut beberapa contoh potongan rancangan dalam menggunakan pin assignment :

    NET “data” LOC = “P17”;
    NET “clock” LOC = “P91”;

    Pernyataan di atas mengandung pengertian bahwa sinyal “data” akan masuk ke dalam pin 17.

  • Altera Pin Assignment

    Sedangkan untuk FPGA buatan Altera yang terkenal dengan programnya, Quartus, menggunakan format file .qsf (atau .csf untuk Quartus versi yang lama). File ini tidak hanya berisi pin assignment, tapi juga informasi yang lain. File .qsf pin assignment dapat dicontohkan sebagai berikut :

    set_location_assignment PIN_10 -to clk
    set_location_assignment PIN_26 -to LED

    Artinya, pin 10 digunakan untuk detak (clock) dan pin 26 digunakan untuk LED.

sumber : http://www.fpga4fun.com/FPGAsoftware2.html

Tinggalkan Balasan

This site uses Akismet to reduce spam. Learn how your comment data is processed.