Ketika Anda mengatakan desain "perangkat keras", saya tahu Anda mungkin berbicara tentang solusi komponen PCB dan diskrit, tetapi saya memiliki beberapa pengalaman dengan merancang ASIC yang mungkin berguna dalam tingkat konseptual.
Ketika kami merancang ASIC yang cukup rumit, kami menggunakan hierarki dari awal. Salah satu alasan utama untuk itu adalah bahwa ketika desain semakin besar, kemampuan Anda untuk mengevaluasi dan mensimulasikan mereka secara menyeluruh berkurang. Selain itu, desain ASIC bisa menjadi sangat besar, dan tanpa hierarki yang terorganisir dengan baik, akan sulit untuk mengelola keseluruhan desain.
Kami memiliki budaya penggunaan kembali yang kuat untuk blok bangunan kami. Misalnya, jika kita memiliki desain op-amp yang dihabiskan seseorang untuk merancang dan memvalidasi, desain itu akan dikemas sehingga desainer lain dapat dengan mudah mengimpor desain itu ke dalam ruang kerja mereka sendiri. Kami memiliki server terpusat untuk menyimpan paket-paket ini, sehingga semua bagian yang Anda butuhkan mudah ditemukan.
Sementara sebuah blok individu mungkin telah dirancang untuk rangkaian tertentu (misalnya referensi tegangan untuk op-amp), biasanya blok tersebut dapat digunakan kembali tanpa memodifikasi desain aslinya. Siklus desain berlangsung selama satu bulan atau lebih, dan mencakup validasi tata letak. Merancang salah satu dari blok ini membutuhkan waktu untuk membiasakan diri dengan set masalah, sehingga meskipun blok tersebut tidak ideal, Anda mungkin akan mencoba menggunakannya.