
VCESL全稱為垂直腔面發射激光器,是一種在與半導體外延片垂直方向上形成光學諧振腔、發出的激光束與襯底表面垂直的半導體激光器結構。自2017年蘋果公司的iPhoneX采用VCSEL作為3D感應技術并用于ProximitySensor和FaceID模塊后,徹底掀起了VCESL熱潮。之后研究人員發現VCESL在激光雷達LiDAR和氣體檢測等方面會有很大的應用市場,預期在2023年后將擴大10倍以上。同時,隨著光通訊數據中心的建設,VCESL激光器作為980nm等短波長激光器的使用量也會激增。從下表中可以看出,VCSEL相比于LED與EEL,在精確度、小型化、低功耗、可靠性等各個方面都占優。

不僅如此,在集成度方面,由于VCSEL是從垂直襯底的面發射激光,因此很容易通過平面工藝實現大規模發光陣列,并且VCSEL能夠輕松實現二維陣列,優于EEL的一維陣列;在工藝方面,VCSEL工藝與LED工藝兼容,有利于大規模制造、降低成本。如下圖所示,VCSEL陣列方式往往是根據不同的設計要求而改變的,設計人員需要在理論層面對VCSEL建立模型進行模擬測試及優化。

當設計人員通過仿真模擬設計好VCSEL各項參數后,將面對建立VCSEL大陣列工藝版圖的“難題”。面對這類“難題”,國產EDA軟件PhotoCAD正是“一把好手”!
現如今,隨著VCSEL技術的蓬勃發展,VCSEL器件的形狀結構不盡相同,下面將著重介紹如何通過PhotoCAD“玩轉”多元化陣列版圖設計,通過六個設計方案,您將感受到PhotoCAD的“靈活”與“強大”。
一、單元創建
如下圖所示,我們設定好radius_cicle、width_ring、distance、radius_ring等幾個關鍵參數,然后通過PhotoCAD的 “易上手、模塊化” 操作,建立單個單元的.py文件,以供后續設計調用。

先通過調用fnpcell模塊中的EllipticalRing函數,指定好圓環外徑和內徑幾何尺寸參數,將該圖形結構放置于事先設定的M2_DRW層中(可通過指定不同layer以滿足不同工藝層條件)。

對于周圍綠色圓形結構陣列,我們可以利用強大靈活的Python3語法來實現。這里使用最簡單的for循環,調用實例化后的CIRCLE,通過.rotated()函數控制圖形的角度,輕松完成整個VCSEL單元的創建。

二、Rectangular標準陣列

對于一個標準化的Rectangular陣列,我們只需確認好四個關鍵參數,分別為行數rows、列數cols、單元列間距period_x及單元行間距period_y;再通過雙重for循環向“器件容器”instSet中加入不同中心位置的VCSEL單元即可實現。

三、Rectangular隨機生成陣列-1

觀察上列版圖,奇數行與偶數行之間整體有一個固定的位置偏移,我們在雙重for循環基礎上,通過n=i%2判斷當下循環的行數是奇數或是偶數,再根據if-else語句設置條件,根據奇偶數行設置第一列單元起始位置(產生偏移效果)。版圖中單元與單元之間通過合適的period及distance等參數的配合,使得單元間的一些綠色圓形相重合,從而實現特定需求的陣列擺放。

四、Rectangular隨機生成陣列-2

與標準陣列中不同的是,在每個網格位置處VCSEL單元是隨機出現的,好似一張黑白色“二維碼”結構,具體實現方式當然也是“二值化”問題,我們設計在每個網格點處由“0或1”兩個值來判定此處是否存在VCSEL單元。

我們先用第一行代碼生成一個二維數組,其中的元素均為隨機生成的“0或1”,然后在雙重for循環遍歷的基礎上增加一個if語句用于判別網格點處的元素值是否為“1”,只有當值為“1”的時候才會添加一個單元結構到instSet中,這樣就實現了隨機生成的效果。
五、Rectangular隨機浮動陣列

如上圖示,每個單元的中心位置與標準陣列相比,多了隨機浮動的特點,對于這種效果的實現,僅需在控制位置參數的.translated()函數中加一個隨機浮動的參數值即可。

六、Rectangular隨機浮動與隨機生成陣列(*進階)

與前文相同,首先利用random.randint函數隨機生成0和1以形成rows行cols列的網格布局,然后通過雙重for循環以生成固定間距的單元格陣列。在遍歷網格時,當網格中數字為1就添加一個device,為0則不添加。接著,為每一個device的x、y坐標產生一個隨機偏移,通過(random.random()-0.5)*5限制波動范圍,最后的版圖就產生了隨機生成和隨機浮動的效果。

總之,國產EDA軟件PhotoCAD是一款強大的版圖工具,設計人員手握“趁手利器”,在Python3語言的基礎上,搭配多種多樣的“武功秘籍”(第三方庫),一切難題均可迎刃而解!不信?你試試?