1 前言
EDA課程是高校電子類教學及實驗的最重要的技術基礎課程,EDA課程概念性、實踐性、工程性極強,教學中應理論聯系實際,并要結合現代計算機仿真技術和具體的項目實踐。目前,大多數高校還在采用成套的CPLD/FPGA實驗箱來開展EDA課程的實驗教學。而實際上,在基于Verilog HDL或VHDL硬件設計語言的學習上,CPLD與FPGA的開發是完全相同的,其中CPLD價格較低。為了激發學生學習的主動性,筆者針對實驗教學的創新性特色,開發設計出一套適用于高校EDA課程的CPLD教學實驗系統。
2 實驗系統的硬件設計
筆者選用Lattice公司的ispMACHTM4000系列CPLD設計了教學實驗系統,該系列CPLD是Lattice器件中最完善也是性價比最高的。系統整體構架如圖1所示,分為9個部分:CPLD系統核心單元、數碼顯示界面、鍵盤輸入、擴展接口、繼電器單元、蜂鳴器、LED模組及RS232接口和電機驅動模塊。

2.1 CPLD系統核心單元

如圖2所示,CPLD系統核心單元包括CPLD芯片、電源管理模組及JTAG。這里采用CPLD LC4032V作為系統核心。LC4032V是超快低功耗CPLD芯片,可達到400 MHz工作頻率,內嵌E2PROM配置空間。
LC4032V需要3.3 V供電電壓。電源管理模組采用USB口供電,經LDO芯片輸出+3.3 V電壓,輸出電流可達800 mA,精度在±1%以內,同時還有電流限制和熱保護功能,輸出端有兩個10 uF的鉭電容來改善瞬態響應和穩定性。
程序的下載及調試采用Lattice公司提出的標準10腳JTAG仿真接口,JTAG信號的定義簡單,與LC4032V連接的各信號線接4.7 K上拉電阻。
2.2 RS232接口
CPLD實驗系統與PC機之間的通信實驗是用串口實現的,實驗系統上沒有串行控制器,本實驗項目在CPLD中做一個RS232通信協議的收發器,將晶振換為11.0592 MHz, 以波 特 率 為9 600、8位數據位、1位停止位的格式進行數據傳輸。由于系統是3.3 V系統,所以使用了SP3232E進行RS232電平轉換,SP3232E是3 V工作電源的RS232轉換芯片。
2.3 電機驅動模組
在CPLD教學實驗系統上可以設計制作一個10位的D/A轉換器。設置一個10位時鐘計數器并對時鐘進行計數,同時讀取該時刻的數字量并與計數寄存器的值相比較。若計數值小于讀取的數字量,則在電機驅動接口上輸出高電平,否則輸出低電平。由于數據量的不同,輸出高低電平的時刻也不同(占空比),從而達到控制電機轉速快慢的目的[1]。
這里輸入的數字量分別由按鍵KEY0和KEY1來調節,其中KEY0進行加1的控制,KEY1進行減1的控制,轉換后的結果送到電機控制板上,可以觀察到電機的轉速由快到慢或由慢到快在變化。
同時,實驗系統上擴展有CPLD芯片所有引腳,可接入單片機系統。另外配備多種擴展電路板,如液晶顯示、語音模塊等,以搭配實現更多復雜的實驗項目。
3 實驗流程簡介
LC4032V芯片使用Lattice公司最新推出的一套EDA軟件ispLEVER。設計輸入可采用原理圖、硬件描述語言、混合輸入3種方式。能對所設計的數字電子系統進行功能仿真和時序仿真。軟件中的Constraints Editor工具允許經由一個圖形用戶接口選擇I/O設置和引腳分配。軟件包含Synolicity公司的“Synplify”綜合工具和Lattice的ispVM 器件編程工具[2]。
設計語言采用Verilog HDL語言。一般V語言采用文本文檔編輯源文件,采用ispLEVER綜合軟件生成擴展名為JED的燒錄文件,通過并口由JTAG下載線將燒錄文件下載到CPLD器件,結果從I/O端口反映出來,詳細的流程如圖3所示:

筆者給出一個實驗用于實現LED的循環。采用復雜邏輯中常用的Mealy程序狀態機StateMachine的設計方法,將LED模組看成是8位的二進制數,控制執行簡單的移位的動作。程序燒入CPLD后,按下復位鍵即復位所有狀態,除LED0外,熄滅其他的LED。當按下KEY0或KEY1后,LED即走動,KEY0為從左向右走動,KEY1為從右向左走動。走動的頻率從4 MHz的晶振獲得,因為4 MHz的頻率太高,程序中采用19位的計數器將4 MHz分頻得到周期為l30 ms的方波,作為LED走動的時鐘,這樣就可以看到程序燒錄以后的運行情況了。
4 結束語
隨著電子設計自動化技術的普及,將EDA技術引入教學實驗,不但提高了學生的設計開發能力,也為他們盡快將所學知識應用到社會實踐中創造了良好條件。通過課程設計,學生應用先進的編程技術設計系統電路,提高了學習積極性。筆者下一步將研制ARM微控制器與CPLD的一體化實驗平臺,將最先進的數字電路設計用于教學實驗。
參考文獻:
[1]周立功等.《單片機與CPLD應用技術》[M].北京:北京航空航天大學出版社,2003
[2]Lattice. ispMACH 4000 High Density PLDs Data Sheet. 2007