LSI開発の技術者は,ソフトウェア開発技術から見て10年先を行っていたのだ,そう10年前までは...

西暦2000年のLSI開発の現場経験は,それはLSIを相手にするゆえの要求から生じた必然から,一般的なソフトウェア開発現場の10年先を走っていたと思います.

テストありき

設計では設計工数3割に対して検証工数7割が常識でした.検証,これが設計品質の生命線なのです.
コンパイルしてぽんで実行できるプログラムと違い,ハードウェア記述言語(HDL)で表現した論理回路は最終的に物理的なシリコンチップになります.LSIともなると,おおよそ,チップの製造に2ヶ月,費用は億単位が必要です.試作チップができてから動かして設計ミスでも見つかれば,再度チップを製造し直しです.そのための期間と費用もさることながら,新製品投入時期をずらすことになれば莫大な機会損失が生じます.
そんなわけで多少の手間がかかろうとも徹底的な(様々な段階で複数の手段を使い)検証が必要不可欠とされます.
このような背景がありますから,自然とテスト駆動なソフトウェア設計となります.

並列あるいはマルチコアな設計

特定の(信号)処理に回路を1から設計するわけですから,自然,その記述に用いるHDLは,オブジェクト指向,実行の同時並列性の記述が容易な言語となります.設計者の考え方も,並列実行,マルチコアな構成が当たり前となります.このあたりは,C言語Javaなど,1組のメモリ/プロセッサでの動作を前提とした逐次実行されるプログラムの生成を目的とする言語とはかなり毛色が違います.

まとめ

10年前の設計現場は確かにソフトウェア設計としても先を行った考えがあった,そう思います.いまはどうでしょうか.アジャイルイテレーションを前提とした柔軟に状況に対応する開発体制などを見ていると,どうなのかなぁと思うところがあります.