Metode apa yang Anda sarankan untuk membuat prototipe sirkuit asinkron?

9

Saya terkejut dan sedikit terkejut dengan menemukan bahwa tidak ada alat mapan yang tepat untuk merancang dan membuat prototipe sirkuit asinkron.

Saya terus mencari menggunakan google dan cara lain untuk menemukan metode yang baik untuk merancang rangkaian asinkron VLSI, tetapi sejauh ini pencarian gagal menghasilkan jawaban.

Ada beberapa alat yang ditinggalkan seperti Balsa, dll. Untuk mengotomatisasi desain VLSI, tetapi semuanya benar-benar tidak berdokumen dan sulit digunakan. Apa yang saya cari adalah sesuatu seperti FPGA yang kita miliki di dunia sinkron.

Pokoknya saya menghargai jika Anda membagikan nama alat yang dapat diandalkan, dan membuat prototipe perangkat keras yang meringankan beban desain sirkuit asinkron.

Ehsan
sumber
10
Anda tidak akan menemukannya (produk dan alat komersial), karena tidak ada permintaan pasar untuk itu. Desain asinkron jauh lebih sulit untuk dikerjakan dengan benar, oleh karena itu lebih hemat biaya untuk membatasi penggunaannya pada beberapa fungsi primitif yang didefinisikan dengan baik (sandal jepit, dll.) Dan kemudian menggunakan teknik sinkron untuk semua fungsi tingkat yang lebih tinggi. Bantu kami dengan menjelaskan motivasi Anda untuk ini dan apa yang ingin Anda capai.
Dave Tweed
6
Inti dari sebuah proyek penelitian adalah untuk pergi sesuatu yang baru, sehingga fakta bahwa ada jejak tanah yang terbengkalai bukan jalan raya antar negara hanya diharapkan. Satu-satunya petunjuk yang dapat saya sarankan adalah mencari makalah Teresa Meng. Saya ingat melihat satu atau dua dari ISSCC 1990 ketika diadakan di Glasgow.
Brian Drummond
5
Demikian pula saya belajar dengan Simon Moore ( cl.cam.ac.uk/~swm11/resume ) yang memiliki seluruh kelompok mengerjakan ini lebih dari satu dekade yang lalu. Saya juga terlibat dengan startup alat desain perangkat keras yang tidak sinkron .. yang diputar ke alat desain berdaya rendah yang sinkron, karena kurangnya pasar. Sekali lagi Anda harus mencari kertas dari dia dan kelompok risetnya.
pjc50
4
(Juga, orang-orang yang memberikan suara untuk menutup pertanyaan ini karena ini bukan tentang desain elektronik adalah salah)
pjc50
2
Ada juga NULL Convention Logic dengan pustaka primitif VHDL. Nama-nama primitif menunjukkan tautan ke Theseus Research Inc .. Ada pertanyaan pengganda NCL pada Stack Overflow yang ditarik tentang waktu saya akan melakukan testbench untuk itu. (13 Mei 2015). Idenya muncul secara berkala untuk menghindari analisis daya dalam kriptografi (lihat IACR menyebutkan minggu lalu). Sebuah Buku SECARA LOGIKA DITENTUKAN DESIGN CLOCKLESS RANCANG BANGUN SISTEM DENGAN NULL KONVENSI LOGIC , Karl M. Fant.
user8352

Jawaban:

3

Logika Theseus NCL telah disebutkan, ada juga sistem Handshake (Philips spin off) serta Fulcrum Microsystems dan Caltech. Ada prosesor ARM asinkron yang disebut Amulet juga. Dan SUN Microsystems memiliki tim desain prosesor untuk ini juga untuk SPARC tanpa clock.

Saya akan memanggil desain tanpa jarum jam ini untuk menghindari kebingungan antara desain logika seperti penghitung riak dan tipe sirkuit ini. Namun secara umum kedua istilah tersebut digunakan.

DC (Design Compiler) dari Synopsys juga Merlin dari sistem FTL juga dulu tersedia.

Namun, jika Anda memiliki pustaka sel inti yang dirancang dengan baik, abstraksi / deskripsi tingkat atas ini bisa menjadi sepele. Masalah inti adalah bahwa jika Anda telah merancang sebuah sistem yang memungkinkan setiap sel untuk menyebar maju sinyal yang mengatakan "hasil yang baik" serta merambat ke belakang "sistem yang tersedia" jam sistem dan dengan demikian dapat dengan mudah dirancang seperti perangkat lunak tanpa memperhatikan kondisi ras atau waktu untuk hal itu.

Jadi alat yang digunakan akan sesederhana SPICE untuk desain level sel (level transistor) dan C untuk mengkompilasi ke dalam kumpulan primitif yang akan ditempatkan. Untuk kehidupan saya, saya tidak dapat menemukan alat berbasis C (open source) yang digunakan.

Lihatlah orang-orang seperti Wesley Clark (Dia meninggal baru-baru ini) juga Ivan Sutherland dan Karl Fant (disebutkan di tempat lain juga).

placeholder
sumber
@ Ehsan: Itu memang menarik, tapi saya gagal melihat bagaimana itu menjawab pertanyaan sama sekali . Tata letak tingkat sel untuk desain ASIC, bukan prototyping.
Ben Voigt
@ Ben: Saya setuju, dan itulah sebabnya saya tidak menerima jawabannya. Tetapi saya dapat \ emp {mensimulasikan} beberapa sirkuit asinkron dasar menggunakan pustaka level sel di MultiSim dan LTSpice. Logika NCL juga memiliki pustaka Verilog kotak pasir yang dapat dibuat prototipe sirkuit berdasarkan NCL menggunakan FPGA: github.com/karlfant/NCL_sandbox . Tapi saya belum mencobanya. Ketika saya mempelajari NCL, saya menyadari overhead yang sangat besar dari pendekatan ini sehingga saya berusaha menghindarinya, dan menghasilkan sesuatu yang lebih praktis.
Ehsan
2

Jika sebuah register memiliki clock sistem, itu akan dianggap sinkron. Jika register yang sama itu clock langsung dari gerbang, rangkaian logika atau umumnya apa pun selain jam sistem itu akan menjadi tidak sinkron. Register Altera dapat dihitung dari beberapa jam sistem, atau dengan logika. Anda dapat membangun jenis sirkuit gerbang apa pun yang Anda inginkan. . . Sudah pengalaman saya dengan sebagian besar jenis ASIC atau FPGA yang setiap kali dikompilasi, sesuatu dialihkan berbeda. Jadi penundaan propagasi selalu berubah.

JimTech
sumber
2

FPGA adalah perangkat keras yang tepat. Tetapi Anda tidak akan dapat menggunakan perangkat lunak sintesis yang berfokus pada sinkron, karena itu membuat transformasi yang salah.

Sebagai contoh, sebuah FPGA sangat mampu membentuk osilator yang dibangun dengan rantai inverter. Tetapi jika Anda mendefinisikan rantai inverter dalam misalnya VHDL dan menggunakan salah satu kompiler standar, "NOT-gate pushback" akan menghilangkan inverter berpasangan dan membuat Anda hanya memiliki satu, dan perangkat tidak akan berosilasi.

Anda mungkin harus menulis beberapa perangkat lunak sintesis Anda sendiri, yang akan dimungkinkan jika Anda mendapatkan informasi yang cukup tentang bitstream. Saya akan melihat upaya penelitian lain yang beroperasi pada bitstream daripada deskripsi perilaku - hal-hal seperti deteksi kesalahan dan analisis keandalan sangat tergantung pada pemetaan yang dipilih oleh synthesizer. Mungkin beberapa pekerjaan di bidang logika toleransi kesalahan redundan telah berhasil melakukan beberapa teknik pemetaan kustom, karena penghapusan istilah produk umum adalah salah satu transformasi standar yang dilakukan oleh synthesizer tradisional, dan benar-benar menghancurkan desain yang berlebihan.

Ketika Anda mengontrol penggunaan primitif elemen logika FPGA seperti tabel pencarian dan interkoneksi lokal dan global, Anda akan dapat menggunakan penundaan yang melekat untuk mewujudkan desain asinkron Anda. Masalah optimisasi Anda jauh lebih sulit daripada menyesuaikan dengan tujuan pertemuan waktu pengaturan-dan-tahan, tetapi itulah yang membuatnya diteliti.

Ben Voigt
sumber
1

Tergantung pada kompleksitas sirkuit Anda .. Jika sebagian besar desain digital Anda, Anda mungkin melihat menggunakan sistem Quartus Altera. Input desain Anda dengan alat grafis dan / atau VHDL menggunakan register clock asyncronously atau menggunakan gerbang logika saja. Tambahkan dummy buffer, gerbang, pin sinyal dll. Sesuai kebutuhan untuk menunda jalur sinyal agar sesuai dengan apa pun yang Anda butuhkan. (dengan asumsi desain Anda lebih lambat daripada penundaan gerbang CPLD tercepat mereka <5 ns)

Bertahun-tahun merancang dengan chip mereka, saya tidak pernah menemukan hasil simulator yang salah. Desain yang lebih kecil dapat dilakukan dengan alat gratis mereka.

JimTech
sumber
"register jam asinkron"?! Saya tidak yakin apakah konsep Anda benar. Tidak ada yang namanya "register asyncronously clocked". Sirkuit memiliki jam (sinkron) atau tidak (tidak sinkron). Alat yang saya cari harus mendukung gerbang Muller primitif, dual-rail, gerbang 2NCL, dll.
Ehsan