<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Protel 原理圖/PCB到Cadence的數(shù)據(jù)轉(zhuǎn)換

          Protel 原理圖/PCB到Cadence的數(shù)據(jù)轉(zhuǎn)換

          作者: 時(shí)間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

          隨著PCB設(shè)計(jì)的復(fù)雜程度和高速PCB設(shè)計(jì)需求的不斷增加,越來越多的PCB設(shè)計(jì)者、設(shè)計(jì)團(tuán)隊(duì)選擇Cadence的設(shè)計(jì)平臺(tái)和工具。但是,由于沒有 Protel數(shù)據(jù)到Cadence數(shù)據(jù)直接轉(zhuǎn)換工具,長期以來如何將現(xiàn)有的基于Protel平臺(tái)的設(shè)計(jì)數(shù)據(jù)轉(zhuǎn)化到Cadence平臺(tái)上來一直是處于平臺(tái)轉(zhuǎn)化期的設(shè)計(jì)者所面臨的難題。

          本文引用地址:http://www.ex-cimer.com/article/201609/304488.htm

          在長期實(shí)際的基礎(chǔ)上,結(jié)合現(xiàn)有工具的特點(diǎn),提供一種將Protel原理圖、PCB轉(zhuǎn)化到Cadence平臺(tái)上的方法。

          1. 使用的工具a) Protel DXP SP4 b) Cadence Design Systems, Inc. Capture CIS c) Cadence Design Systems, Inc. Orcad Layout d) Cadence Design Systems, Inc. Layout2allegro e) Cadence Design Systems, Inc. Allegro f) Cadence Design Systems, Inc. Specctra 2. Protel 原理圖到Cadence Design Systems, Inc. Capture CIS在Protel原理圖的轉(zhuǎn)化上我們可以利用Protel DXP SP2的新功能來實(shí)現(xiàn)。通過這一功能我們可以直接將Protel的原理圖轉(zhuǎn)化到Capture CIS中。

          這里,我們僅提出幾點(diǎn)通過實(shí)踐總結(jié)出來的注意事項(xiàng)。

          1) Protel DXP在輸出Capture DSN文件的時(shí)候,沒有輸出封裝信息,在Capture中我們會(huì)看到所以元件的PCB Footprint屬性都是空的。這就需要我們手工為元件添加封裝信息,這也是整個(gè)轉(zhuǎn)化過程中最耗時(shí)的工作。在添加封裝信息時(shí)要注意保持與Protel PCB設(shè)計(jì)中的封裝一致性,以及Cadence在封裝命名上的限制。例如一個(gè)電阻,在Protel中的封裝為AXIAL0.4,在后面介紹的封裝庫的轉(zhuǎn)化中,將被修改為AXIAL04,這是由于Cadence不允許封裝名中出現(xiàn)“。”;再比如DB9接插件的封裝在Protel中為DB9RA/F,將會(huì)被改為DB9RAF.因此我們?cè)贑apture中給元件添加封裝信息時(shí),要考慮到這些命名的改變。

          2) 一些器件的隱藏管腳或管腳號(hào)在轉(zhuǎn)化過程中會(huì)丟失,需要在Capture中使用庫編輯的方法添加上來。通常易丟失管腳號(hào)的器件時(shí)電阻電容等離散器件。

          3) 在層次化設(shè)計(jì)中,模塊之間連接的總線需要在Capture中命名。即使在Protel中已經(jīng)在父設(shè)計(jì)中對(duì)這樣的總線命名了,還是要在Capture中重新來過,以確保連接。

          4) 對(duì)于一個(gè)封裝中有多個(gè)部分的器件,要注意修改其位號(hào)。例如一個(gè)74ls00,在protel中使用其中的兩個(gè)門,位號(hào)為U8A,U8B.這樣的信息在轉(zhuǎn)化中會(huì)丟失,需要重新添加。

          基本上注意到上述幾點(diǎn),借助Protel DXP,我們就可以將Protel的原理圖轉(zhuǎn)化到Capture中。進(jìn)一步推廣,這也為現(xiàn)有的Protel原理圖符號(hào)庫轉(zhuǎn)化到Capture提供了一個(gè)途徑。

          3. Protel 封裝庫的轉(zhuǎn)化長期使用Protel作PCB設(shè)計(jì),我們總會(huì)積累一個(gè)龐大的經(jīng)過實(shí)踐檢驗(yàn)的Protel封裝庫,當(dāng)設(shè)計(jì)平臺(tái)轉(zhuǎn)換時(shí),如何保留這個(gè)封裝庫總是令人頭痛。這里,我們將使用Orcad Layout,和免費(fèi)的Cadence工具Layout2allegro來完成這項(xiàng)工作。

          a) 在Protel中將PCB封裝放置到一張空的PCB中,并將這個(gè)PCB文件用Protel PCB 2.8 ASCII的格式輸出出來;b) 使用Orcad Layout導(dǎo)入這個(gè)Protel PCB 2.8 ASCII文件;c) 使用Layout2allegro將生成的Layout MAX文件轉(zhuǎn)化為Allegro的BRD文件;d) 接下來,我們使用Allegro的Export功能將封裝庫,焊盤庫輸出出來,就完成了Protel封裝庫到Allegro轉(zhuǎn)化。

          4. Protel PCB到Allegro的轉(zhuǎn)化有了前面兩步的基礎(chǔ),我們就可以進(jìn)行Protel PCB到Allegro的轉(zhuǎn)化了。這個(gè)轉(zhuǎn)化過程更確切的說是一個(gè)設(shè)計(jì)重現(xiàn)過程,我們將在Allegro中重現(xiàn)Protel PCB的布局和布線。

          1) 將第二步Capture生成的Allegro格式的網(wǎng)表傳遞到Allegro BRD中,作為我們重現(xiàn)工作的起點(diǎn);2) 首先,我們要重現(xiàn)器件布局。在Protel中輸出Place Pick文件,這個(gè)文件中包含了完整的器件位置,旋轉(zhuǎn)角度和放置層的信息。我們通過簡單的手工修改,就可以將它轉(zhuǎn)化為Allegro的Placement 文件。在Allegro中導(dǎo)入這個(gè)Placement文件,我們就可以得到布局了。

          3) 布線信息的恢復(fù),要使用Specctra作為橋梁。首先,從Protel中輸出包含布線信息的Specctra DSN文件。對(duì)于這個(gè)DSN文件我們要注意以下2點(diǎn):a) Protel中的層命名與Allegro中有所區(qū)別,要注意使用文本編輯器作適當(dāng)?shù)男薷?,例如Protel中頂層底層分別為Toplayer和 Bottomlayer,而在Allegro中這兩層曾稱為TOP和BOTTOM;b) 注意在Specctra中查看過孔的定義,并添加到Allegro的規(guī)則中。

          在allegro中定義過孔從Specctra中輸出布線信息,可以使用session, wires, 和route文件,建議使用route文件,然后將布線信息導(dǎo)入到我們以及重現(xiàn)布局的Allegro PCB中,就完成了我們從Protel PCB到Allegro BRD的轉(zhuǎn)化工作。



          關(guān)鍵詞:

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();