天門職業(yè)學院 彭麗君
電子自動化技術在現(xiàn)代數(shù)據(jù)系統(tǒng)開發(fā)中發(fā)揮了非常重要的作用,在進行該技術設計過程中,第一步要明確需要實現(xiàn)的具體功能,再利用時序仿真進行驗證,確認無問題后將這些模塊劃入到基礎元件中,最終實現(xiàn)總的設計任務。電氣自動化設計的輸入類型包含了原理圖模式以及硬件描述語言模式,其中VHDL以及Verilog HDL是現(xiàn)階段常用的硬件描述語言模式.為了進一步探究層次化設計方法在電子自動化設計中的應用,以VHDL輸入類型為載體,探究了秒表的設計方法,在顯示屏上以“X:XX.XX”的形式顯示7位數(shù)字。各個信號插孔通過ds1~ds7引出來,同時將段選信號連接起來,設置兩個按鈕,分別實現(xiàn)清零功能與啟停功能,實現(xiàn)了秒表的層次化設計與開發(fā)。
伴隨著現(xiàn)代電子技術的快速發(fā)展,電子自動化技術依托于硬件掃描語言實現(xiàn)了FPGA以及CPLD芯片的編程工作,從本質上解決了數(shù)字系統(tǒng)開發(fā)過程中存在的問題。在我國許多高等院校規(guī)劃了電子自動化技術學科,但是在教學活動開展中顯現(xiàn)出了較多的問題,比如說課堂教學內容與實踐需求不吻合、教學內容較為抽象,難以理解、教學體系不成熟等。電子自動化技術的編程目標主要是FPGA以及CPLD芯片,并基于Quartus軟件運用環(huán)境,通過層次化設計模式進行數(shù)字系統(tǒng)開發(fā)。為了進一步探究層次化設計方法在電子自動化設計中的運用,本文以Quartus軟件為載體,系統(tǒng)的闡述了層次化設計流程以及使用方式,同時選取秒表開發(fā)為示例,探究了層次化設計模式的具體運用。
在正常的硬件設計過程中,一般是先進行元件類型與型號的選取,然后將這些元件組裝起來,從而實現(xiàn)某些特定的功能,這樣的設計思路也可以應用到電子自動化設計中,只是在使用方法上具有更強的靈活性與變化性。在進行層次化設計過程中,首先要明確需要實現(xiàn)的功能,然后依照功能的不同將其劃分為若干個相互獨立的子模塊,保證各個子模塊功能的正常運行,再利用時序仿真進行驗證,確認無問題后將這些模塊劃入到基礎元件中,最終實現(xiàn)總的設計任務。伴隨著設計任務完成的越來越多,不僅幫助設計人員積累了大量的經驗,同時也會有效的提高元件庫的規(guī)模,能夠為設計者接來下的工作提供便利,可以有效的提高開發(fā)速度。
層次化設計模式在設計過程中,是采用從上往下的方式開展分析設計工作的,并將總任務分類為相互獨立的各個子模塊,但是在功能實現(xiàn)上卻采用從下往上的方式逐個實現(xiàn)的。
電子自動化設計的輸入類型包含了兩個方面,分別是原理圖模式以及硬件描述語言模式。首先,原理圖模式主要指將元件放置到畫布上,緊接著通過導向使得各個元件的引腳連接起來,再規(guī)劃輸入引腳與輸出引腳,從而實現(xiàn)電子自動化設計。這種輸入方法具有操作簡單、較為直觀的優(yōu)點,但是也存在Quartus軟件庫中可供其運用的元件數(shù)量較少的缺陷。其次,硬件描述語言模式的應用,幫助設計人員解決了硬件開發(fā)細節(jié)上的難題,設計人員不需要全面掌握每個硬件的開發(fā)標準,通過程序指令進行元件的邏輯功能敘述就可以實現(xiàn)相應的功能。通過該模式的應用為硬件設計帶來了極大的便利,也是電子自動化設計中普遍應用的方法?,F(xiàn)階段常用的硬件描述語言模式有VHDL以及Verilog HDL等,下文中秒表的開發(fā)就是基于VHDL開展的。
為了進一步探究層次化設計方法在電子自動化設計中的應用,本文以較為簡單的秒表為例進行實證分析,系統(tǒng)并詳細的說明該設計方法的思路與流程。秒表具有開始計時、結束計時、暫停與繼續(xù)計時、清零等功能,在顯示屏上以“X:XX.XX”的形式顯示7位數(shù)字。各個信號插孔通過ds1~ds7引出來,同時將段選信號連接起來,設置兩個按鈕,分別實現(xiàn)清零功能與啟停功能。
第一步要明確設計任務,并根據(jù)任務將其分解為若干個相互獨立的子模塊。在秒表開發(fā)中可以分為秒表模塊以及LED顯示控制模塊。其中秒表模塊中涵蓋的時、分以及秒均為計數(shù)器,為了更好的在LED顯示屏中顯示,對分與秒的十位數(shù)進行單獨處理,通過這樣的設置完整實現(xiàn)秒表功能所需要的計數(shù)器規(guī)格與數(shù)量為3個計數(shù)值為0~9以及2個計數(shù)值為0~5的計數(shù)器,圖1所示為層次設計框架示意圖。
圖1 層次設計框架示意圖
在進行秒表層次化設計時,在完成相關功能是要依照從下往上的原則進行,首先要完成下層模塊設計,之后基于完成的下層模塊進行上層模塊設計,確保各個功能都能夠順利實現(xiàn)。
(1)最下層的計數(shù)器設計
基于VHDL輸入類型,根據(jù)秒表要實現(xiàn)的功能,完成mod6以及mod10計時器的開發(fā)工作,同時將設計完成的文件取名為mod6.vhd以及mod10.vhd.
(2)第二層秒表模塊開發(fā)
用原理圖輸入模式完成秒表模塊開發(fā)工作,第一步雙擊mod6.vhd文件,通過選單新建symbol文件;第二步雙擊mod10.vhd文件,并在里面新建symbol文件;第三步建立新的原理圖文檔timer.bdf,使用鼠標左鍵點擊畫布空白地方,打開symbol文件窗口,這是會在Project文件里面自動生成mod6以及mod10元件,見圖2所示。
通過硬件描述語言VHDL實現(xiàn)秒表開發(fā)任務,首先建立新的HNDL文件,并將文件名稱設置為timer.bhd,緊接著在系統(tǒng)框架中設立mod6以及mod10的元件注釋,最后依照實際狀況規(guī)劃mod6以及mod10的實例,參考程序如下。
圖2 Project文件 生成mod6與mod10元件
該環(huán)節(jié)主要進行LED控制器的設計與開發(fā)。首先通過硬件描述語言VHDL實現(xiàn)LED控制模塊功能,并將該文件命名為ldectrl.vhd,于此同時還需要對LED控制器進行實體定義,具體代碼程序如下。
層次設計方式在電子自動化設計中具有非常廣泛的應用,在進行硬件設計時先明確硬件的類型與信號,之后以靈活的方式將各個硬件連接起來,在輸入類型上包含了原理圖模式以及硬件描述語言模式,為了進一步探究電子自動化設計中層次化設計方法的應用,以秒表為例進行了實證研究,為不斷提升電子自動化的設計水平提供支持。