科技之錘!
“各位教授,各位老師,大家好,非常感謝大家能抱著對我的信任加入我們eda項目組。今天這個會議就是大概講述一下我們這款極簡eda的設計理念,以及對大家接下來的工作做一個分工。”
實驗室四樓小會議室裡,寧為正在給項目組的眾人做著報告。
壓力還是有的。
畢竟除了餘興偉外,年紀最小的也都大了他一輪。
“這麼說吧,對於我們項目組即將設計的這款eda軟件,並沒有大家想象中的那麼複雜。我把它稱之為麵向對象的eda軟件設計。”
“在這裡我先假設每一個由現有技術能夠製作出的結構都是一個對象。這些對象我將之分成了四種類型。”
“它們分彆是元,即現有技術能夠製作的最小結構單位,這個單位是可以隨著技術的突破而更新的。”
“組,若乾個元彼此連接、排列形成的具有單一功能的結構。
“群,若乾個功能相同或不同的組彼此連接、排列形成的能夠獨立完成某一特定功能的結構。”
“容器用以承裝元、組或群的結構。”
“每一個對象要都包含屬性和函數兩部分。”
“屬性不僅包含該對象的物理屬性,如尺寸、大小等,還包含該對象的索引與表示屬性,如代表符號、統一序號等,還包含了該對象的布局屬性,如連接方式和排列方式等。函數則必須有輸入參數和返回值,是對對象功能的描述,如單項導通、放大、截止等。”
寧為對照著昨天趕出的t,給項目組成員表述著他的基礎設計理念。
“從這種視角,大家應該看出我們的eda設計思路其實很簡單,一方麵我們要讓操作者很輕鬆的將代表不同類型對象的符號在設計界麵上進行定位和排列並進行接線;另一方麵,操作者的所有操作實際上是計算機後台將對象的函數彼此串聯調用,最終形成一個大函數過程。”
“以上是對設計過程的要求。同時,我們的eda軟件要具備仿真功能。eda仿真過程是向大函數過程輸入參數並記錄反饋結果的過程,也包括對各個子過程之間傳遞的參數和返回值的監測。
“eda實例化過程需要將對象的布局位置和排列方式生成運行腳本以便控製光刻機進行生產和製造。”
“由以上需求,我們直接引導出軟件結構。”
“對象庫用於定義現有的對象並保存未來新設計的對象。”
“函數庫用於保存現有或未來新增對象的函數。”
“設計界麵用於對對象進行布局、排列和連接。”
“函數連接用於將排列和連接的對象的函數按照排列和連接的方式進行串聯和調用。”
“仿真與監控用於向結構發送參數並檢測各個函數節點的返回值。”
“生產函數用於將對象的布局、排列和連接進行腳本化給光刻機用於生產。”
“除此之外,因為這是一款全新的eda軟件,我們沒辦法依靠外設接口來引入外掛程序,所以我們還要有一個跟其他eda區彆開的庫。這個庫跟對象庫相對應。我們每設計一種結構,便要為這一結構更新一個指令集跟配套的函數。”
“換句話說,我們每針對某個特定問題設計的芯片,都要有全方位的支持。這也是我們的產品差異化競爭之所在。我們的產品並不隻是麵向特定的大廠專業eda設計人員,我的初衷是要讓一個小學孩子,在看過說明書後,都能夠用我們的軟件設計出能用的芯片。”
“在我們的軟件推出之後,由專業人員設計出的結構跟配套的指令集、函數再經過驗證跟審核之後,也可以同步到我們的庫中。”