第087章 不同意見也是有的

“各位教授,各位老師,大家好,非常感謝大家能抱著對我的信任加入我們EDA項目組。今天這個會議就是大概講述一下我們這款極簡EDA的設計理念,以及對大家接下來的工作做一個分工。”

實驗室四樓小會議室裏,寧為正在給項目組的眾人做著報告。

壓力還是有的。

畢竟除了余興偉外,年紀最小的也都大了他一輪。

“這麽說吧,對於我們項目組即將設計的這款EDA軟件,並沒有大家想象中的那麽復雜。我把它稱之為面向對象的EDA軟件設計。”

“在這裏我先假設每一個由現有技術能夠制作出的結構都是一個對象。這些對象我將之分成了四種類型。”

“它們分別是元,即現有技術能夠制作的最小結構單位,這個單位是可以隨著技術的突破而更新的。”

“組,若幹個元彼此連接、排列形成的具有單一功能的結構。”

“群,若幹個功能相同或不同的組彼此連接、排列形成的能夠獨立完成某一特定功能的結構。”

“容器:用以承裝元、組或群的結構。”

“每一個對象要都包含屬性和函數兩部分。”

“屬性不僅包含該對象的物理屬性,如尺寸、大小等,還包含該對象的索引與表示屬性,如代表符號、統一序號等,還包含了該對象的布局屬性,如連接方式和排列方式等。函數則必須有輸入參數和返回值,是對對象功能的描述,如單項導通、放大、截止等。”

寧為對照著昨天趕出的PPT,給項目組成員表述著他的基礎設計理念。

“從這種視角,大家應該看出我們的EDA設計思路其實很簡單,一方面我們要讓操作者很輕松的將代表不同類型對象的符號在設計界面上進行定位和排列並進行接線;另一方面,操作者的所有操作實際上是計算機後台將對象的函數彼此串聯調用,最終形成一個大函數過程。”

“以上是對設計過程的要求。同時,我們的EDA軟件要具備仿真功能。EDA仿真過程是向大函數過程輸入參數並記錄反饋結果的過程,也包括對各個子過程之間傳遞的參數和返回值的監測。”

“EDA實例化過程需要將對象的布局位置和排列方式生成運行腳本以便控制光刻機進行生產和制造。”

“由以上需求,我們直接引導出軟件結構。”

“對象庫:用於定義現有的對象並保存未來新設計的對象。”

“函數庫:用於保存現有或未來新增對象的函數。”

“設計界面:用於對對象進行布局、排列和連接。”

“函數連接:用於將排列和連接的對象的函數按照排列和連接的方式進行串聯和調用。”

“仿真與監控:用於向結構發送參數並檢測各個函數節點的返回值。”

“生產函數:用於將對象的布局、排列和連接進行腳本化提供給光刻機用於生產。”

“除此之外,因為這是一款全新的EDA軟件,我們沒辦法依靠外設接口來引入外掛程序,所以我們還要有一個跟其他EDA區別開的庫。這個庫跟對象庫相對應。我們每設計一種結構,便要為這一結構更新一個指令集跟配套的函數。”

“換句話說,我們每針對某個特定問題設計的芯片,都要有全方位的支持。這也是我們的產品差異化競爭之所在。我們的產品並不只是面向特定的大廠專業EDA設計人員,我的初衷是要讓一個小學孩子,在看過說明書後,都能夠用我們的軟件設計出能用的芯片。”

“在我們的軟件推出之後,由專業人員設計出的結構跟配套的指令集、函數再經過驗證跟審核之後,也可以同步到我們的庫中。”

“這裏又對我們的產品提出了一個要求,就是要內置一個對結構的邏輯判斷能力。簡單來說就是所求即所得,換句話說,用戶只需要能夠比較準確的描述出需求,我們的軟件就能自動給其推薦能完成這一需求的架構跟配套的配置文件!”

“想來大家已經明白這款軟件的設計理念了。那就是簡單,足夠的簡單,就幾乎不需要任何推廣成本。”

“大家還有什麽問題嗎?”

……

項目組成員們面面相覷。

因為人在局中很難想象這麽一款EDA軟件開發出來的意義在哪。

給小朋友當玩具麽?

沒錯,簡單是能省掉許多的推廣成本,但也意味著這玩意實用價值不高啊!

首先是幾乎不能設計跟仿真大型復雜的通用芯片,比如CPU、GPU。

另一個就是應用層了。

寧為的意思是要繞開現有的各種架構跟指令集,又牽扯到兼容性的問題。

實際上現階段AI芯片本就有現成的解決方案,比如FPGA。