# 使用EDA Cloud畫電路圖及佈線圖 ### 1.安裝必要軟件: 安裝下圖中所列的五個遠端連線要用的軟體,全部使用預設下一步安裝即可。最後桌面上會產生一個NX Client for Windows圖示。 ![image](https://hackmd.io/_uploads/S1S-TGOCa.png) ### 2.建立VPN連線並連接 #### 打開Windows的VPN設定介面如下圖,按下新增VPN建立一個VPN連線 ![image](https://hackmd.io/_uploads/B1s4lQ_Ra.png) #### 根據下圖輸入伺服器名稱或位置:203.64.102.49以及使用者名稱及密碼,連線名稱建議使用EDA ![image](https://hackmd.io/_uploads/B1Vjl7dCT.png) #### 建立完成後按右下角的網路圖示打開控制面板,可以看到VPN選項 ![image](https://hackmd.io/_uploads/BJ12T72JA.png) #### 進入後可以看到剛剛建立的EDA這個連線,按下連線按鈕,狀態為已連線時表示連線成功。 ![image](https://hackmd.io/_uploads/H1zm072yA.png) ### 3.修改MAC Address #### 打開裝置管理員,並打開自己網路介面卡的內容 ![image](https://hackmd.io/_uploads/HJKHZ7u0T.png) #### 在進階頁籤尋找MAC Address的屬性並修改其值 ![image](https://hackmd.io/_uploads/Sk7GfQuRp.png) #### MAC Address可以在登入TSRI中找到(參考下面兩個圖) ![image](https://hackmd.io/_uploads/r1Xj14hyA.png) ![image](https://hackmd.io/_uploads/rylMeE31C.png) ### 4.設定Edge瀏覽器使用IE模式(因為要使用ActiveX,必須使用Edge並設定為IE模式,或是使用IE) #### 打開Edge,點選右上角的...再按選單中的設定 ![image](https://hackmd.io/_uploads/B1uRaM_06.png) #### 選擇預設瀏覽器 ![image](https://hackmd.io/_uploads/SyCUCz_0p.png) #### 允許在 Internet Explorer 模式中重新載入網站 (IE 模式) #### 並將下面網址新增到列表中: http://140.126.24.42/edaVerify.do ![image](https://hackmd.io/_uploads/Sy-FymORT.png) #### 點選右上角的...再按選單中的更多工具,然後選網際網路選項 ![image](https://hackmd.io/_uploads/HkcXg__Ra.png) #### 選到安全性的頁籤,並點自訂等級 ![image](https://hackmd.io/_uploads/ryJTxOdAp.png) #### 往下拉,找到將未標示成安全的ActiveX控制項初始化並執行指令碼改成提示 ![image](https://hackmd.io/_uploads/BJqBb_uA6.png) ### 5.開始使用 #### 使用Edge瀏覽器造訪 http://140.126.24.42/edaVerify.do #### 過程中需要先登入TSRI的帳密,然後再透過下面網頁取得OTP密碼 ![image](https://hackmd.io/_uploads/Hy4XwrOCp.png) #### 到email收信並依照指示打開1.步驟安裝的軟體,第一次使用需依照下面方式設定 ![image](https://hackmd.io/_uploads/BJvEp43yR.png) #### 然後每次要使用都必須用email中的新密碼重新登入 ![image](https://hackmd.io/_uploads/S1lnpNh1R.png) #### 在遠端介面中複製要使用的軟體,如下圖,將T18整個複製到自己的Home資料夾中 ![image](https://hackmd.io/_uploads/SklzgH21R.png) #### 進入Home資料夾中的T18裡面的Virtuoso_OA,在空白處按右鍵選Open Terminal Here ![image](https://hackmd.io/_uploads/Bk35erh1R.png) #### 接著在Terminal中執行圖中的指令 ![image](https://hackmd.io/_uploads/r1aQ-H2JR.png) #### 就可以打開下面圖中的軟體,這個軟體可以用來畫電路圖,符號跟Layout ![image](https://hackmd.io/_uploads/Hy5_bH2kR.png) ### 6.畫電路圖: #### 第一次使用需先使用File中的New的Library建立一個Library ![image](https://hackmd.io/_uploads/S1opqD0JR.png) #### 在Name中輸入Library的名稱,例如logic,須留意一下Directory設定在哪裡,例如設定在使用者目錄中的T18裡面的Virtuoso_OA就是一個不錯的選擇 ![image](https://hackmd.io/_uploads/BkX4iPC10.png) #### 使用File中的New的CellView ![image](https://hackmd.io/_uploads/rJJYDvRk0.png) #### 在Library那一欄選擇之前建立的Library,例如logic;Cell那一欄輸入你要畫的電路名稱,例如:NOR,Type選擇schematic ![image](https://hackmd.io/_uploads/HJXJdDCkR.png) #### 接下來就可以在下面的介面中開始畫電路了 - 畫圖熱鍵說明: i:Add Instance w:拉線 p:Create Pin q:檢視與編輯Instance或是Pin delete:刪除物件 ![image](https://hackmd.io/_uploads/Sy-gyuCJC.png) ### 7.模擬電路是否正確: #### 選擇Launch中的ADE L ![image](https://hackmd.io/_uploads/HJ5PgPlJR.png) #### 選擇Setup中的Simulator/Directory/Host... ![image](https://hackmd.io/_uploads/rJOjewxk0.png) #### 其中的Simulator選擇hspiceD,然後OK ![image](https://hackmd.io/_uploads/S1n2gwxkR.png) #### 再選擇Analyses中的Choose ![image](https://hackmd.io/_uploads/HJN0gPe1A.png) #### 選擇tran,Start輸入0,Stop輸入50n,Step輸入1n ![image](https://hackmd.io/_uploads/Sy81-DxJC.png) #### 選擇Simulation中的Netlist的Create ![image](https://hackmd.io/_uploads/HJL2zvl10.png) #### 接著會出現下面視窗 ![image](https://hackmd.io/_uploads/rkMOOdAk0.png) #### 利用File的Save As將檔案儲存到下面的位置,留意需要自行建立相應的資料夾,下圖的範例中我們的存檔名稱為:NOR.sp ![image](https://hackmd.io/_uploads/ByhfFuA1C.png) #### 接著編輯NOR.sp,參考下圖編輯,左邊為編輯前,需編輯成右邊的樣子 ![image](https://hackmd.io/_uploads/SyhRFuA1R.png) #### NOR.sp的視窗中開啟Terminal,執行:Qhspice NOR.sp輸出HSPICE_result ![image](https://hackmd.io/_uploads/ryFB5uAy0.png) #### 啟動模擬器:Rcx,中間輸入yes繼續即可 ![image](https://hackmd.io/_uploads/r1SIi_AkA.png) #### 選擇Open Waveform ![image](https://hackmd.io/_uploads/B1dRiOCkC.png) #### 接著選擇HSPICE_result中的NOR.tr0,按OK ![image](https://hackmd.io/_uploads/HyzAhuRyC.png) #### 在這個NOR電路的範例圖中,我們選擇觀察x,y,out的波形來檢查電路是否正確 ![image](https://hackmd.io/_uploads/H1jr6uCJR.png) ### 8.畫符號: #### 在電路圖的介面中,選擇Create的Cellview中的From Cellview ![image](https://hackmd.io/_uploads/BynXVDgk0.png) #### 比照下圖設定基本資料,須留意Cell Name應該跟你的電路一樣 ![image](https://hackmd.io/_uploads/SkuUVPgkA.png) #### 比照下圖設定腳位,這裡是NAND腳位的範例 ![image](https://hackmd.io/_uploads/rytuEvgyR.png) #### 最後在這個介面中畫圖,注意建立Pin的熱鍵為p ![image](https://hackmd.io/_uploads/Bkeflt0JA.png) ### 9.畫Layout: #### 跟畫電路圖類似,區別是Type這次是選layout ![image](https://hackmd.io/_uploads/B1x4ecb1A.png) #### 接下來就可以在下面的介面中開始畫Layout了 - 畫圖熱鍵說明: i:Create Instance p:拉金屬線 a:對齊 q:檢視與編輯Instance e:檢視與編輯微調幅度 delete:刪除物件 ![image](https://hackmd.io/_uploads/rkCoZtCJC.png) ### 10-1.驗證Layout(Export Stream) #### 選擇File的Export的Stream ![image](https://hackmd.io/_uploads/HyX9GutyR.png) #### 參考下圖設定,這張圖是以INV為範例,設定完成後按下Apply,然後關閉視窗 ![image](https://hackmd.io/_uploads/rkLSX_YkC.png) #### 這時後在下面的資料夾位置應該要可以找到INV.gds ![image](https://hackmd.io/_uploads/HJr4LcR1R.png) ### 10-2.驗證Layout(DRC/ERC) #### 前往下面第一張圖的資料夾中,複製T18_DRC.rule #### 接者參考下面第二張圖建立我們自己的calibre資料夾以及裡面的INV資料夾,並將剛剛複製的T18_DRC.rule貼在這邊,另外INV.gds是前面匯出的Stream檔,應該可以在Virtuoso_OA資料夾中找到,也複製過來 ![image](https://hackmd.io/_uploads/ryqDVOFkA.png) #### 接著打開T18_DRC.rule,參考下圖修改並存檔 ![image](https://hackmd.io/_uploads/r1ka4dtJ0.png) #### 從這個資料夾打開Terminal,並執行下面指令 ![image](https://hackmd.io/_uploads/S1c-Hdt1C.png) #### 等待下面的finish出現,表示執行完成 ![image](https://hackmd.io/_uploads/BJ4V_FR1A.png) #### 此時打開Layout介面中的Calibre,並選擇Start RVE ![image](https://hackmd.io/_uploads/HJvuSdKk0.png) #### 參考下圖選擇正確的輸出結果,並選擇DRC/ERC,接者Open ![image](https://hackmd.io/_uploads/SyrRSOF1A.png) #### 在Filter的地方選擇Show Not Waived ![image](https://hackmd.io/_uploads/BJOkUdKkC.png) #### 針對左邊的錯誤列表,點選右邊的數字,Layout圖中錯誤的部分就會閃爍,方便進行修正。修正完後就要重新從10-1的Export Stream產生新的gds,重新執行10-2進行檢查。直到僅剩下*.R.*的錯誤為止 ![image](https://hackmd.io/_uploads/rkRBe9A10.png) ### 10-3.驗證Layout(LVS) #### 前往下面第一張圖的資料夾中,複製T18_LVS.rule #### 接者參考下面第二張圖建立我們自己的calibre資料夾以及裡面的INV資料夾中的lvs資料夾,並將剛剛複製的T18_LVS.rule貼在這邊,另外INV.gds是前面匯出的Stream檔,應該可以在Virtuoso_OA資料夾中找到,也複製過來 ![image](https://hackmd.io/_uploads/SyZv2dYy0.png) #### 接著前往左圖的位置中,複製netlist檔案過來右圖的位置 ![image](https://hackmd.io/_uploads/BJ-G6_YkA.png) #### 然後將複製過來的netlist修改檔名為INV.netlist(INV為此處範例,視元件名稱來命名) ![image](https://hackmd.io/_uploads/B1476_K1R.png) #### 接者比照下圖修改INV.netlist並存檔 ![image](https://hackmd.io/_uploads/H1dC6dtyC.png) #### 接者比照下圖修改T18_LVS.rule並存檔 ![image](https://hackmd.io/_uploads/BkjfAOKy0.png) #### 從這個資料夾打開Terminal,並執行下面指令 ![image](https://hackmd.io/_uploads/BJkS0_YkC.png) #### 等待下面的finish出現,表示執行完成 ![image](https://hackmd.io/_uploads/B1iHQcA10.png) #### 此時打開Layout介面中的Calibre,並選擇Start RVE ![image](https://hackmd.io/_uploads/HJvuSdKk0.png) #### 參考下圖選擇正確的輸出結果,並選擇LVS,接者Open ![image](https://hackmd.io/_uploads/BJXekKFyR.png) #### 然後就會出現檢測的結果,有錯誤會列出,修正完後就要重新從10-1的Export Stream產生新的gds,重新執行10-3進行檢查。直到出現以下結果表示成功通過檢測 ![image](https://hackmd.io/_uploads/rJGqVcAJ0.png)