转载:介绍AD另外一种奇葩的多通道复用的方法
生活随笔
收集整理的這篇文章主要介紹了
转载:介绍AD另外一种奇葩的多通道复用的方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原文鏈接:http://www.eda365.com/forum.php?_dsign=74fe4957&mod=viewthread&page=1&tid=110710 在設計多組相同模塊的板子的時候,我們經常會用到AD的多通道復用功能, 那么很多人都會在設計的時候,就把這個模塊的原理圖做成一個整體,這個時候進行簡單設置之后,就可以運用復用功能實現我們要的效果; 不過在這里介紹另外一種方法,這種方法比較繁瑣,奇葩,我覺得應該沒人會想到吧(不過我真希望有人站出來跟我說我也是用這種方法); 既然繁瑣,那為什么,我還會想出這招呢,這要說回一個話題,PCB工程師這個職位并不是在所有的公司,都有地位的,硬件工程師也許會認為你只是擺擺器件,連連線,頂多佩服你有耐心而已,為什么說這么多壞話呢,其實也不是壞話,確實有的,正因為如此,所以有些時候你即使知道怎么在原理圖做好模塊,方便PCB的復用,但是人家硬件工程師也沒這個閑工夫去學你的方法畫原理圖; 所以很多時候,你要進行復用,你還得乖乖先將每一個模塊當中,起著相同作用 的器件分配給相同的ID(也就是Channel Offset),然后在復用設置的時候選擇依據Channel Offset進行匹配,才能進行復用,這個時候最最蛋疼的事情出現了,就是如何準確為這些器件分配Channel Offset; 說到這里,我真的想吐槽AD為啥不學學Allegro,能自動識別每個模塊中擁有相同作用的器件,手工分配ChannelOffset有時候真的不現實,一個模塊里面有10個器件,還可以接受,如果幾百個上千個器件呢? 于是通過一些試驗,我自己摸索出這種方法,來實現半自動分配ChannelOffset的方法,方法比較繁瑣,不過至少對于我以前的那份工作,還是能很明顯提示效率的,因為我接觸的模塊,動不動都就是幾百個器件在里面的。 ********************************************************************************* 首先我簡單介紹一下AD的復用的操作: 1.??按照模塊,把器件都一堆堆放好; 2.??給每一個模塊當中,給器件分配ID(Channel Offset),相同模塊中的器件ID是唯一的,但是不同模塊中都含有相同ID的器件,也就是說,ID相同,表明在模塊中起著相同作用; 3.??為每個模塊套上一個room,并做一個class,這樣AD才能知道哪幾個模塊是相同的 4.??擺好其中一個模塊,走線走好; 5. 啟用復用命令,并設置好按照ID進行匹配,然后執行即可。 ********************************************************************************* 好那么我現在開始一步一步介紹這種方法:
?
在原理圖編輯界面,打開SCH list: <ignore_js_op> 讓其顯示器件信息,顯示設置如圖: <ignore_js_op>?
右鍵選項欄,調出設置窗口: <ignore_js_op>, Q. o' V% N2 A
我們來設置一下,讓SCH list只顯示我們需要的元器件詳情,并且適當排序下: <ignore_js_op>9 E0 n* i9 j4 M6 w( _* L
好了,現在我們就把SCH list調出來了,并且依照我們的需要列出了幾項元器件信息: <ignore_js_op>: W4 s$ v, b$ `7 V+ B/ u
接下來我們切換到PCB界面,用類似的方法,調出并設置PCB list窗口: <ignore_js_op>?
在PCB編輯界面,打開PCB list: <ignore_js_op> 讓其顯示器件信息,顯示設置如圖: <ignore_js_op>' O0 A5 Q2 j??y+ D! Q$ T% @6 I
右鍵選項欄,調出設置窗口: <ignore_js_op>?
我們來設置一下,讓PCB list只顯示我們需要的元器件詳情,并且適當排序下: <ignore_js_op>) ]; p6 h# _5 Q# M$ w. H3 }9 n$ T/ {
好了,現在我們就把PCB list調出來了,并且依照我們的需要列出了幾項元器件信息: <ignore_js_op>" N8 W" a/ Q$ S1 v+ ~. y
好了,到了這一步,我們需要做的很簡單,就是在SCH list和PCB list都按照位號把器件重新排序:( [9 p# T% b, G) c
怎么排序?例如在PCB list中,我點擊這個Name這選項,這個時候會出現箭頭所指的小三角,表示現在PCB list是按照Name的順序升序排列,SCH list排序方式也是類似; <ignore_js_op>8 \+ ?/ {6 q+ @: r
然后把SCH list中器件的位置信息(也就是X與Y列),全選之后復制下來,并且粘貼到PCB list中X與Y列中(注意,PCB 編輯界面的單位應該選擇mil),這個操作很容易理解,就是然后PCB器件的擺放與原理圖器件的擺放相一致,雖然看起來好像是堆在一起,這沒關系;?
(因為別人在繪制原理圖的時候,一般是先畫好一個模塊,然后復制出n個出來,這意味著其實原理圖各個模塊器件的擺放位置是一樣的,而且原理圖中器件是沒有重疊的,也就是說器件的位置信息是唯一的,所以我們就能用利用器件位置唯一這個信息,給每個器件分配一個唯一的Channel Offset,我就是利用這種特點想出了這個方法,經過剛才的復制粘貼操作,PCB中每個模塊的器件擺放情況應該是一樣的了) <ignore_js_op>5 X# V" |/ Y0 Q+ D, e# g+ D( `) ]
接下來我們需要重新設置一下PCB list窗口,讓其只是顯示選中的器件而不是PCB所有器件,方法很簡單,可以看到,列表下面會提示你選中了多少個器件,我們可以每個模塊都框選一遍,看看是不是各個模塊都有同數量的器件; <ignore_js_op>$ E( O0 l& O$ H0 ]??h3 D
接下來就是為各個模塊,起到相同作用的器件,分配相同的Channel Offset,之前已經說過,Channel Offset是軟件完成復用的關鍵,問題來了,我們按照什么規則來分配呢,就是按照器件的位置信息來分配。 接下來我們要對所有的模塊都做一遍這樣的操作了:! _; l0 Z3 M2 F* E+ r! y! u
1.把原點移動到當前模塊的一個特定位置,比如這次我們選模塊中這個大電感的pin腳: <ignore_js_op>$ w% _, m. h- [
2.創建一份EXCEL;6 F& p: ~??J9 j0 I% b3 H8 c' b
3.確認已經選中模塊中的所有器件: 4.在PCB list中按照位號排序,然后將前四列都復制到EXCEL中: <ignore_js_op>?
5. 在EXCEL的任意空列中,將目前的排序編一個號,如箭頭顯示,因為等下我們要打亂這個表的順序,處理之后再還原排序: <ignore_js_op>0 E, \# C1 P??]2 Q% S" ~1 ]/ e
6.我們按照先B列,后C列的方式進行排序(其實先C后B都可以的),然后在D列中,重新填寫Channel Offset數值,比如有37個器件,那我們就從1填寫到37: <ignore_js_op>0 b8 z! o0 `* m6 o; V) i??^
7.完成之后,我們重新還原排序,并且復制Channel Offset數值所在的列,粘貼到PCB list中的Channel Offset列中,請注意,粘貼前需要確認PCB list是不是依然按照位號排序: <ignore_js_op>?
好,接下來我們安裝這7步,把其他模塊這么操作:# a1 A0 p3 ?) e; H. z8 c. p
完成之后,我們可以檢驗一下,比如我們選中每個模塊的相同的器件, <ignore_js_op>?
確認其ChannelOffset是不是一致的: <ignore_js_op>- F: e& w. R- L$ y8 F" G$ p, _8 i
完成之后就接近成功了,7 }* u# R4 q' z& e6 l
首先給每個模塊添加一個room: <ignore_js_op>; v5 x; K* ?/ Z% ^: j7 D% W" q
然后雙擊每個room,把Name改為跟InComponentClass一樣的名字: <ignore_js_op>?
完成之后,我們在Classer Explorer中,新建一個DesignChannel Class,并將這幾個room設置為同屬于相同的Design Channel Class: <ignore_js_op>?
接下來我們選擇任意模塊,布局布線好; <ignore_js_op>?
好戲上演:我們開始執行復用的命令,冰凍三尺非一日之寒啊,啟用命令后點擊擺好模塊的room,然后再點擊另外任意一個room: <ignore_js_op>?
彈出了一個設置窗口,如下設置,看到左邊下面的選項沒有,因為我們在原理圖沒有把模塊電路做成一個模塊,所以我們只能選擇按照Channel Offset進行匹配: <ignore_js_op>?
點擊確定,我們看看效果: <ignore_js_op>?
搞定了啊啊。。。 ****************************************************************?
我們再把方法回顧一下: 首先是將PCB里面的器件,按照原理圖的器件位置進行擺放; 其次利用每個模塊中器件相對位置是一樣這個規律,分配Channel Offset; 第三,進行必要的復用前設置,然后執行復用; 第四,頂帖啊!哈 **************************************************************** 其實就這么簡單,只要你理解了每一步操作的意圖之后,你會把這種繁瑣的操作牢牢記住,我已經快三年沒用到了,想起為大家寫這份東西的時候,還是能夠準確的進行操作并且一次成功; 當遇見每個模塊里面有幾百上千個器件,你們就會知道這方法能在Channel Offset分配這一關鍵步驟剩下非常多的時間,而且又準確;?
謹以此帖,獻給廣大EDA365 的小伙伴特別是仍然奮斗在PCB設計前線的人們。轉載于:https://www.cnblogs.com/ydvely521/p/9601828.html
總結
以上是生活随笔為你收集整理的转载:介绍AD另外一种奇葩的多通道复用的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 函数作用域,匿名函数
- 下一篇: 在CDH上用外部Spark2.2.1安装