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