“各位教授,各位老師,大家好,非常感謝大家能抱著對我的信任加入我們EDA項目組。今天這個會議就是大概講述一下我們這款極簡EDA的設計理念,以及對大家接下來的工作做一個分工。”
實驗室四樓小會議室里,寧為正在給項目組的眾人做著報告。
壓力還是有的。
畢竟除了余興偉外,年紀最小的也都大了他一輪。
“這么說吧,對于我們項目組即將設計的這款EDA軟件,并沒有大家想象中的那么復雜。我把它稱之為面向對象的EDA軟件設計。”
“在這里我先假設每一個由現有技術能夠制作出的結構都是一個對象。這些對象我將之分成了四種類型。”
“它們分別是元,即現有技術能夠制作的最小結構單位,這個單位是可以隨著技術的突破而更新的。”
“組,若干個元彼此連接、排列形成的具有單一功能的結構。
“群,若干個功能相同或不同的組彼此連接、排列形成的能夠獨立完成某一特定功能的結構。”
“容器:用以承裝元、組或群的結構。”
“每一個對象要都包含屬性和函數兩部分。”
“屬性不僅包含該對象的物理屬性,如尺寸、大小等,還包含該對象的索引與表示屬性,如代表符號、統一序號等,還包含了該對象的布局屬性,如連接方式和排列方式等。函數則必須有輸入參數和返回值,是對對象功能的描述,如單項導通、放大、截止等。”
寧為對照著昨天趕出的PPT,給項目組成員表述著他的基礎設計理念。
“從這種視角,大家應該看出我們的EDA設計思路其實很簡單,一方面我們要讓操作者很輕松的將代表不同類型對象的符號在設計界面上進行定位和排列并進行接線;另一方面,操作者的所有操作實際上是計算機后臺將對象的函數彼此串聯調用,最終形成一個大函數過程。”
“以上是對設計過程的要求。同時,我們的EDA軟件要具備仿真功能。EDA仿真過程是向大函數過程輸入參數并記錄反饋結果的過程,也包括對各個子過程之間傳遞的參數和返回值的監測。
“EDA實例化過程需要將對象的布局位置和排列方式生成運行腳本以便控制光刻機進行生產和制造。”
“由以上需求,我們直接引導出軟件結構。”
“對象庫:用于定義現有的對象并保存未來新設計的對象。”
“函數庫:用于保存現有或未來新增對象的函數。”
“設計界面:用于對對象進行布局、排列和連接。”
“函數連接:用于將排列和連接的對象的函數按照排列和連接的方式進行串聯和調用。”
“仿真與監控:用于向結構發送參數并檢測各個函數節點的返回值。”
“生產函數:用于將對象的布局、排列和連接進行腳本化提供給光刻機用于生產。”
“除此之外,因為這是一款全新的EDA軟件,我們沒辦法依靠外設接口來引入外掛程序,所以我們還要有一個跟其他EDA區別開的庫。這個庫跟對象庫相對應。我們每設計一種結構,便要為這一結構更新一個指令集跟配套的函數。”
“換句話說,我們每針對某個特定問題設計的芯片,都要有全方位的支持。這也是我們的產品差異化競爭之所在。我們的產品并不只是面向特定的大廠專業EDA設計人員,我的初衷是要讓一個小學孩子,在看過說明書后,都能夠用我們的軟件設計出能用的芯片。”
“在我們的軟件推出之后,由專業人員設計出的結構跟配套的指令集、函數再經過驗證跟審核之后,也可以同步到我們的庫中。”
“這里又對我們的產品提出了一個要求,就是要內置一個對結構的邏輯判斷能力。簡單來說就是所求即所得,換句話說,用戶只需要能夠比較準確的描述出需求,我們的軟件就能自動給其推薦能完成這一需求的架構跟配套的配置文件!”
“想來大家已經明白這款軟件的設計理念了。那就是簡單,足夠的簡單,就幾乎不需要任何推廣成本。”
“大家還有什么問題嗎?”
……
項目組成員們面面相覷。
因為人在局中很難想象這么一款EDA軟件開發出來的意義在哪。
給小朋友當玩具么?
沒錯,簡單是能省掉許多的推廣成本,但也意味著這玩意實用價值不高啊!
首先是幾乎不能設計跟仿真大型復雜的通用芯片,比如CPU、GPU。
另一個就是應用層了。
寧為的意思是要繞開現有的各種架構跟指令集,又牽扯到兼容性的問題。
實際上現階段AI芯片本就有現成的解決方案,比如FPGA。
跟寧為的構思不同,FPGA直接就可以理解為一種萬能芯片,有著統一的結構。
用戶通過燒入 FPGA 配置文件,來定義這些門電路以及存儲器之間的連線,用硬件描述語言對 FPGA 的硬件電路進行設計。每完成一次燒錄,FPGA內部的硬件電路就有了確定的連接方式,具有了一定的功能,輸入的數據只需要依次經過各個門電路,就可以得到輸出結果。
這種方式顯然比寧為設計的這種ASIC模式更具性價比。雖然FPGA也有自身的缺點,比如性能比不上 ASIC 芯片,價格也比 ASIC 芯片更高。
原因是現在各種人工智能的深度學習算法正處于快速發展期,迭代極快,如果照著寧為的想法每種結構都要設計對應配套的最優化可燒錄配置文件,也就意味著每次算法更迭,都要在對象庫里更新新一代的專用芯片結構。
一旦更新慢了,就落伍了……
所以整個項目組沒幾個人看好這款EDA軟件的前景。
但每個人的想法卻又有不同。
有的人覺得無所謂,反正撥款下來了,不管怎么樣,大家都多少都能賺點。至于這款軟件有沒有實用價值,也沒啥好在意的。
反正是專項撥款,不用白不用。
但也有人覺得這樣不妥。
公家的錢也是錢,現在實驗室的盤子就這么大,在他們的項目上用的多了,別的項目就要削減資金。
把這錢用在注定沒什么價值的項目上,其他有價值的項目怎么辦?
于是沉默過后,有人發出了不同的聲音。
“寧為,能不能解釋下,設計這款軟件的初衷是什么?實用價值又在哪里?”