電子設計自動化(ElectronicDesignAutomation,EDA)技術是新興的電子設計自動化工具,是目前世界電子設計的新技術方向和潮流[1]。在數字電路實驗中,EDA作為一種重要的實驗工具使傳統數字電路實驗的教學模式得到了改變,實驗的操作過程得到了一定的簡化。
1EDA技術基本特征
EDA作為現代電子設計的核心,以大規模可編程邏輯器件(FPGA/COLD)為載體,以計算機為工作平臺,在EDA軟件開發環境下,采用硬件描述語言HDL(HardwareDescripTIonLanguage)編寫設計文件,而一系列的編譯、綜合及優化、布局布線、仿真[1],直到編程下載等工作都可自動的完成。電路的邏輯功能與器件無關,采用的是用硬件描述語言實現,在整個硬件設計的過程中就像軟件設計一樣方便高效,對設計者的硬件電路方面的知識需求較低,各可編程器件之間可移植性好,因此適合多個設計者協同分工設計,可縮短開發周期。EDA技術具備采用高級硬件語言描述的特點,能夠實現系統級仿真具有較強的綜合性能[1]。它主要采用的是“自頂向下”和并行工程的設計方法,使設計者一開始將產品生成周期、成本、質量、開發時間等一系列因素考慮到其中。然后系在對系統進行設計的時候,需要先從整體要求入手,“自頂向下”將整個系統設計劃分為不同的功能。在設計中每個階段都可進行仿真,并及時改正設計中發現的錯誤。高層次系統采用硬件描述語言,具體的門級邏輯電路網表文件需要用邏輯綜合優化工具來產生,而專用集成電路或印刷電路板的實現是對應的物理級得到的。
我校EDA實驗室主要采用的是QuartusII軟件。QuartusII是Altera公司推出的一款綜合性可編程邏輯器件開發軟件,設計者可直接用硬件描述語言或原理圖進行設計,對于內部器件不需要精通,且設計速度快。該軟件主要的特點為:運行速度快、易學易用。
2EDA技術設計流程
EDA技術設計流程如圖1所示。
(1)設計輸入。一個設計項目可由單個或多個原文件組織而成,它們可以是原理圖文件、混合輸入文件、VHDL文本文件等。
(2)綜合。綜合的關鍵是將VerilogHDL的軟件轉化為硬件電路,使兩者進行掛鉤,完成綜合必須借助EDA軟件的綜合器。對供應商提供的某一FPGA/CPLD產品可針對其源文件進行綜合。設計人員設計的邏輯電路圖可利用EDA軟件提供的邏輯綜合和優化功能將其自動地轉化為門級電路,同時還會生成對應的時序分析文件和網表文件。
(3)布線布局。在綜合之后的網表文件利用布局/布線適配器針對某一具體的器件進行邏輯映射操作,將其映射操作(包括底層器件配置、邏輯分割、邏輯優化、布線等操作)配置于目標器件中。
(4)仿真。在EDA設計中重要的步驟就是仿真,即是下載編程前,利用EDA工具對適配產生的結果進行模擬測試。在EDA設計過程中仿真可分為兩種不同級別的仿真測試,即時序仿真和功能仿真。其中,時序仿真是完全考慮了器件的硬件特性,并根據適配器產生的網表文件進行仿真,仿真精度較高,因為它接近于器件的真實運行。功能仿真不會考慮到硬件特性,對設計者所描述的邏輯功能進行仿真,且完全滿足設計者的要求。
(5)編程下載。通過仿真驗證設計完成后,采用Byteblaster下載電纜線以JTAG方式將適配生成的下載或配置文件下載至FPGA/CPLD器件內,方便于硬件的調試和驗證。
上述步驟完成后,將統一對整個硬件系統進行測試,以便發現設計中的問題,得到及時的解決。
圖1EDA技術設計流程圖
3EDA技術的優勢及在數字電路課程設計中的應用
由于初學階段對硬件電路的功能及特性的不熟悉,導致在連接電路時易出錯,在檢查錯誤過程中也會浪費大量的時間和精力,一旦出錯,將導致電路出現一些不正常或無法預知的實驗結果,使實驗失敗,甚至還可能會出現損壞電路元器件、實驗測試儀器及一些無法預測的安全事故。引入EDA后的數字電路實驗可通過用硬件描述語言去描述電路的功能,將硬件采用“軟件”的方式去描述,大大降低了設計時間及設計難度。“自頂向下”的設計理念始終貫穿于EDA設計中,而人們也習慣于這種思維方式,因此電路設計的邏輯性較強,同時也便于學習思維的發展和提高。
傳統的數字電路采用的是TTL邏輯器件進行設計連線,由于實驗條件受限,且隨著實驗教學年限的增加,實驗室設備的損壞、老化,需要定期的更新與維護,才能保證正常實驗的進行。而電子技術的發展和更新日新月異,實驗室的設備需要緊跟時代的步伐進行更新換代,多數學校設備的更新都不能緊跟技術的發展,將直接影響到學生對新知識的掌握,傳統實驗的不足可由EDA仿真軟件彌補,只需在計算機實驗室安裝EDA軟件即可。當學生熟練的掌握了EDA技術之后,可縮短數字電路實驗的時間,對于所描述出的電路更容易進行修改與調試,也能激發學生的興趣,這種將理論與實踐聯系起來的方式對于理論知識的掌握有很大的幫助。由于EDA技術十分廣博,在課堂學習之外還留給學生更多的想象空間,學生可通過自主創新,提高對數字電路的創新能力。
下面以設計一個五進制加法計數器為例來討論EDA在數字邏輯電路實驗中的具體應用。在此設計一個帶有復位端的計數器,端口分別為:clk(時鐘,輸入端,位寬為1),res(復位,輸入端,位寬為1),cnt[2,0](計數端,輸出端,位寬為3)。時鐘clk為上升沿觸發,復位res低有效,計數端cnt[2,0]有效數據范圍為3’b000~3’b100。程序流程圖如圖2所示。
圖2五進制計數器流程圖
通過對五進制計數器的分析,用VerilogHDL描述出功能后,在QuartusII11.0軟件上聯合Modelsim進行仿真后,得到如圖3所示的仿真波形。
圖3五進制加法計數器仿真波形
通過波形圖我們可以看出,所設計的邏輯功能和設計要求完全一致,通過QuartusII11.0綜合后的電路圖如圖4所示,我們可以觀察出五進制計數器有哪些基本的邏輯器件所組成,將設計的項目通過QuartusII11.0軟件下載/配置到相對應的實驗箱,學生可以很直觀的觀察到計數器的邏輯功能。
圖4五進制計數器綜合電路圖
我們必須熟悉各個邏輯器件以及要設計出的電路圖的具體的組成,才能構造出總的電路圖,而對于EDA技術我們只要了解了它的功能,根據它的功能用硬件語言描述出來,通過軟件的綜合后就可以得到對應的電路圖。尤其是對于一些復雜的電路,利用EDA技術比傳統的實驗教學更簡單方便,更易掌握。
-
eda
+關注
關注
71文章
2779瀏覽量
173567 -
計數器
+關注
關注
32文章
2259瀏覽量
94857 -
可編程邏輯
+關注
關注
7文章
517瀏覽量
44135
發布評論請先 登錄
相關推薦
評論