基于FPGA的SOC設(shè)計與實現(xiàn)
在圖4中顯示的是FS2工具的用戶界面,設(shè)計中用到的八條指令,分別是:1>、2>、3>……8>,其中指令1>、2>用來配置片外Flash芯片;指令3>用來選擇將要擦寫的存儲空間,由圖中可知,本設(shè)計中要進行的讀寫操作 的存儲空間是Ox00000000-0x003FFFFF;指令4>用來對Flash指定的存儲空間進行擦除操作;指令5>用來把已經(jīng)準(zhǔn)備好的二進制文件寫到上述存儲空間中,設(shè)計中使用的二進制文件名是QUICK.HEX;指令6>是用來顯示指定存儲空間中的內(nèi)容,從圖中可看出,寫到存儲空間Ox00000000-0x0000003F的內(nèi)容是18、FO、9F……、12、E3;指令7>執(zhí)行對上述存儲空間寫入的數(shù)據(jù)的擦除操作;指令8>顯示上述存儲單元擦除后的內(nèi)容。
本文引用地址:http://www.ex-cimer.com/article/264101.htm
?
圖4 片外Flash的擦寫演示過程
通過對上述過程的分析可知,所搭建的SOC系統(tǒng)可準(zhǔn)確實現(xiàn)片外Flash的擦寫操作,進而說明了該系統(tǒng)的準(zhǔn)確性。
3.2 搭建的系統(tǒng)對外設(shè)接口的讀寫操作
本測試在遵循ARM7先進外圍總線APB的讀寫時序的前提下,定制用戶邏輯外設(shè)PIO,通過該系統(tǒng)對PIO接口進行讀寫操作來進一步驗證設(shè)計的準(zhǔn)確,驗證中的用到的APB總線的讀寫時序如圖5。
?
圖5 APB總線的讀寫時序
下面將主要遵循系統(tǒng)中先進的外圍總線APB的讀寫時序,首先采用硬件描述語言和C代碼,定制八位的用戶邏輯外設(shè)PIO,然后將PIO的輸入端口接到開關(guān)Switch0一Switch7,輸出端口接到八個發(fā)光二極管Led0一Led7,通過軟硬件調(diào)試,使八位開關(guān)的輸入電平顯示到八個發(fā)光二極管上,以此來進一步驗證設(shè)計中搭建的SOC系統(tǒng)的準(zhǔn)確,針對上述過程及要求,為了更直觀地展示驗證結(jié)果,制作了簡單的實驗板,當(dāng)開關(guān)鍵在高電平時,發(fā)光二極管變亮,否則,發(fā)光二極管不亮。其中定制用戶邏輯外設(shè)的主要步驟如下:
1)規(guī)劃元件的硬件功能;
2)使用硬件描述來描述硬件邏輯;
3)單獨驗證元件的硬件功能;
4)描述寄存器的C頭文件來為軟件定義硬件寄存器映像;
5)將元件集成到ARM7系統(tǒng)中,使用ARM7來測試寄存器的訪問是否正確,并為該元件編寫軟件驅(qū)動;
6)執(zhí)行系統(tǒng)級的驗證等。
圖6是在Aetel公司的調(diào)試軟件Sofleonsole和實驗板上的實際調(diào)試結(jié)果。
?
圖6 調(diào)試結(jié)果
由圖6顯示的調(diào)試結(jié)果可知,八位開關(guān)Switeh0-Switeh7的輸入分別是11001011和11100101,這個和八個發(fā)光二極管Led0-Led7的輸出結(jié)果一致,由此進一步驗證了設(shè)計的準(zhǔn)確性。
4 結(jié)束語
本文通過對基于ARM7的SOC系統(tǒng)的設(shè)計,介紹了一種Flash結(jié)構(gòu)的FPGA器件及其片上系統(tǒng)的設(shè)計方法,進而給出了兩種驗證該片上系統(tǒng)準(zhǔn)確性的方法,通過實際驗證,該系統(tǒng)不僅能準(zhǔn)確進行片外存儲器的擦寫,而且可以準(zhǔn)確進行外設(shè)接口的讀寫的操作,由此驗證了設(shè)計的準(zhǔn)確性。文中所搭建SOC系統(tǒng),可以與符合ARM公司的AHB2.0協(xié)議的北斗基帶芯片無縫連接,在北斗接收機的設(shè)計、測試中有重要的參考價值。
評論