FPGA實現UART和MCU一體化設計
3 系統仿真驗證
用硬件描述語言VHDL所實現的設計輸入,需要經過完整的編譯過程才可以進行仿真驗證,甚至下載配置。整個編譯過程包括4個階段:分析/綜合(Analysis&Synthesis)、適配(Filter)、裝配(Assembier)、時序分析(Timing Analyzer)。
分析/綜合階段使用QuartusⅡ中Integrated綜合用VHDL實現的輸入文件,生成后續過程使用的EDIFice網表文件(.edf)。適配階段使用由上一階段建立的網表數據庫,將工程的邏輯和時序要求與器件的可用資源相匹配,這個過程會將每個邏輯功能分配給最佳的邏輯單元位置,并選定相應的互聯路徑和引腳分配,為以后的布線和時序分析做準備。裝配階段根據上一階段的資源匹配生成可供下載配置的功能文件。時序分析是對所有的邏輯進行分析,根據適配階段的資源匹配情況進行時序分析,驗證最佳情況(最快速率等級的最小延時)下的時序。在Quartus中可以通過選擇Start Complieation來運行所有的編譯器模塊,也可以通過選擇Start單獨運行各個模塊,還可以通過選擇omplierTool(Tools菜單),在Complier Tool窗口運行該模塊,以啟動編輯器模塊。在Complier Tool窗口中,可以打開該模塊的設置文件或報告文件,或打開其他相關的窗口。
完成上述編譯階段以后,就要編程實現數據的發送和接收工作。在本例中,為了方便測試,在外設內部通過將發送線直接連接至接收線進行內部環路的自檢測試,外設緩沖區狀態采用輪詢方式工作。測試程序編寫如下:

上述簡單程序段所對應的微控制器碼加載在程序存儲器中,如圖9所示。本文引用地址:http://www.104case.com/article/191268.htm
建立仿真輸入文件,設置時鐘信號和發送總線數據即可。首先對串行通信設備進行仿真測試,測試輸入如圖10所示。串行通信設備的仿真結果如圖11所示。
從仿真結果可以看出,串行通信設備已達到預定的功能要求。
加入微控制器MCU作用后,使用圖8所對應的類匯編程序進行測試。在此例程中,只簡單發送了一個8位數據來說明問題,如圖12所示。
系統仿真結果如圖13所示。
可以看出程序的執行結果如預想一樣,最終在數據總線上顯示的是接收到并從接收緩沖區讀出的數據。說明加入MCU和FIFO緩沖區后系統環路測試功能正常,已達到設計要求。
4 結語
在當今電子設計領域,尤其是電子核心器件和設計軟件落后的情況下,應用傳統的電子設計方法既浪費時間,且成本可能太高,甚至有時候性能也不能滿足要求,通過FPGA技術進行設計可以使性能得到大大改觀。本文就是利用FPGA技術實現的一個計算機外圍I/O設備和一個簡單的微控制器。隨著FPGA技術的進一步成熟和發展,它的性能和靈活性會更加出色,將來完全有可能將一臺計算機系統在其內部,并搭配外圍接口電路,而且性能會更加突出。隨著計算機技術應用的擴大,尤其是嵌入式計算機的廣泛使用,應用FPGA技術進行現代數字系統的設計,會使系統更加緊致,功能更加完善,功耗更加降低,性能更加穩定。因此,應用FPGA進行電子設計勢在必行。
評論