基于FPGA的SOC設計與實(shí)現
在圖4中顯示的是FS2工具的用戶(hù)界面,設計中用到的八條指令,分別是:1>、2>、3>……8>,其中指令1>、2>用來(lái)配置片外Flash芯片;指令3>用來(lái)選擇將要擦寫(xiě)的存儲空間,由圖中可知,本設計中要進(jìn)行的讀寫(xiě)操作 的存儲空間是Ox00000000-0x003FFFFF;指令4>用來(lái)對Flash指定的存儲空間進(jìn)行擦除操作;指令5>用來(lái)把已經(jīng)準備好的二進(jìn)制文件寫(xiě)到上述存儲空間中,設計中使用的二進(jìn)制文件名是QUICK.HEX;指令6>是用來(lái)顯示指定存儲空間中的內容,從圖中可看出,寫(xiě)到存儲空間Ox00000000-0x0000003F的內容是18、FO、9F……、12、E3;指令7>執行對上述存儲空間寫(xiě)入的數據的擦除操作;指令8>顯示上述存儲單元擦除后的內容。
本文引用地址:http://dyxdggzs.com/article/264101.htm

?
圖4 片外Flash的擦寫(xiě)演示過(guò)程
通過(guò)對上述過(guò)程的分析可知,所搭建的SOC系統可準確實(shí)現片外Flash的擦寫(xiě)操作,進(jìn)而說(shuō)明了該系統的準確性。
3.2 搭建的系統對外設接口的讀寫(xiě)操作
本測試在遵循ARM7先進(jìn)外圍總線(xiàn)APB的讀寫(xiě)時(shí)序的前提下,定制用戶(hù)邏輯外設PIO,通過(guò)該系統對PIO接口進(jìn)行讀寫(xiě)操作來(lái)進(jìn)一步驗證設計的準確,驗證中的用到的APB總線(xiàn)的讀寫(xiě)時(shí)序如圖5。

?
圖5 APB總線(xiàn)的讀寫(xiě)時(shí)序
下面將主要遵循系統中先進(jìn)的外圍總線(xiàn)APB的讀寫(xiě)時(shí)序,首先采用硬件描述語(yǔ)言和C代碼,定制八位的用戶(hù)邏輯外設PIO,然后將PIO的輸入端口接到開(kāi)關(guān)Switch0一Switch7,輸出端口接到八個(gè)發(fā)光二極管Led0一Led7,通過(guò)軟硬件調試,使八位開(kāi)關(guān)的輸入電平顯示到八個(gè)發(fā)光二極管上,以此來(lái)進(jìn)一步驗證設計中搭建的SOC系統的準確,針對上述過(guò)程及要求,為了更直觀(guān)地展示驗證結果,制作了簡(jiǎn)單的實(shí)驗板,當開(kāi)關(guān)鍵在高電平時(shí),發(fā)光二極管變亮,否則,發(fā)光二極管不亮。其中定制用戶(hù)邏輯外設的主要步驟如下:
1)規劃元件的硬件功能;
2)使用硬件描述來(lái)描述硬件邏輯;
3)單獨驗證元件的硬件功能;
4)描述寄存器的C頭文件來(lái)為軟件定義硬件寄存器映像;
5)將元件集成到ARM7系統中,使用ARM7來(lái)測試寄存器的訪(fǎng)問(wèn)是否正確,并為該元件編寫(xiě)軟件驅動(dòng);
6)執行系統級的驗證等。
圖6是在A(yíng)etel公司的調試軟件Sofleonsole和實(shí)驗板上的實(shí)際調試結果。

?
圖6 調試結果
由圖6顯示的調試結果可知,八位開(kāi)關(guān)Switeh0-Switeh7的輸入分別是11001011和11100101,這個(gè)和八個(gè)發(fā)光二極管Led0-Led7的輸出結果一致,由此進(jìn)一步驗證了設計的準確性。
4 結束語(yǔ)
本文通過(guò)對基于A(yíng)RM7的SOC系統的設計,介紹了一種Flash結構的FPGA器件及其片上系統的設計方法,進(jìn)而給出了兩種驗證該片上系統準確性的方法,通過(guò)實(shí)際驗證,該系統不僅能準確進(jìn)行片外存儲器的擦寫(xiě),而且可以準確進(jìn)行外設接口的讀寫(xiě)的操作,由此驗證了設計的準確性。文中所搭建SOC系統,可以與符合ARM公司的AHB2.0協(xié)議的北斗基帶芯片無(wú)縫連接,在北斗接收機的設計、測試中有重要的參考價(jià)值。
評論