Gerbang Logika FPGA

8

Saya menemukan papan FPGA yang saya sukai. Ini menggunakan Xilinx Spartan 6 LX45. Ketika saya pergi ke lembar data untuk seri 6 Spartan , hanya mengatakan bahwa ada 43.661 sel logika. Berapa banyak gerbang yang disamakan dengan itu? Atau di sana, bagaimana saya mencari tahu jumlah gerbang total dari jumlah sel logika?

haneefmubarak
sumber

Jawaban:

6

Pabrikan FPGA tidak lagi menggunakan jumlah gerbang yang setara, bahkan dalam materi pemasaran yang paling sulit sekalipun. Seperti baris kode atau megahertz kecepatan prosesor, ini adalah metrik yang sangat tidak akurat untuk mengukur kemampuan perangkat, dan di pasar FPGA pelanggan cukup sadar untuk menekan penggunaannya.

Untuk memperkirakan ukuran perangkat yang Anda butuhkan, Anda harus melihat ringkasan pada hal. 2 lembar data yang Anda tautkan. Biasanya Anda bisa mendapatkan ide yang layak sejak awal dalam proses desain Anda berapa banyak sandal jepit, berapa banyak i / o dan berapa banyak ram kebutuhan desain Anda. Satu atau yang lain dari mereka biasanya akan menjadi sumber daya kritis yang menentukan ukuran bagian yang Anda butuhkan.

Jika Anda tidak dibatasi oleh biaya, gunakan perangkat 2x atau lebih besar dari yang Anda pikir Anda butuhkan. Ini akan memberi Anda ruang untuk fitur creep dalam desain Anda dan juga mempercepat pengembangan karena alat desain tidak perlu bekerja keras untuk menyesuaikan desain Anda ke sumber daya yang tersedia.

Edit , tarik hal-hal dari komentar,

Anda menyebutkan bahwa sebagian besar desain Anda tanpa jam kerja.

Masalah dengan ini adalah bahwa alat desain FPGA bergantung pada pencatatan jam kerja dan batasan waktu yang dihasilkan untuk mendorong pengoptimalan desain yang disintesis. Jika Anda ingin melakukan desain tanpa jam di FPGA itu mungkin pada prinsipnya, tetapi Anda tidak akan mendapatkan banyak bantuan dari alat (atau vendor) dan Anda mungkin perlu menemukan komunitas khusus yang melakukan hal semacam itu untuk dapatkan dukungan.

Dalam hal apa pun, Anda dapat melihat Panduan Pengguna Blok Logan yang Dapat Dikonfigurasi Spartan 6 untuk melihat sumber daya apa yang tersedia di setiap blok. Kemudian secara mental petakan desain Anda ke sumber daya itu untuk melihat berapa banyak blok yang Anda butuhkan. Itu seharusnya cukup untuk membiarkan Anda memilih perangkat ukuran yang tepat.

Misalnya, Anda dapat melihat dalam dokumen itu bahwa bagian LX45 berisi sekitar 27.000 6-input LUT. Setiap LUT dapat digunakan untuk mengimplementasikan logika kombinatorial yang sewenang-wenang dengan hingga 6 input. Jika Anda dapat mengekspresikan logika Anda dalam hal primitif ini, Anda dapat memperkirakan apakah desain Anda cocok dengan perangkat.

Foton
sumber
Nah, itu masalahnya, saya masih belum mulai mendesain (dan desain saya langsung dalam logika), karena, saya akan merancang berdasarkan penawaran khusus FPGA saya. Saya tahu saya membutuhkan kurang lebih> 2,5 juta gerbang, jadi bagaimana saya menemukan sesuatu yang bisa menampung banyak gerbang?
haneefmubarak
Sungguh, tidak ada sandal jepit?
The Photon
Yah, saya punya beberapa, tetapi beberapa hanya SR dan yang lainnya, bukan JK dan D.
haneefmubarak
1
Untuk mendapatkan dukungan yang baik dari alat sintesis FPGA Anda mungkin ingin mempertimbangkan menyesuaikan desain Anda untuk menekankan sandal jepit --- Saya kira ada cara untuk merancang dalam gaya lain, tetapi perangkat FPGA sangat berorientasi pada desain RTL, yang berarti banyak Dff.
The Photon
1
Ada alasan yang sangat bagus alat FPGA dirancang untuk digunakan dengan logika clocked utama. Sirkuit kombinatorial yang kompleks sangat sulit untuk dirancang dalam FPGA. Anda mungkin harus menempatkan setiap sumber daya secara manual, seolah-olah pencatatan jam kerja tidak ditentukan keterlambatan perutean bisa sangat acak di antara proses sintesis. Jika desain Anda benar-benar tidak peduli dengan penundaan propagasi, Anda memiliki kesempatan ... tetapi jika Anda peduli dengan penundaan ini, Anda mungkin akan mengalami pengalaman yang menyakitkan dan mengecewakan.
darron
4

FPGA lebih dari sekadar gerbang (LUT, FF, Block RAM, Pengganda, dll.) Dan mencoba mencari tahu berapa banyak latihan yang tidak ada artinya. Departemen pemasaran perusahaan FPGA telah, di masa lalu, melemparkan angka-angka seperti jumlah gerbang setara dengan 1,4x jumlah sel logika tapi saya percaya bahwa mereka telah menghentikan praktik ini.

Jika Anda mencoba menentukan apakah desain yang diberikan sesuai dengan FPGA, yang terbaik adalah melakukan beberapa percobaan sintesis berjalan pada HDL Anda untuk berbagai ukuran FPGA.

Amoch
sumber
Nah, itu masalahnya, saya masih belum mulai mendesain (dan desain saya langsung dalam logika), karena, saya akan merancang berdasarkan penawaran khusus FPGA saya. Saya tahu saya membutuhkan kurang lebih> 2,5 juta gerbang, jadi bagaimana saya menemukan sesuatu yang bisa menampung banyak gerbang?
haneefmubarak
Bagaimana Anda tahu Anda membutuhkan gerbang 2,5 juta?
Amoch
Saya mulai membuat satu modul dalam simulator kecil, dikalikan dengan jumlah modul yang saya butuhkan, menambahkan sedikit ruang, dan dibulatkan menjadi dua buah ara.
haneefmubarak
Bagaimana Anda bisa mendapatkan hitungan gerbang? Alat FPGA akan memberi Anda nomor penggunaan dalam hal sumber daya mereka, bukan jumlah gerbang.
Amoch
1
Seperti yang dikatakan @The Photon, FPGA dan alat-alat mereka sangat bias terhadap teknik desain sinkron dan Anda akan mendapatkan hasil yang buruk jika melakukan hal sebaliknya. Pada akhirnya, jika Anda ingin merancang untuk FPGA maka gunakan alat FPGA, bukan yang lain.
Amoch
2

Datang dengan cara lain - kedengarannya dari komentar lain seperti Anda memiliki modul yang sudah beres. Masukkan itu ke alat FPGA - bahkan yang tanpa biaya akan memberi Anda perkiraan jumlah LUT / BRAM / FF dari sintesis. Lipat gandakan dengan instance instance Anda, tambahkan beberapa slack dan di sana Anda memiliki hitungan LUT yang dapat digunakan untuk mengukur FPGA.

Tentu saja, Anda mungkin harus melakukannya untuk setiap jenis FPGA yang Anda pertimbangkan karena mereka masing-masing memiliki arsitektur yang agak berbeda, dalam hal jumlah input yang dimiliki LUT, dan berapa banyak sirkuit pendukung lain dalam cara muxes dll yang mereka miliki di sekitar LUT. Dan apakah sirkuit Anda dapat memanfaatkannya ...

Martin Thompson
sumber
Yah, saya akan, jika saya bisa menemukan alat FPGA gratis yang memungkinkan saya hanya menggambar gerbang logika dan kemudian memprogram FPGA dengannya.
haneefmubarak
Jika Anda menginginkan perkiraan yang serius, Anda mungkin ingin mengambil diagram gerbang dan mengubahnya menjadi HDL. Anda harus tetap melakukannya untuk melakukan pekerjaan implementasi yang serius akhir-akhir ini. Apakah itu desain "spageti" yang sangat besar atau terstruktur secara hierarkis dengan banyak penggunaan kembali?
Martin Thompson