用FPGA實現(xiàn)多路PWM輸出的接口設(shè)計與仿真
3 邏輯仿真和器件驗證
行為級仿真是在HDL源代碼設(shè)計完成之后,通過設(shè)計測試平臺文件(激勵和測試矢量)來驗證設(shè)計的正確性。邏輯仿真是在邏輯綜合之后,對生成的門級網(wǎng)表進(jìn)行驗證。測試平臺文件與采用行為級仿真的測試平臺文件,這樣能夠保證設(shè)計驗證的一致性。并且,邏輯驗證是一種理想的門級網(wǎng)表,不存在延時信息。器件驗證也稱版圖后仿真,它是在FPGA實現(xiàn)之后,提取出門級網(wǎng)表和延時信息進(jìn)行驗證,測試平臺文件與行為級一樣。器件驗證結(jié)果是比較接近真實硬件的結(jié)果。完全通過這3層的驗證,基本上可以保證設(shè)計的結(jié)果與測試平臺文件一致。
行為仿真和器件仿真也可直接在QuartusⅡ中進(jìn)行,其中輸入激勵波形和輸出觀察節(jié)點在QuartusⅡ波形輸入窗口進(jìn)行設(shè)置,在設(shè)計通過功能仿真后,需要進(jìn)一步選擇器件仿真以驗證設(shè)計的正確性。器件仿真時包含了所選擇的對應(yīng)FPGA估算延時或?qū)嶋H延時信息,故仿真速度較功能仿真慢很多。通過仿真可以及早發(fā)現(xiàn)設(shè)計中的錯誤,并根據(jù)具體情況進(jìn)行修改,包括修改硬件實現(xiàn)架構(gòu)、設(shè)計代碼、約束條件等一個或多個方面。器件仿真通過后,則可以將設(shè)計下載到芯片,進(jìn)行硬件功能驗證。
圖3是對應(yīng)PWM的功能仿真結(jié)果波形。從圖3中可以看出,在564 ps時刻CPU向PWM寫入新的控制常數(shù)后,下一個周期的PWM輸出占空比立刻發(fā)生了相應(yīng)改變。
圖4是相應(yīng)設(shè)計在QuartusⅡ下編譯通過后進(jìn)行器件仿真的波形,由圖4可見,其時序功能正確。通過器件下載編程方法下載到相應(yīng)的FPGA,就可以結(jié)合整個嵌入式系統(tǒng)進(jìn)行硬件調(diào)試。
4 結(jié)束語
在FPGA開發(fā)軟件中完成設(shè)計以后,軟件會產(chǎn)生一個最終的編程文件,QuartusⅡ中是.pof或.sof?,F(xiàn)在的FPGA基本都采用在系統(tǒng)編程方式,對于EEP-ROM/Flask/SRAM工藝的在系統(tǒng)可編程FPGA,廠家提供編程電纜,如Altera公司提供的下載電纜類型有ByteBlasterⅡ并口下載電纜、USB BlasterTMUSB口下載電纜、MasterBlaster 通信纜線(USB或RS-232端口)等,其配置方式可以有主動/被動串行配置方式、JTAG方式等。電纜一端裝在計算機的相應(yīng)接口上,另一端接至PCB(印制電路板)上的編程插頭,它向系統(tǒng)板上的器件提供配置或編程數(shù)據(jù),這就是所謂的ISP(在線系統(tǒng)編程)。
在電機控制等許多應(yīng)用場合,需要產(chǎn)生多路頻率和脈沖寬度可調(diào)的PWM波形,本文通過使用Altera公司FPGA產(chǎn)品開發(fā)工具QuartusⅡ,設(shè)計了6路PWM輸出接口,并下載到FPGA,實現(xiàn)與CPU的協(xié)同工作。在嵌入式系統(tǒng)中通過FPGA擴展系統(tǒng)功能的設(shè)計是一種有效的方法。
pwm相關(guān)文章:pwm原理
評論