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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 學(xué)習(xí)方法與實(shí)踐 > PLD器件的設(shè)計(jì)步驟

          PLD器件的設(shè)計(jì)步驟

          ——
          作者: 時間:2007-08-22 來源:南京無線電工業(yè)學(xué)校陳松 收藏

          1.電路邏輯功能描述
            
            器件的邏輯功能描述一般分為原理圖描述和硬件描述語言描述,原理圖描述是一種直觀簡便的方法,它可以將現(xiàn)有的小規(guī)模集成電路實(shí)現(xiàn)的功能直接用器件來實(shí)現(xiàn),而不必去將現(xiàn)有的電路用語言來描述,但電路圖描述方法無法做到簡練;硬件描述語言描述是可編程器件設(shè)計(jì)的另一種描述方法,語言描述可能精確和簡練地表示電路的邏輯功能,現(xiàn)在在的設(shè)計(jì)過程中廣泛使用,并且有更加滸的趨勢,常用的硬件描述語言有ABEL,VHDL語言等,其中ABEL是一種簡單的硬件描述語言,其支持布爾方程、真值表、狀態(tài)機(jī)等邏輯描述,適用于計(jì)數(shù)器、譯碼器、運(yùn)算電路、比較器等邏輯功能的描述;VHDL語言是一種行為描述語言,其編程結(jié)構(gòu)類似于計(jì)算機(jī)中的C語言,在描述復(fù)雜邏輯設(shè)計(jì)時,非常簡潔,具有很強(qiáng)的邏輯描述和仿真能力,是未來硬件設(shè)計(jì)語言的主流。

          2.計(jì)算機(jī)軟件的編程及模擬

            不管是用硬件描述語言描述的邏輯還是用原理圖描述的邏輯,必須通過計(jì)算機(jī)軟件對其進(jìn)行編譯,將其描述轉(zhuǎn)換為經(jīng)過化簡的布爾代數(shù)表達(dá)式(即通常的最簡與或表達(dá)式),編譯軟件再根據(jù)器件的特點(diǎn)將表達(dá)式適配進(jìn)具體的器件,最終形成PLD器件的熔斷絲文件(通常叫做JEDEC文件,簡稱為JED文件)。
            通常在將用戶設(shè)計(jì)的邏輯下載到具體器件中前,為了檢查設(shè)計(jì)的結(jié)果是否正確,通常可以通過計(jì)算機(jī)軟件進(jìn)行模擬,檢查其設(shè)計(jì)結(jié)果是不否與設(shè)計(jì)要求相符。

          3.通過編程器將JED文件下載到PLD器件中

            在上步中形成的熔斷絲文件必須下載到PLD器件中去才能實(shí)現(xiàn)設(shè)計(jì)的要求,熔斷絲文件的下載一般須通過編程器進(jìn)行下載。
            
            編程器是一種專門用于對可編程器(如EPROM,EEPROM,GAL,CPLD,PAL等)進(jìn)行編程的專業(yè)設(shè)備,常見的編程器有臺灣河洛公司的ALL系列、南京西爾特公司的Super系列等。編程器通常通過計(jì)算機(jī)的并行打印器將JED文件下載到編程器中,編程器再將JED文件根據(jù)器件的特點(diǎn)將其寫入器件內(nèi)部,從而達(dá)到下載的目的。下圖給出了PLD的設(shè)計(jì)過程。

           



          評論


          相關(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); })();