A. CPLD的功能和作用是什麼
CPLD(Complex Programmable Logic Device)復雜可編程邏輯器件,是從PAL和GAL器件發展出來的器件,相對而言規模大,結構復雜,屬於大規模集成電路范圍。是一陸模含種用戶根據各自需要而自行構造邏輯功能的數字集成電路。其基本設計方法是藉助集成開發軟體平台,用原理圖、硬體描述語言等方法,生成相應的目標文件,通過下載電纜(「在系統」編程)將代碼傳送到目標晶元中,實現設計的數字系統。
CPLD主要是由可編程邏輯宏單元(MC,Macro Cell)圍繞中心的可編程互連矩陣單元組成。其中MC結構較復雜,並具有復雜的I/O單元互連結構,可由用戶根據需要生成特定的電路結構,完成一定的功能。由於CPLD內部採用固定長度的金屬線進行各邏輯塊的互連,所以設計的邏輯電路具有時間可預測性,避免了分段式互連結構時序不完全預測的缺點。
發展歷史及應用領域:
20世紀70年代,最早的可編程邏輯器件--PLD誕生了。其輸出結構是可編程的邏輯宏單元,因為它的硬體結構設計可由軟體完成(相當於房子蓋好後人工設計局部室內結構),因而它的設計比純硬體的數字電路具有很強的靈活性,但其過於簡單的結構也使它們只能實現規模較小的電路。為彌補PLD只能設計小規模電路這一缺陷,20世紀80年代中期,推出了復雜可編程邏輯器件--CPLD。目前應用已深入網路、儀碼山器儀表、汽車電子、數控機床、航天測控設備等方面。
器件特點:
它具有編程靈活、集成度高、設計開發周期短、適用范圍寬、開發工具先進、設計製造成本低、對設計者的硬體經驗要求低、標准產品無需測試、保密性強、價格大眾化等特點,可實現較大早笑規模的電路設計,因此被廣泛應用於產品的原型設計和產品生產(一般在10,000件以下)之中。幾乎所有應用中小規模通用數字集成電路的場合均可應用CPLD器件。CPLD器件已成為電子產品不可缺少的組成部分,它的設計和應用成為電子工程師必備的一種技能。
B. CPLD和FPGA和DSP有何區別速度最快的是哪種
1.
CPLD速度最快。
2.
FPGA的集成度比CPLD高,具有更復雜的布線結構和邏輯實現。
3.
DSP主要用來計算,計算功能很強悍,一般嵌入式晶元用來控制,而DSP用來計缺態嫌算,譬如一般手機有一個arm晶元,主要用來跑界面,應用程序,DSP可能有兩個,adsp,mdsp,或一個,主要是加密解密,調制解調等。
4.
CPLD是屬於粗粒結構的可編程邏輯器件。它具有豐富的邏輯資源(即邏伏手輯門與寄存器的比例高)和高度靈活的路由資源。CPLD的路由是連接在一起的,而FPGA的路由是分割開的。FPGA可能更靈活,但包括很多跳線,因此速度較CPLD慢。
CPLD以群陣列(array
of
clusters)的形式排列閉鍵,由水平和垂直路由通道連接起來。這些路由通道把信號送到器件的引腳上或者傳進來,並且把CPLD內部的邏輯群連接起來。
C. cpld如何訪問讀寫內部FLash
altera的MAX II CPLD 裡面有UFM,你自己看下吧。攜轎喊在TOOL下的mega什辯野么的裡面選帆答
D. 請教一下關於CPLD和FIFO的問題
關於第二個問題,主磨者要現在電路已經做成,有些線已經無法再連接,看能不能從軟體方面補救一下。我的FIFO不是靠褲者空滿邏輯來讀數的,因為我在發送數據給FIFO和從FIFO中讀出的數據是一一對應的,有多少數讀多少數,不多也不少。但是現在因為FIFO讀使能和DMA通道打開之間有個時間差,所以我擔心胡游薯這段時間內沒有讀到FIFO中的數據,使讀上去的數據比預期的要少。
E. VHDL語言如何調用cpld內部時鍾
CPLD內部一般沒有時鍾,始終一般從專用IO輸入;
port中定或叢含義一個管腳,邏輯實現後,在鄭則Pin planner中將所定義引腳分配到硬體的衫笑時鍾輸入管腳即可。
F. 需要cpld和fpga的詳細說明
CPLD
[編輯本段]簡介
CPLD(Complex Programmable Logic Device)復雜可編程邏輯器件,是從PAL和GAL器件發展出來的器件,相對而言規模大,結構復雜,屬於大規模集成電路范圍。是一種用戶根據各自需要而自行構造邏輯功能的數字集成電路。其基本設計方法是藉助集成開發軟體平台,用原理圖、硬體描述語言等方絕友祥法,生成相應的目標文件,通過下載電纜(「在系統」編程)將代碼傳送到目標晶元中,實現設計的數字系統。
CPLD主要是由可編程邏輯宏單元(MC,Macro Cell)圍繞中心的可編程互連矩陣單元組成。其中MC結構較復雜,並搏並具有復雜的I/O單元互連結構,可由用戶根據需要生成特定的電路結構,完成一定的功能。由於CPLD內部採用固定長度的金屬線進行各邏輯塊的互連,所以設計的邏輯電路具有時間可預測性,避免了分段式互連結構時序不完全預測的缺點。
發展歷史及應用領域:
20世紀70年代,最早的可編程邏輯器件--PLD誕生了。其輸出結構是可編程的邏輯宏單元,因為它的硬體結構設計可由軟體完成(相當於房子蓋好後人工設計局部室內結構),因而它的設計比純硬體的數字電路具有很強的靈活性,但其過於簡單的結構也使它們只能實現規模較小的電路。為彌補PLD只能設計小規模電路這一缺陷,20世紀80年代中期,推出了復雜可編程邏輯器件--CPLD。目前應用已深入網路、儀器儀表、汽車電子、數控機床、航天測控設備等方面。
器件特點:
它具有編程靈活、集成度高、設計開發周期短、適用范圍寬、開發工具先進、設計製造成本低、對設計者的硬體經驗要求低、標准產品無需測試、保密性強、價格大眾化等特點,可實現較大規模的電路設計,因此被廣泛應用於產品的原型設計和產品生產(一般在10,000件以下)之中。幾乎所有應用中小規模通用數字集成電路的場合均可應用CPLD器件。CPLD器件已成為電子產品不可缺少的組成部分,它的設計和應用成為電子工程師必備的一種技能。
如何使用:
CPLD是一種用戶根據各自需要而自行構造邏輯功能的數字集成電路。其基本設計方法是藉助集成開發軟體平台,用原理圖、硬體描述語言等方法,生成相應的目標文件,通過下載電纜(「在系統」編程)將代碼傳送到目標晶元中,實現設計的數字系統。
這里以搶答器為例講一下它的設計(裝修)過程,即晶元的設計流程。CPLD的工作大部分是在電腦上完成的。打開集成開發軟體(Altera公司 Max+pluxII)→畫原理圖、寫硬體描述語言(VHDL,Verilog)→編譯→給出邏輯電路的輸入激勵信號,進行模擬,查看邏輯輸出結果是否正確→進行管腳輸入、輸出鎖定(7128的64個輸入、輸出管腳可根據需要設定)→生成代碼→通過下載電纜將代碼傳送並存儲在CPLD晶元中。7128這塊晶元各管腳已引出,將數碼管、搶答開關、指示燈、蜂鳴器通過導線分別接到晶元板上,通電測試,當搶答開關按下,對應位的指示燈應當亮,答對以後,裁判給加分後,看告絕此時數碼顯示加分結果是否正確,如發現有問題,可重新修改原理圖或硬體描述語言,完善設計。設計好後,如批量生產,可直接復制其他CPLD晶元,即寫入代碼即可。如果要對晶元進行其它設計,比如進行交通燈設計,要重新畫原理圖、或寫硬體描述語言,重復以上工作過程,完成設計。這種修改設計相當於將房屋進行了重新裝修,這種裝修對CPLD來說可進行上萬次。
家庭成員:經過幾十年的發展,許多公司都開發出了CPLD可編程邏輯器件。比較典型的就是Altera、Lattice、Xilinx世界三大權威公司的產品,這里給出常用晶元: Altera EPM7128S (PLCC84)
Lattice LC4128V (TQFP100)
Xilinx XC95108 (PLCC84)
[編輯本段]FPGA與CPLD的辨別和分類
FPGA與CPLD的辨別和分類主要是根據其結構特點和工作原理。通常的分類方法是:
將以乘積項結構方式構成邏輯行為的器件稱為CPLD,如Lattice的ispLSI系列、Xilinx的XC9500系列、Altera的MAX7000S系列和Lattice(原Vantis)的Mach系列等。
將以查表法結構方式構成邏輯行為的器件稱為FPGA,如Xilinx的SPARTAN系列、Altera的FLEX10K或ACEX1K系列等。
===============
FPGA目錄
【FPGA工作原理】
【FPGA配置模式】
【FPGA主要生產廠商介紹】
FPGA與CPLD的辨別和分類
FPGA的應用
FPGA是英文Field-Programmable Gate Array的縮寫,即現場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產物。它是作為專用集成電路(ASIC)領域中的一種半定製電路而出現的,既解決了定製電路的不足,又克服了原有可編程器件門電路數有限的缺點。
[編輯本段]【FPGA工作原理】
FPGA採用了邏輯單元陣列LCA(Logic Cell Array)這樣一個新概念,內部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內部連線(Interconnect)三個部分。FPGA的基本特點主要有:
1)採用FPGA設計ASIC電路,用戶不需要投片生產,就能得到合用的晶元。
2)FPGA可做其它全定製或半定製ASIC電路的中試樣片。
3)FPGA內部有豐富的觸發器和I/O引腳。
4)FPGA是ASIC電路中設計周期最短、開發費用最低、風險最小的器件之一。
5) FPGA採用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。
可以說,FPGA晶元是小批量系統提高系統集成度、可靠性的最佳選擇之一。
FPGA是由存放在片內RAM中的程序來設置其工作狀態的,因此,工作時需要對片內的RAM進行編程。用戶可以根據不同的配置模式,採用不同的編程方式。
加電時,FPGA晶元將EPROM中數據讀入片內編程RAM中,配置完成後,FPGA進入工作狀態。掉電後,FPGA恢復成白片,內部邏輯關系消失,因此,FPGA能夠反復使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片FPGA,不同的編程數據,可以產生不同的電路功能。因此,FPGA的使用非常靈活。
[編輯本段]【FPGA配置模式】
FPGA有多種配置模式:並行主模式為一片FPGA加一片EPROM的方式;主從模式可以支持一片PROM編程多片FPGA;串列模式可以採用串列PROM編程FPGA;外設模式可以將FPGA作為微處理器的外設,由微處理器對其編程。
如何實現快速的時序收斂、降低功耗和成本、優化時鍾管理並降低FPGA與PCB並行設計的復雜性等問題,一直是採用FPGA的系統設計工程師需要考慮的關鍵問題。如今,隨著FPGA向更高密度、更大容量、更低功耗和集成更多IP的方向發展,系統設計工程師在從這些優異性能獲益的同時,不得不面對由於FPGA前所未有的性能和能力水平而帶來的新的設計挑戰。
例如,領先FPGA廠商Xilinx最近推出的Virtex-5系列採用65nm工藝,可提供高達33萬個邏輯單元、1,200個I/O和大量硬IP塊。超大容量和密度使復雜的布線變得更加不可預測,由此帶來更嚴重的時序收斂問題。此外,針對不同應用而集成的更多數量的邏輯功能、DSP、嵌入式處理和介面模塊,也讓時鍾管理和電壓分配問題變得更加困難。
幸運地是,FPGA廠商、EDA工具供應商正在通力合作解決65nm FPGA獨特的設計挑戰。不久以前,Synplicity與Xilinx宣布成立超大容量時序收斂聯合工作小組,旨在最大程度幫助地系統設計工程師以更快、更高效的方式應用65nm FPGA器件。設計軟體供應商Magma推出的綜合工具Blast FPGA能幫助建立優化的布局,加快時序的收斂。
最近FPGA的配置方式已經多元化!
[編輯本段]【FPGA主要生產廠商介紹】
1、Altera
2、Xilinx
3、Actel
4、Lattice
其中Altera和Xilinx主要生產一般用途FPGA,其主要產品採用RAM工藝。Actel主要提供非易失性FPGA,產品主要基於反熔絲工藝和FLASH工藝。
FPGA設計的注意事項
不管你是一名邏輯設計師、硬體工程師或系統工程師,甚或擁有所有這些頭銜,只要你在任何一種高速和多協議的復雜系統中使用了FPGA,你就很可能需要努力解決好器件配置、電源管理、IP集成、信號完整性和其他的一些關鍵設計問題。不過,你不必獨自面對這些挑戰,因為在當前業內領先的FPGA公司里工作的應用工程師每天都會面對這些問題,而且他們已經提出了一些將令你的設計工作變得更輕松的設計指導原則和解決方案。
I/O信號分配
可提供最多的多功能引腳、I/O標准、端接方案和差分對的FPGA在信號分配方面也具有最復雜的設計指導原則。盡管Altera的FPGA器件沒有設計指導原則(因為它實現起來比較容易),但賽靈思的FPGA設計指導原則卻很復雜。但不管是哪一種情況,在為I/O引腳分配信號時,都有一些需要牢記的共同步驟:
1. 使用一個電子數據表列出所有計劃的信號分配,以及它們的重要屬性,例如I/O標准、電壓、需要的端接方法和相關的時鍾。
2. 檢查製造商的塊/區域兼容性准則。
3. 考慮使用第二個電子數據表制訂FPGA的布局,以確定哪些管腳是通用的、哪些是專用的、哪些支持差分信號對和全局及局部時鍾、哪些需要參考電壓。
4. 利用以上兩個電子數據表的信息和區域兼容性准則,先分配受限製程度最大的信號到引腳上,最後分配受限制最小的。例如,你可能需要先分配串列匯流排和時鍾信號,因為它們通常只分配到一些特定引腳。
5. 按照受限製程度重新分配信號匯流排。在這個階段,可能需要仔細權衡同時開關輸出(SSO)和不兼容I/O標准等設計問題,尤其是當你具有很多個高速輸出或使用了好幾個不同的I/O標准時。如果你的設計需要局部/區域時鍾,你將可能需要使用高速匯流排附近的管腳,最好提前記住這個要求,以免最後無法為其安排最合適的引腳。如果某個特定塊所選擇的I/O標准需要參考電壓信號,記住先不要分配這些引腳。差分信號的分配始終要先於單端信號。如果某個FPGA提供了片內端接,那麼它也可能適用於其他兼容性規則。
6. 在合適的地方分配剩餘的信號。
在這個階段,考慮寫一個只包含埠分配的HDL文件。然後通過使用供應商提供的工具或使用一個文本編輯器手動創建一個限制文件,為I/O標准和SSO等增加必要的支持信息。准備好這些基本文件後,你可以運行布局布線工具來確認是否忽視了一些准則或者做了一個錯誤的分配。
這將使你在設計的初始階段就和布局工程師一起工作,共同規劃PCB的走線、冗餘規劃、散熱問題和信號完整性。FPGA工具可能可以在這些方面提供幫助,並協助你解決這些問題,因此你必須確保了解你的工具包的功能。
你咨詢一位布局專家的時間越晚,你就越有可能需要去處理一些復雜的問題和設計反復,而這些可能可以通過一些前期分析加以避免。一旦你實現了滿意的信號分配,你就要用限制文件鎖定它們。
-------------------
基於CMOS的設計主要消耗三類切率:內部的(短路)、漏電的(靜態的)以及開關的(電容)。當門電路瞬變時,VDD與地之間短路連接消耗內部功率。漏電功耗是CMOS工藝普遍存在的寄生效應引起的。而開關功耗則是自負載電容,放電造成的。開關功耗與短路功耗合在一起稱為動態功耗。下面介紹降低靜態功耗和動態功耗的設計技巧。
降低靜態功耗
雖然靜態電流與動態電流相比可以忽略不計,然而對電池供電的手持設備就顯得十分重要,在設備通電而不工作時更是如此。靜態電流的因素眾多,包括處於沒有完全關斷或接通的狀態下的I/O以及內部晶體管的工作電流、內部連線的電阻、輸入與三態電驅動器上的拉或下拉電阻。在易失性技術中,保持編程信息也需一定的靜態功率。抗熔斷是一種非易失性技術,因此信息存儲不消耗靜態電流。
下面介紹幾種降低靜態功耗的設計方法:
•驅動輸入應有充分的電壓電平,因而所有晶體管都是完全通導或關閉的。
•由於I/O線上的上拉或下拉電阻要消耗一定的電流,因此盡量避免使用這些電阻。
•少用驅動電阻或雙極晶體管,這些器件需維持一個恆定電流,從而增加了靜態電流。
•將時鍾引腳按參數表推薦條件連接至低電平。懸空的時鍾輸入會大大增加靜態電流。
•在將設計劃分為多個器件時,減少器件間I/O的使用。
eX器件LP方式引腳的使用
Actel eX系列設計了特殊的低功率「休眠」模式。在該引腳驅動至高電平800ns後,器件進入極低功率待機模式,待機電流小於100μA。在低功率模式下,所有I/O(除時鍾輸入外)都處於三態,而內核全部斷電。由於內核被斷電,觸發器中存儲的信息會丟失,在進入工作模式(在引腳驅動至低平200ms後)時,用戶需再次對器件初始化。同樣,用戶也應關閉所有通過CLKA、CLKB以及HCLK輸入的時鍾。然而這些時鍾並不處於三態,時鍾就可進入器件,從而增加功耗,因此在低功率模式下,時鍾輸入必須處於邏輯0或邏輯1。
有時用戶很難阻止時鍾進入器件。在此場合,用戶可使用與CLKA或CLKA相鄰的正常輸入引腳並在設計中加進CLKINT。這樣,時鍾將通過靠近時鍾引腳的正常輸入進入器件,再通過CLKINT向器件提供時鍾資源。
採用這種輸入電路後,由於常規I/O是三態的,因此用戶不必擔心時鍾進入器件。當然,增加一級門電路會產生0.6ns的較大時鍾延時,幸好這在多數低功率設計中是可以接受的。注意應將與CLKINT緩沖器相關的CLKA或CLKB引腳接地。
此外還要注意,CLKINT只可用作連線時鍾,HCLK並不具備將內部走線網連接到HCLK的能力,因而HCLK資源不能被常規輸入驅動。換句話說,如果使用LP引腳就不能使用HCLK;使用HCLK時就應在外部截斷時鍾信號。
降低動態功耗
動態功耗是在時鍾工作且輸入正在開關時的功耗。對CMOS電路,動態功耗基本上確定了總功耗。動態功耗包括幾個成分,主要是電容負載充電與放電(內部與I/O)以及短路電流。多數動態功率是內部或外部電容向器件充、放電消耗的。如果器件驅動多個I/O負載,大量的動態電流構成總功耗的主要部分。
對設計中給定的驅動器,動態功耗由下式計算
p=CL×V 2 DD×f
式中,CL是電容負載,VDD是電源電壓,f則是開關頻率。總功耗是每個驅動器功耗之總和。
由於VDD是固定的,降低內部功耗就要降低平均邏輯開關頻率,減少每個時鍾沿處的邏輯開關總數、減少連線網路,特別是高頻信號連線網路中的電容值。對低功率設計,需要從系統至工藝的每個設計級別中採取相應預防措施,級別越高,效果越好。
[編輯本段]FPGA與CPLD的辨別和分類
FPGA與CPLD的辨別和分類主要是根據其結構特點和工作原理。通常的分類方法是:
將以乘積項結構方式構成邏輯行為的器件稱為CPLD,如Lattice的ispLSI系列、Xilinx的XC9500系列、Altera的MAX7000S系列和Lattice(原Vantis)的Mach系列等。
將以查表法結構方式構成邏輯行為的器件稱為FPGA,如Xilinx的SPARTAN系列、Altera的FLEX10K或ACEX1K系列等。
[編輯本段]FPGA的應用
FPGA的應用可分為三個層面:電路設計,產品設計,系統設計1.電路設計中FPGA的應用
連接邏輯,控制邏輯是FPGA早期發揮作用比較大的領域也是FPGA應用的基石.事實上在電路設計中應用FPGA的難度還是比較大的這要求開發者要具備相應的硬體知識(電路知識)和軟體應用能力(開發工具)這方面的人才總是緊缺的,往往都從事新技術,新產品的開發成功的產品將變成市場主流基礎產品供產品設計者應用在不遠的將來,通用和專用IP的設計將成為一個熱門行業!搞電路設計的前提是必須要具備一定的硬體知識.在這個層面,乾重於學,當然,快速入門是很重要的,越好的位子越不等人電路開發是黃金飯碗.
2.產品設計
把相對成熟的技術應用到某些特定領域如通訊,視頻,信息處理等等開發出滿足行業需要並能被行業客戶接受的產品這方面主要是FPGA技術和專業技術的結合問題,另外還有就是與專業客戶的界面問題產品設計還包括專業工具類產品及民用產品,前者重點在性能,後者對價格敏感產品設計以實現產品功能為主要目的,FPGA技術是一個實現手段在這個領域,FPGA因為具備介面,控制,功能IP,內嵌CPU等特點有條件實現一個構造簡單,固化程度高,功能全面的系統產品設計將是FPGA技術應用最廣大的市場,具有極大的爆發性的需求空間產品設計對技術人員的要求比較高,路途也比較漫長不過現在整個行業正處在組建」首發團隊」的狀態,只要加入,前途光明產品設計是一種職業發展方向定位,不是簡單的愛好就能做到的!產品設計領域會造就大量的企業和企業家,是一個近期的發展熱點和機遇
3.系統級應用
系統級的應用是FPGA與傳統的計算機技術結合,實現一種FPGA版的計算機系統如用Xilinx V-4, V-5系列的FPGA,實現內嵌POWER PC CPU, 然後再配合各種外圍功能,實現一個基本環境,在這個平台上跑LINIX等系統這個系統也就支持各種標准外設和功能介面(如圖象介面)了這對於快速構成FPGA大型系統來講是很有幫助的。這種」山寨」味很濃的系統早期優勢不一定很明顯,類似ARM系統的境況但若能慢慢發揮出FPGA的優勢,逐漸實現一些特色系統也是一種發展方向。若在系統級應用中,開發人員不具備系統的擴充開發能力,只是搞搞編程是沒什麼意義的,當然設備驅動程序的開發是另一種情況,搞系統級應用看似起點高,但不具備深層開發能力,很可能會變成愛好者,就如很多人會做網頁但不能稱做會編程類似以上是幾點個人開發,希望能幫助想學FPGA但很茫然無措的人理一理思路。這是一個不錯的行業,有很好的個人成功機會。但也肯定是一個競爭很激烈的行業,關鍵看的就是速度和深度當然還有市場適應能力。
G. 如何能讀取CPLD內部程序
保證你程序編譯正確點擊工梁宏攔具欄上的programmer按鈕或絕埋tools->programmer在handware setup中選擇你的模擬器,在這之前你應該已經將模擬器連接至電腦,並成功安裝了驅動。在mode中選擇下載模式,一般常用的有橡胡兩種模式JTAG和Active Serial Programming.JTAG模式下載快,但是斷電後丟失。ASP模式直接將程序固化到硬體,下載後不丟失。這里直接選擇ASP模式(我這里以FPGA下載過程為例,CPLD好久沒用了,好像CPLD沒有JTAG模式,大體都一致,你試一下就行)。選擇你要下載的文件,勾選Program/Configure.點擊Start開始下載,下載完成,從新上電,程序開始運行。