Wenn Sie von "Hardware" -Designs sprechen, dann sprechen Sie wahrscheinlich über PCB- und diskrete Komponentenlösungen, aber ich habe einige Erfahrungen mit der Entwicklung von ASICs, die auf konzeptioneller Ebene nützlich sein können.
Wenn wir einen ASIC entwerfen, der ziemlich kompliziert ist, verwenden wir von Anfang an die Hierarchie. Ein Hauptgrund dafür ist, dass mit zunehmender Größe der Designs Ihre Fähigkeit, sie gründlich zu bewerten und zu simulieren, abnimmt. Außerdem können ASIC-Designs sehr umfangreich werden, und ohne eine gut organisierte Hierarchie kann es schwierig sein, das gesamte Design zu verwalten.
Wir haben eine starke Kultur der Wiederverwendung für unsere Bausteine. Wenn wir beispielsweise ein Operationsverstärker-Design haben, für dessen Entwurf und Validierung viel Zeit aufgewendet wurde, wird dieses Design so verpackt, dass ein anderer Designer dieses Design problemlos in seinen eigenen Arbeitsbereich importieren kann. Wir haben einen zentralen Server für die Speicherung dieser Pakete, sodass alle benötigten Teile leicht zu finden sind.
Während ein einzelner Block möglicherweise für einen bestimmten Schaltkreis entworfen wurde (z. B. eine Spannungsreferenz für einen Operationsverstärker), kann er normalerweise wiederverwendet werden, ohne das ursprüngliche Design zu ändern. Der Entwurfszyklus dauert mindestens einen Monat und umfasst die Validierung eines Layouts. Das Entwerfen eines dieser Blöcke erfordert einige Zeit, um sich mit der Problematik vertraut zu machen. Selbst wenn der Block nicht ideal ist, würden Sie ihn wahrscheinlich trotzdem verwenden.