| 回首頁 | 物聯網 | 智能控制 | 手機程式 | PLC |
第四課:FPGA + CPLD 邏輯設計
電子產品日益進步,過去常使用的控制電路因體積、價格等等因素正逐漸不 符合需求,FPGA/CPLD 便是為追求簡化電路而問世之產品,又因廣受好評使 得廠商大量生產與開發更新功能更強的產品,因此在價格上並無太大負擔。使用 VHDL 可輕易的減輕與簡化系統模型到硬體結構的轉譯負擔,以元件式技術為依 據,再以元件之封裝性、再用性及擴展性來提高轉譯效率。 FPGA/CPLD 生產廠商也免費提供操作簡單的程式編譯軟體,為另一優 點。此次專題研究,除了解 FPGA/CPLD 內部構造外,並學習如何使用其軟體 操作與程式撰寫。將所需求之控制電路以 VHDL 做規劃,在廠商提供的學習模
組練習下,發展出不同的硬體控制電路。
場域可程式化閘陣列 (FPGA) 技術正持續發展,而全世界 FPGA 市場的產值,則預估可從 2005 年的 19 億美金提升到 2010 年的 27 億 5 千萬美金1。FPGA 是在 1984 年由 Xilinx 公司所發明,從簡單的膠合邏輯 (Glue logic) 晶片,演變為可取代客制的特定應用積體電路 (ASIC) 與處理器,適用於訊號處理與控制應用。為何 FPGA 技術如此成功?此篇文章將介紹 FPGA,並說明數項讓 FPGA 如此獨特的優點。
最籠統來說,FPGAs 即為可再程式化的晶片。透過預先建立的邏輯區塊與可程式化路由資源,不需更改麵包板或焊錫部分,即可設定這些晶片以建置客制硬體功能。使用者可於軟體中開發數位運算系統 (Computing task) 並將之編譯為組態檔案或位元流 (Bitstream),可包含元件接線的相關資訊。此外,FPGA 完全為可重設性質,當使用者重新編譯不同的電路設定時,可立刻擁有不同的特性。在過去,工程師必須深入了解數位硬體設計,才能夠使用 FPGA 技術。然而,高階設計工具的新技術可針對圖形化程式區或 C 程式碼,轉換為數位硬體電路,即變更了 FPGA 程式設計的規則。
FPGA 整合了 ASIC 與處理器架構系統的最佳部分,使 FPGA 晶片可應用於所有產業。FPGA 具有硬體時脈的速度與可靠性,且其僅需少量即可進行作業;可降低客制化 ASIC 設計的費用。可重新程式設計的晶片,具有與軟體相同的彈性,卻不受限於處理核心的數量。與處理器不同的是,FPGA 為實際的平行架構,因此不同的處理作業並不需要佔用相同資源。每個獨立的處理作業均將指派至專屬的晶片區塊,不需影響其他邏輯區塊即可自動產生功能。因此,當新增其他處理作業時,應用某部分的效能亦不會受到影響。
效能
上市時間
成本
可靠性
長期維護
效能 – 透過硬體的平行機制,FPGA 可突破依序執行 (Sequential execution) 的固定運算,並於每時脈循環完成更多作業,以超越數位訊號處理器 (DSP) 的計算功能。BDTI 為著名的分析公司,並於某些應用中使用 DSP 解決方案,以計算 FPGA 的處理效能2。於硬體層級控制 I/O 可縮短回應時間並特定化某些功能,以更符合應用需求。
上市時間 – 針對上市時間而言,FPGA 技術具有彈性與快速原型製作的功能。使用者不需進行客制化 ASIC 設計的冗長建構過程,即可於硬體中測試或驗證某個觀念3。並僅需數個小時即可建置其他變更作業,或替換 FPGA 設計。現成的 (COTS) 硬體亦可搭配使用不同種類的 I/O,並連接至使用者設定的 FPGA 晶片。高階軟體工具正不斷提升其適用性,縮短了抽象層 (Layer of abstraction) 的學習時間,並針對進階控制與訊號處理使用 IP cores (預先建立的函式)。
成本 – 客制化 ASIC 設計的非重置研發 (NRE) 費用,遠遠超過 FPGA 架構硬體解決方案的費用。ASIC 的大型初始投資,可簡單認列於 OEM 每年所出貨的數千組晶片,但是許多末端使用者更需要客制硬體功能,以用於開發過程中的數百組系統。而可程式化晶片的特性,即代表低成本的架構作業,或組裝作業的長前置時間。由於系統需求隨時在變化,因此若與 ASIC 的龐大修改費用相較,FPGA 設計的成本實在微不足道。
可靠性 – 正如軟體工具提供程式設計的環境,FPGA 電路亦為程式執行的「堅強」建置方式。處理器架構的系統往往具有多個抽象層,以協助多重處理程序之間的作業排程與資源分享。驅動層 (Driver layer) 控制硬體資源,而作業系統則管理記憶體與處理器頻寬。針對任何現有的處理器核心來說,每次僅可執行 1 組指令碼;而處理器架構的系統則可連續處理重要作業。FPGA 不需使用作業系統,並將產生問題的機會降至最低,以平行執行功能與專屬精密硬體執行作業。
長期維護 – 如稍早所提,FPGA 晶片為即時升級 (Field-upgradable) 特性,不需如 ASIC 重新設計的時間與費用。舉例來說,數位通訊協定的規格可隨時間而改變,而 ASIC 架構的介面卻可能產生維護與向下相容的問題。FPGA 具有可重設性質,可隨時因應未來的需要而進行修改。當產品或系統趨於成熟時,不需耗時重新設計或修改機板配置,即可提升相關功能。
CPLD 邏輯閘數目在數千至數萬規模,而 FPGA 則在數萬至數百萬。CPLD 的系統架構較簡單,在可規劃程度上比 FPGA 欠缺靈活性,而 FPGA 則大多含有高階的內建模組如加法器或乘法器, 且支援系統組態部分或全部重新配置 。
硬件描述語言(HDL)顧名思義就是描述數位電路和設計數位系統的語言。設計者可利用這種語言來描述自己的設計想法,利用電子設計自動化(EDA)工具進行仿真,再用ASIC或FPGA實現其功能,常見有Verilog和VHDL。
【FPGA Verilog HDL數位邏輯電路設計班】
【課程主旨】 在FPGA數位電路設計超大型積體電路設計(VLSI)或系統晶片(SOC)設計上均扮演著非常重要的角色,是 軟硬體工程師在職場上必備的工具。工業4.0(生產力4.0)應用以機器手臂為重要抓手的“工業4.0”戰略,會加速智慧製造的進程。未來物聯網與工業4.0是大勢所趨,而高性能電機控制是實現工業4.0的關鍵應用。使用FPGA/Verilog可充分滿足當今磁場定向控制 (FOC) 等複雜控制演算法所提出的苛刻的時序和性能要求。本單位精心規劃「FPGA/Verilog HDL實作實戰班」學程,課程進行搭配FPGA實驗板,將會先詳細講述FPGA/Verilog HDL語法,再以主題實驗的方式進行實戰教學。然綜觀目前國內有關的FPGA課程,均未完整解說Verilog HDL語法及其對應之數位邏輯電路之呈現。導致上完課程後,還是無法與業界銜接。
為解決此現象,課程內容針對FPGA/Verilog HDL語法與應用,採深入淺出講解並輔以LAB實戰,上完完整課程後能熟悉Verilog語言全貌,帶領大家進入以Verilog為主的各種相關設計領域,因此非常適合各層次的設計者參考使用。PS:課程內容絕非大量講授工具應用等紙上談兵!現在,就從最實際實戰的Verilog HDL語法完整講解,讓聽完課程的學員, 真正有能力設計數位邏輯電路。
【修課條件】
1. 資訊、資工、資管、電子、電機等相關科系畢業生
2. 熟悉邏輯設計以計算機組織者佳
3. 想從事CPLD, FPGA研發工作者
【課程大綱】
1. FPGA工具介紹、安裝與使用及如何使用ModelSim作電路模擬
2. Hierarchical Modeling Concepts
3. Verilog HDL Lexical conventions: data
4. Verilog HDL Modules and Ports:Module definition, port declaration, connecting ports, hierarchical name referencing
5. Logic Synthesis, Algorithmic State Machine
6. Gate-Level Modeling
7. Verilog HDL Dataflow Modeling:Continuous assignments,
delay specification, expressions, operators, operands, operator types
8. Verilog HDL Behavioral Modeling:Structured procedures, initial and
always, blocking and nonblocking statements, delay control, generate
statement, event control, conditional statements, multiway branching,
loops, sequential and parallel blocks.
9. Verilog HDL Tasks and Functions : Function, Task, Assignment, and
Finite State Machine
10. Timing Simulation in Verilog
11. Useful Modeling Techniques
12. LAB實戰部分:
【A.基礎LAB】:
Verilog 循序電路設計:正反器、暫存器、計數器、LED或七段顯示器、
按鍵控制 電路、計秒器、計數器電路 實 驗、Finite State Machine:
比大小遊戲電路實驗、紅綠燈控制電路實驗
【B.進階LAB】:
LCD1602實驗、RS-232通訊(UART)控制電路實驗、I2C 系統電路實驗、
VGA 控 制電路實驗
【課程費用】
6660元 (超值優惠價格需送出報名表後,系統發出報名成功回函確認金額。)
1 板載4個獨立按鍵,可做按鍵控制,數字邏輯基礎實驗等
2 板載 AD 晶片及SMA接口, 方便外接各種傳感器, 做類比轉數位實驗等
3 板載4位數碼管,頻率計,碼錶
4 板載 32Mbit SDRAM 支持SOPC/NIOSII開發
5 板載 32Mbit SPI Flash
6 板載 EPCS 4Mbit
7 板載1路蜂鳴器,可做發聲及音樂實驗
8 PS2介面,可做PS/2鍵盤實驗
9 板載26 Pin 擴展接口, 可外接擴展板
10 RS232串口,可做串口通訊實驗
11 全彩 VGA介面,可做顯示器實驗等
12 提供 LDO 3.3V, 2.5V, 1.2V 電源輸出
13 紅外線接收模組
14 板載升級版 PL2303HA USB-TTL晶片
視頻教學課程, 軟體/範例及 FPGA資料
1 配套 53節視頻教學課程 手把手教你一步步學好 FPGA
2 軟體安裝使用、基礎邏輯、FPGA基礎, 及各種操作方法
3 提供最新QuartusII 11.0版本 軟體
4 提供PDF格式PCB原理圖 及各元件的說明/Datasheet
5 提供豐富的參考例程可配合視頻教學課程學習
6 精選CPLD、FPGA 教學電子書
7 開發參考資料
出貨清單:
(1) Altera CycloneIV EP4CE6E22C8N FPGA 開發板 x1片
(2) 高品質 USB 線 x1條
(3) 紅外線遙控器 x1個
(4) 配套53節教學/範例/軟體
DE10-Nano 開發板擁有眾多功能,能夠讓用戶實現廣泛的電路設計比如從簡單的電路到各種各樣的多媒體工程。
開發板硬件介紹如下:
FPGA 器件為 Intel Cyclone V SE 5CSEBA6U23I7N (110K LEs)
序列配置器件– EPCS128
內建USB-Blaster II 電路,JTAG 模式
HDMI輸出,兼容於 DVI v1.0 及 HDCP v1.4
2 個按鈕
4 個撥碼開關
8 個綠色使用者 LED 燈
來自時鐘產生器的三個50MHz 時鐘源
兩個40-pin 的擴展槽
壹個 Arduino 擴展槽 (兼容Uno R3),可聯機 Arduino 背板。
壹個10-pin 的模擬輸入擴展槽(跟 Arduino 的模擬輸入埠是復用關系)。
A/D 轉換器, FPGA 端 4-pin SPI 接口
800MHz ARM Cortex-A9 雙核處理器
1GB DDR3 SDRAM (32位數據總線)
支持 1G 以太網 PHY 的 RJ45 接口
USB OTG 埠,采用USB Micro-AB 型聯機器
微型 SD 卡槽
加速計(G-Sensor, I2C界面+中斷 )
壹個串行埠轉 USB口,采用 USB Mini-B 型接口
壹個熱啟動按鈕和壹個啟動按鈕
壹個用戶按鈕和壹個用戶LED燈
LTC 2x7 擴展槽
DE10-Nano 開發板相較於 DE0-Nano-SoC , 除了壹樣有小巧的尺寸幾乎相同的周邊外 , 還是壹款擁有更多FPGA LEs 以及增加了 HDMI 輸出接口的全新 SoC 開發工具包 .DE10-Nano 的 FPGA 更換成 Cyclone V SoC FPGA (5CSEBA6) 使 FPGA LEs 增加多達 275%, 讓使用者能進行更復雜的計劃開發 . 周邊新增添了支持 Full HD 的分辨率的 HDMI 輸出接口,讓用戶無須購買子卡便可以開發影像應用。 Intel 的 SoC 系統結合了以 ARM為主的 HPS 架構處理器,周邊及內存接口與使用高帶寬互聯骨幹結構的 FPGA 無縫接合。 DE10-Nano 開發板同時也配備了高速的 DDR3 內存、模擬數字功能、以太網絡以及更多令人興奮的應用功能。
DE10-Nano 開發平臺包含了所有計算機中執行微軟 Windows XP 或是更高階系統使用的板子所需要的工具。
選擇本開發板的原因:
1、豐富的硬體設定,基本包括了目前市面上所有CLPLD學習板的週邊硬體電路。
2、雙語言常式(Verilog+VHDL),同時學習兩種程式設計語言。
3、強力的技術支援,為你的學習保駕護航。
4、先進的生產工藝,為開發板的硬體品質做強力保障。
5、豐富的光碟資料,內含大量學習資料,實驗常式,開發工具,學習板使用文檔,讓你輕鬆學習CPLD。
1、EPM240T100C5介紹:
Altera推出的MAX II器件系列是一款革命性的CPLD產品。它基於突破性的CPLD架構,提供業界所有CPLD系列中單個I/O管腳最低成本和最小功耗。這些器件採用新的查表(LUT)體系,採用TSMC的0.18μm嵌入Flash工藝,使其裸片尺寸僅為同樣工藝器件的1/4。
MAX II系列和上一代MAX產品相比,成本降低了一半,功耗只有其1/10,同時保持MAX系列原有的瞬態啟動、單晶片、非易失性和易用性。新的系列器件容量翻了兩番,性能是上一代MAX CPLD的兩倍多,使消費類、通信、工業和電腦產品的設計者能夠採用MAX II系列器件代替昂貴和不夠靈活的小型ASIC和ASSP。
以下主要介紹MAX II系列器件的主要特徵:
★成本優化的架構:新型MAX II CPLD架構包括基於LUT的LAB陣列、非易失性Flash存儲模組和JTAG控制電路。
★低功耗:MAX II器件是動態功耗較低的CPLD。
★高性能:MAX II器件支持高達300MHz的內部時鐘,可為使用者提供更高的系統級性能。通過改善佈線結構管腳間的延時與其他同容量的CPLD相比大大降低,目前降低到3.6ns。
2、開發板硬體資源:
本開發板最大限度的添置週邊電路,且引出近百個I/O為後續開發擴展。基本囊括了目前市面上的所有CPLD開發板的硬體資源。元件全部才有全新原裝。最大限度的保證產品的性能。真正做到了價廉而物美。
★主晶片EPM240T100C5,該晶片有240個邏輯單元,等效巨集單元是192 個,資源比較豐富,內有8Kbit Flash的存儲空間;
★50MHz有源晶振,作為系統主時鐘;
★低電平重定按鍵,作為時序電路的重定信號;
★8色VGA介面1個,讓大家掌握RCT顯示器的驅動原理;
★RS232串口2個,並配置通信LED指示燈4個;
★PS/2介面1個,使用CPLD進行通用鍵盤、滑鼠解碼;
★EEPROM晶片AT24C02,讓大家熟悉使用verilog進行I2C通信;
★DS18B20溫度感測器1個,學習DS18B20的應用;
★PCF8563即時時鐘晶片1個,學習時鐘晶片的操作;
★4x4矩陣鍵盤,讓大家熟悉對矩陣鍵盤的操作控制;
★8位元撥碼開關;
★8個流水燈,可以進行流水燈實驗;
★蜂鳴器,配合簡單的分頻設計使用;
★8位數碼管,可進行數碼管顯示實驗實驗;
★5V繼電器1個,學習繼電器開關操作;
★繼電器接通LED指示燈1個,指示繼電器的通斷;
★繼電器輸出介面2個;
★紅外發送、接收各一個,學習紅外發射及接收時序;
★LCD1602介面1個,可以學習LCD1602的操作時序;
★LCD12864介面1個,可學習LCD12864的操作;
★CPLD IO管腳引出介面2個,引出所有CPLD的IO管腳,方便用戶擴展IO;
教材内容:
01. 時鐘分頻實驗;
02. 流水燈實驗;
03. 蜂鳴器實驗;
04. 撥碼開關實驗;
05. 繼電器實驗;
06. 7段數碼管實驗;
07. 矩陣鍵盤4x4 KEY實驗;
08. VGA顯示實驗;
09. 串口通信實驗;
10. PS2滑鼠解碼實驗;
11. PS2鍵盤解碼實驗;
12. LCD1602實驗;
13. LCD12864實驗;
14. I2C通信實驗;
15. 即時時鐘RTC實驗;
16. DS18B20溫度採集實驗;
17. 紅外發射實驗
18. 紅外接收實驗
19. MAX II內部震盪時鐘實驗;
20. PicoBlaze 8-bit Microcontroller實驗。
聯絡電話: 傳真: 聯絡地址: