FPGA實現(xiàn)UART和MCU一體化設(shè)計
3 系統(tǒng)仿真驗證
用硬件描述語言VHDL所實現(xiàn)的設(shè)計輸入,需要經(jīng)過完整的編譯過程才可以進行仿真驗證,甚至下載配置。整個編譯過程包括4個階段:分析/綜合(Analysis&Synthesis)、適配(Filter)、裝配(Assembier)、時序分析(Timing Analyzer)。
分析/綜合階段使用QuartusⅡ中Integrated綜合用VHDL實現(xiàn)的輸入文件,生成后續(xù)過程使用的EDIFice網(wǎng)表文件(.edf)。適配階段使用由上一階段建立的網(wǎng)表數(shù)據(jù)庫,將工程的邏輯和時序要求與器件的可用資源相匹配,這個過程會將每個邏輯功能分配給最佳的邏輯單元位置,并選定相應(yīng)的互聯(lián)路徑和引腳分配,為以后的布線和時序分析做準(zhǔn)備。裝配階段根據(jù)上一階段的資源匹配生成可供下載配置的功能文件。時序分析是對所有的邏輯進行分析,根據(jù)適配階段的資源匹配情況進行時序分析,驗證最佳情況(最快速率等級的最小延時)下的時序。在Quartus中可以通過選擇Start Complieation來運行所有的編譯器模塊,也可以通過選擇Start單獨運行各個模塊,還可以通過選擇omplierTool(Tools菜單),在Complier Tool窗口運行該模塊,以啟動編輯器模塊。在Complier Tool窗口中,可以打開該模塊的設(shè)置文件或報告文件,或打開其他相關(guān)的窗口。
完成上述編譯階段以后,就要編程實現(xiàn)數(shù)據(jù)的發(fā)送和接收工作。在本例中,為了方便測試,在外設(shè)內(nèi)部通過將發(fā)送線直接連接至接收線進行內(nèi)部環(huán)路的自檢測試,外設(shè)緩沖區(qū)狀態(tài)采用輪詢方式工作。測試程序編寫如下:
上述簡單程序段所對應(yīng)的微控制器碼加載在程序存儲器中,如圖9所示。本文引用地址:http://www.ex-cimer.com/article/191268.htm
建立仿真輸入文件,設(shè)置時鐘信號和發(fā)送總線數(shù)據(jù)即可。首先對串行通信設(shè)備進行仿真測試,測試輸入如圖10所示。串行通信設(shè)備的仿真結(jié)果如圖11所示。
從仿真結(jié)果可以看出,串行通信設(shè)備已達到預(yù)定的功能要求。
加入微控制器MCU作用后,使用圖8所對應(yīng)的類匯編程序進行測試。在此例程中,只簡單發(fā)送了一個8位數(shù)據(jù)來說明問題,如圖12所示。
系統(tǒng)仿真結(jié)果如圖13所示。
可以看出程序的執(zhí)行結(jié)果如預(yù)想一樣,最終在數(shù)據(jù)總線上顯示的是接收到并從接收緩沖區(qū)讀出的數(shù)據(jù)。說明加入MCU和FIFO緩沖區(qū)后系統(tǒng)環(huán)路測試功能正常,已達到設(shè)計要求。
4 結(jié)語
在當(dāng)今電子設(shè)計領(lǐng)域,尤其是電子核心器件和設(shè)計軟件落后的情況下,應(yīng)用傳統(tǒng)的電子設(shè)計方法既浪費時間,且成本可能太高,甚至有時候性能也不能滿足要求,通過FPGA技術(shù)進行設(shè)計可以使性能得到大大改觀。本文就是利用FPGA技術(shù)實現(xiàn)的一個計算機外圍I/O設(shè)備和一個簡單的微控制器。隨著FPGA技術(shù)的進一步成熟和發(fā)展,它的性能和靈活性會更加出色,將來完全有可能將一臺計算機系統(tǒng)在其內(nèi)部,并搭配外圍接口電路,而且性能會更加突出。隨著計算機技術(shù)應(yīng)用的擴大,尤其是嵌入式計算機的廣泛使用,應(yīng)用FPGA技術(shù)進行現(xiàn)代數(shù)字系統(tǒng)的設(shè)計,會使系統(tǒng)更加緊致,功能更加完善,功耗更加降低,性能更加穩(wěn)定。因此,應(yīng)用FPGA進行電子設(shè)計勢在必行。
評論