Pertimbangan untuk Tambah Keupayaan Reset ke Reka Bentuk FPGA

3000+ Common English Words with Pronunciation (Jun 2019).

$config[ads_text] not found
Anonim

Pertimbangan untuk Tambah Keupayaan Reset ke Reka Bentuk FPGA


Artikel ini akan melihat beberapa akibat daripada menambahkan input semula ke reka bentuk FPGA.

Artikel ini akan meninjau beberapa pertimbangan asas untuk mengodkan fungsi yang diberikan dengan input set semula. Akibat menggunakan input penetapan semula boleh diabaikan oleh pereka bentuk tetapi strategi penyetelan yang tidak betul dapat dengan mudah mengenakan hukuman berat. Menetapkan semula keupayaan boleh menjejaskan kelajuan, kawasan, dan penggunaan kuasa reka bentuk FPGA.

Sebelum meneruskan perbincangan kita, adalah penting untuk menekankan pada satu prinsip asas: FPGAs boleh diprogramkan tetapi ini tidak bermakna kita boleh memprogramkan setiap ciri dalam FPGA. Prinsip asas ini akan dijelaskan lebih lanjut di seluruh artikel.

Berhati-hati Baca Butiran Sebelum Anda Tambah Semakan Input

Rajah 1 menunjukkan flip-flop D-jenis (DFF) yang boleh didapati dalam FPGA siri Xilinx 7.

Rajah 1. Flip-flop FDRE D-jenis FPGA siri Xilinx 7. Gambar ihsan Xilinx.

DFF ini, yang mempunyai tetapan semula segerak (R) dan jam membolehkan (CE) input, dipanggil FDRE (Flip-flop, jenis D, set semula segerak, dengan membolehkan jam) dalam Panduan Perpustakaan Xilinx. Jadual logik elemen ini ditunjukkan dalam Rajah 2.

Rajah 2. Jadual logik flip flop FDRE D-jenis FPGA siri Xilinx 7. Gambar ihsan Xilinx.

Di sini, R, CE, D, dan C adalah input DFF dan berdiri untuk menetapkan semula, membolehkan jam, input data, dan jam, masing-masing. X mewakili "jangan bimbang" dan ↑ menandakan masa semakin meningkat. Tetapkan semula adalah segerak kerana ia boleh menetapkan semula output hanya pada pinggir terbit jam.

DFF ini adalah elemen reka bentuk yang boleh digunakan sebagai blok bangunan reka bentuk yang lebih besar. Kita boleh menggunakannya untuk mendaftarkan isyarat yang dikehendaki. Dan, kami bebas untuk menggunakan tetapan semula dan jam membolehkan input FDRE seperti yang kita mahu.

Kita boleh memilih jika kita mahu menggunakan ciri yang ada pada blok bangunan atau tidak. Walau bagaimanapun, kami tidak dapat menambahkan ciri yang tidak disokong ke blok bangunan yang diberikan. Sebagai contoh, pertimbangkan elemen FDRE yang dibincangkan di atas. Elemen reka bentuk ini hanya menyokong tetapan semula segerak. Sekiranya kita memerlukan reset segerak tak segerak dan segerak, kita tidak akan dapat menggunakan flop flop FDRE. Dalam kes ini, alat sintesis perlu menggunakan sumber lain atau bahkan mungkin menggunakan kombinasi blok bangunan yang tersedia untuk merealisasikan reka bentuk yang dikehendaki. Seperti yang anda dapat lihat, ciri-ciri tahap rendah FPGAs tetap tetapi apabila elemen reka bentuk ini dikonfigurasikan, kami menyambungkannya bersama-sama dengan cara yang kami mahu dan membina reka bentuk yang lebih besar.

Sebagai contoh yang lebih halus tentang bagaimana granulariti FPGA dapat mempengaruhi pelaksanaan, perhatikan bahawa, mengikut jadual logik di atas, input semula (R) FDRE mempunyai keutamaan yang lebih tinggi berbanding input jam (CE) yang ada (notis pada baris pertama jadual apabila R ialah 1, CE tidak berkaitan). Kini, ingatkan bahawa kod HDL kami menggunakan DFF dengan kedua-dua tetapan semula dan jam membolehkan input. Dan, penerangan HDL memberikan keutamaan yang lebih tinggi kepada input CE dan bukan input R. Sekali lagi dalam kes ini, alat sintesis perlu menggunakan sumber selain FDRE atau ia harus menggunakan gabungan blok bangunan yang tersedia untuk merealisasikan fungsi yang diinginkan. Untuk maklumat lanjut mengenai contoh ini, rujuk kertas putih Xilinx ini.

Perbincangan di atas menunjukkan bahawa, untuk mempunyai reka bentuk yang cekap, kita perlu mengkaji dengan teliti butiran elemen reka bentuk FPGA sama seperti kita mengkaji datasheet komponen diskret sebelum menggunakannya. Di bahagian lain artikel ini, anda akan melihat contoh lain dari prinsip ini.

Jadual Senarai Daftar Shift (SRL16)

Alat sintesis Xilinx boleh merealisasikan daftar peralihan berasaskan LUT yang jauh lebih padat dan lebih cepat daripada struktur yang diperoleh daripada hanya mengatasi beberapa DFF. Ini daftar anjakan yang cekap, yang dipanggil SRL, tidak menyokong input set semula. Itulah sebabnya, jika daftar pergeseran anda tidak benar-benar memerlukan tetapan semula, anda harus mengelakkannya supaya alat sintesis dibenarkan membuat kesimpulan berasaskan SRL yang cekap untuk daftar shift. Jika kod anda menghuraikan daftar peralihan dengan menetapkan semula, XST akan melaksanakan reka bentuk menggunakan DFF atau ia akan menggunakan beberapa logik tambahan di sekitar SRL untuk membolehkan fungsi semula. SRL boleh disimpulkan daripada pengendali penyambungan mudah (Lihat halaman 154 Panduan Pengguna XST).

Blok RAM

Sama seperti kes SRL, kita tidak boleh menetapkan semula kandungan blok RAM menggunakan tetapan semula eksplisit. Itulah sebabnya apabila pemetaan reka bentuk menjadi RAM blok, kita tidak sepatutnya menggunakan set semula. Anda boleh mendapatkan lebih banyak maklumat di sini.

Multipliers

Tidak seperti SRL atau RAM blok yang tidak menyokong tetapan semula, beberapa modul, seperti pengganda, mempunyai batasan untuk jenis penetapan semula. Modul-modul ini hanya menyokong set semula segerak. Untuk pengganda yang diberikan, menggantikan semula asynchronous dengan strategi segerak dapat meningkatkan kekerapan operasi dengan faktor dua atau lebih.

Untuk merumuskan, strategi penyetelan yang tidak betul menghalang alat sintesis daripada menggunakan modul yang optimum yang terdapat di FPGA. Ini boleh menjejaskan kawasan, kuasa dan kelajuan reka bentuk. Sekarang, mari kita lihat beberapa contoh di mana perisian sintesis menggunakan port reset dari DFF untuk melakukan beberapa pengoptimuman.

Penggunaan Set / Reset Input untuk Optimalkan Pelaksanaan

Biasanya disyorkan untuk mengelakkan penggunaan set dan menetapkan semula input sebanyak mungkin. Ini membantu alat sintesis untuk memohon pengoptimuman di mana input / set semula input DFF diperiksa untuk memudahkan pelaksanaannya. Untuk menjelaskan lebih lanjut, anggap kita mahu melaksanakan skema yang ditunjukkan dalam Rajah 3.

Rajah 3. Satu kes tertentu yang boleh dioptimumkan oleh perisian sintesis. Gambar ihsan dari Reka Bentuk FPGA Lanjutan.

Dalam Rajah 3, apabila "Isyarat A" adalah tinggi logik, output DFF akan tinggi pada kelebihan jam tidak kira apa keluaran litar gabungan "Logik Sikat" adalah. Itulah sebabnya, seperti yang ditunjukkan dalam Rajah 4, perisian sintesis boleh menghilangkan pintu ATAU dan memohon "Isyarat A" kepada input set segerak DFF. Sekarang, apabila "Isyarat A" adalah tinggi logik, DFF akan ditetapkan tinggi pada kelebihan jam. Jika tidak, output akan ditentukan oleh litar gabungan "Logik Sikat". Reka bentuk baru memberikan fungsi yang dikehendaki tetapi, sekarang, pintu ATAU dihapuskan dan kedua-dua kelajuan dan kawasan reka bentuk dapat ditingkatkan.

Rajah 4. Bentuk litar yang dioptimumkan dalam Rajah 3. Kesopanan imej Advanced FPGA Design.

Adalah menarik untuk ambil perhatian bahawa, kadang-kadang, alat sintesis mungkin memutuskan untuk melakukan sebaliknya pengoptimuman di atas dan melaksanakan skema Rajah 4 seperti yang ditunjukkan dalam Rajah 3! Ini disebabkan oleh fakta bahawa, dalam 7 siri, semua DFF dalam bahagian slice berkongsi CK, SR (set / reset) yang sama, dan isyarat CE. Ini bermakna bahawa DFF yang input SR disambungkan kepada "Isyarat A" tidak boleh berada di bahagian yang sama yang mempunyai DFF dengan input SR yang disambungkan kepada isyarat selain "Isyarat A". Jika isyarat kawalan, iaitu CK, SR, dan CE, tidak sama, DFF mesti diletakkan dalam kepingan yang berlainan. Ini boleh menyebabkan penggunaan kepingan yang tidak cekap dalam reka bentuk yang menggunakan banyak isyarat semula fanout rendah. Sebenarnya, setiap isyarat reset fanout rendah akan menggunakan beberapa DFFs slice dan Baki selebihnya DFFs akan dibazirkan. Dalam kes sedemikian, alat sintesis boleh melaksanakan skema Rajah 4 seperti yang ditunjukkan dalam Rajah 3. Proses ini akan membawa kepada DFF yang tidak menggunakan input semula mereka. Akibatnya, DFF ini boleh berkongsi isyarat kawalan yang sama dan boleh diletakkan di dalam kepingan yang sama. Oleh itu, penggunaan peranti akan ditingkatkan.

Dalam Rajah 3 dan 4, kita melihat bahawa pintu ATAU yang diikuti oleh DFF boleh digantikan dengan DFF yang menggunakan inputnya. Begitu juga, kita boleh menggantikan gerbang AND diikuti oleh DFF dengan DFF yang menggunakan input semula (Lihat Rajah 5 di bawah).

Gambar 5. Kelebihan imej Xilinx.

Dalam Rajah 5, atribut SRVAL menentukan nilai output DFF selepas menegaskan input SR. Oleh itu, untuk DFF tengah di sebelah kiri, input SR ditentukan sebagai port set. Walau bagaimanapun, untuk DFF yang lebih rendah di sebelah kiri, input SR sebenarnya merupakan input semula. DFF atas tidak menggunakan input reset.

Tiga DFFs di sebelah kiri tidak boleh diletakkan dalam kepingan yang sama kerana mereka mempunyai isyarat kawalan yang berbeza. Walau bagaimanapun, dengan penukaran yang dibincangkan di atas, kami memperoleh tiga DFF dengan set kawalan kawalan yang sama. Oleh itu, kita boleh meletakkan tiga DFF dalam kepingan yang sama. Ambil perhatian bahawa penukaran di atas tidak sah dengan isyarat tetapkan / set semula tidak segerak. Itulah sebabnya kami biasanya disyorkan untuk menggunakan isyarat set / set semula segerakan daripada yang tidak segerak.

Rujukan

  • Bagaimanakah saya menetapkan semula FPGA saya? oleh Srikanth Erusalagandi, Xilinx.
  • Dapatkan Keutamaan Anda - Membuat Reka Bentuk Anda Sehingga 50% Lebih kecil oleh Ken Chapman, Xilinx.
  • Reka Bentuk FPGA Lanjutan: Senibina, Pelaksanaan, dan Pengoptimuman oleh Steve Kilts.
  • Praktik Pengekodan HDL untuk Mempercepat Prestasi Rekabentuk oleh Philippe Garrault, Xilinx.
  • Dapatkan Smart About Reset: Fikirkan Lokal, Bukan Global oleh Ken Chapman, Xilinx.

Untuk melihat senarai lengkap artikel saya, sila lawati halaman ini.