劉海山,喬 森,丁懷龍
基于軟、硬件協(xié)同的FPGA軟件交聯(lián)仿真驗(yàn)證技術(shù)
劉海山,喬 森,丁懷龍
(北京精密機(jī)電控制設(shè)備研究所,北京,100076)
針對(duì)型號(hào)伺服控制系統(tǒng)硬件架構(gòu)特點(diǎn),提出一種基于軟、硬件協(xié)同的現(xiàn)場(chǎng)可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)軟件交聯(lián)仿真驗(yàn)證技術(shù),利用黑白盒測(cè)試相結(jié)合的思想,分別建立軟件仿真驗(yàn)證環(huán)境和硬件仿真驗(yàn)證環(huán)境;應(yīng)用器件建模技術(shù),在軟件仿真驗(yàn)證環(huán)境中構(gòu)建一個(gè)近似于真實(shí)的、虛擬的硬件運(yùn)行環(huán)境;簡(jiǎn)化傳統(tǒng)的FPGA設(shè)計(jì)驗(yàn)證流程,將驗(yàn)證的重點(diǎn)只放在功能和時(shí)序上,在保證驗(yàn)證全面性的前提下提高驗(yàn)證效率;利用故障仿真分析技術(shù),充分檢驗(yàn)FPGA軟件的可靠性、抵御故障的能力及抗干擾能力。
軟、硬件協(xié)同;FPGA軟件;交聯(lián)仿真;器件建模
在新型戰(zhàn)略武器及運(yùn)載型號(hào)伺服系統(tǒng)的研制中,傳統(tǒng)伺服控制系統(tǒng)的單核心處理器硬件架構(gòu)已無(wú)法滿足型號(hào)的控制要求,越來(lái)越多的伺服控制系統(tǒng)引入現(xiàn)場(chǎng)可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)參與控制,采用數(shù)字信號(hào)處理(Digital Signal Processing,DSP)高速數(shù)字信號(hào)處理器+FPGA協(xié)同處理器的硬件架構(gòu),利用FPGA對(duì)數(shù)字系統(tǒng)進(jìn)行邏輯規(guī)劃,實(shí)現(xiàn)對(duì)大量A/D、D/A轉(zhuǎn)換通道的控制和總線時(shí)序的控制。另外,隨著小型化、集成化、輕質(zhì)化的發(fā)展[1],設(shè)計(jì)者也逐步加大了可編程邏輯器件的引入,通過(guò)編寫硬件描述語(yǔ)言的方式自主配置硬件資源、設(shè)計(jì)硬件功能電路模塊,取代目前繁多的電路芯片及其外圍電路。這使得FPGA軟件的重要性不斷提高,一旦FPGA軟件存在缺陷,將導(dǎo)致FPGA無(wú)法實(shí)現(xiàn)預(yù)期功能。因此,對(duì)FPGA軟件進(jìn)行全面、精確、高效的驗(yàn)證技術(shù)研究顯得尤為重要。
本文根據(jù)硬件架構(gòu)的特點(diǎn),提出一種基于軟、硬件協(xié)同的FPGA軟件交聯(lián)仿真驗(yàn)證技術(shù),利用黑白盒測(cè)試相結(jié)合的思想,分別建立軟件仿真驗(yàn)證環(huán)境和硬件仿真驗(yàn)證環(huán)境,應(yīng)用器件建模技術(shù)在不同的驗(yàn)證級(jí)別和驗(yàn)證環(huán)境上對(duì)FPGA軟件的功能、時(shí)序進(jìn)行了全面、精確的驗(yàn)證,并通過(guò)對(duì)2種仿真驗(yàn)證環(huán)境下驗(yàn)證結(jié)果的比較分析,不斷修正設(shè)計(jì)模型,逐步逼近整個(gè)控制電路的實(shí)際參數(shù),使驗(yàn)證結(jié)果最終達(dá)到收斂狀態(tài),實(shí)現(xiàn)了設(shè)計(jì)參數(shù)最優(yōu)化,提高了驗(yàn)證的精度和可信度,并利用故障仿真分析技術(shù)[2],充分檢驗(yàn)FPGA軟件的可靠性、抵御故障的能力及抗干擾能力。
被測(cè)伺服控制系統(tǒng)采用DSP高速數(shù)字信號(hào)處理器+FPGA協(xié)處理器的硬件架構(gòu),如圖1所示。其中,DSP高速數(shù)字信號(hào)處理器中運(yùn)行伺服控制軟件,主要實(shí)現(xiàn)伺服控制系統(tǒng)自檢、自診斷、時(shí)鐘同步、閉環(huán)控制及性能補(bǔ)償功能,并通過(guò)1553B總線實(shí)現(xiàn)與控制、遙測(cè)系統(tǒng)的信息通訊,同時(shí)還進(jìn)行伺服控制系統(tǒng)內(nèi)部時(shí)鐘管理及故障診斷。FPGA作為伺服控制系統(tǒng)中邏輯接口器件,主要完成復(fù)位邏輯、上電時(shí)序控制、外部中斷邏輯、外部D/A與A/D轉(zhuǎn)換器片選邏輯、數(shù)據(jù)總線雙向連接、1553B總線控制邏輯等工作,是負(fù)責(zé)CPU主控板上各數(shù)字器件之間的邏輯規(guī)劃的重要元件。該設(shè)計(jì)包含6片共24通道A/D轉(zhuǎn)換器、4片共8通道D/A轉(zhuǎn)換器,通過(guò)FPGA將1553B總線控制器的地址空間與DSP芯片的zone0區(qū)0x2000~0x3fff空間映射,將24通道A/D信號(hào)和8通道D/A信號(hào)與DSP芯片的zone2區(qū)0xc0000~0xdbfff空間映射,使DSP芯片能夠以操作內(nèi)存空間的方式對(duì)1553B總線控制器、A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器進(jìn)行讀寫。
DSP芯片的讀、寫信號(hào)相與作為1553B總線控制器的數(shù)據(jù)鎖存信號(hào);握手信號(hào)通過(guò)邏輯取反使DSP芯片與1553B總線控制器匹配;當(dāng)產(chǎn)生總線中斷或A/D轉(zhuǎn)換完成信號(hào)時(shí),向DSP芯片產(chǎn)生中斷信號(hào);當(dāng)需要讀寫外部器件時(shí),選通總線驅(qū)動(dòng)器,控制方向信號(hào),實(shí)現(xiàn)數(shù)據(jù)的雙向流通。
根據(jù)控制電路結(jié)構(gòu)和功能要求,F(xiàn)PGA設(shè)計(jì)中包含復(fù)位邏輯模塊、上電時(shí)序控制模塊、A/D片選模塊、A/D中斷邏輯模塊、D/A片選模塊、1553B總線控制邏輯模塊、數(shù)據(jù)總線讀寫控制邏輯模塊,各功能模塊由頂層模塊實(shí)例化引用。
圖1 被測(cè)伺服控制系統(tǒng)硬件架構(gòu)
2.1 器件建模
本文取代傳統(tǒng)的利用行為描述語(yǔ)言為被測(cè)設(shè)計(jì)模型提供測(cè)試激勵(lì)的做法,利用器件建模技術(shù)對(duì)與FPGA接口的DSP高速數(shù)字信號(hào)處理器、1553B總線接口芯片、電源復(fù)位芯片、A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器等外圍電路和器件進(jìn)行建模,組成仿真模型庫(kù),如圖2所示。
為被測(cè)設(shè)計(jì)模型提供測(cè)試激勵(lì),以此在軟件仿真驗(yàn)證環(huán)境中構(gòu)建一個(gè)近似于真實(shí)的、虛擬的硬件運(yùn)行環(huán)境,實(shí)現(xiàn)對(duì)FPGA軟件功能和時(shí)序充分全面的驗(yàn)證。
圖2 仿真模型庫(kù)結(jié)構(gòu)
依據(jù)器件的工作原理對(duì)器件進(jìn)行功能建模[3],對(duì)與FPGA接口的外圍器件進(jìn)行功能分析,結(jié)合硬件電路設(shè)計(jì)提煉出需要建模的引腳(例如:總線信號(hào)、使能信號(hào)、片選信號(hào)等引腳),通過(guò)Verilog HDL語(yǔ)言對(duì)建模信號(hào)按照控制要求進(jìn)行邏輯描述,包括:信號(hào)電平的建立和保持時(shí)間、信號(hào)電平的幅值等,實(shí)現(xiàn)規(guī)定的電路動(dòng)作,從而模擬被測(cè)設(shè)計(jì)模型與外圍芯片之間的信號(hào)交互。再根據(jù)器件的電學(xué)特性和延時(shí)特性進(jìn)行時(shí)序建模,按照器件設(shè)計(jì)手冊(cè)典型時(shí)序圖中規(guī)定的時(shí)序要求,在邏輯描述中加入延時(shí)信息,以此對(duì)器件的延時(shí)特性進(jìn)行模擬。之后將器件模型在ModelSim編譯仿真器中進(jìn)行編譯仿真,驗(yàn)證通過(guò)后預(yù)編譯到仿真模型庫(kù)中,在對(duì)被測(cè)設(shè)計(jì)模型仿真驗(yàn)證時(shí)直接從仿真模型庫(kù)中提取,并作為測(cè)試激勵(lì)嵌入到被測(cè)設(shè)計(jì)模型,實(shí)現(xiàn)對(duì)被測(cè)設(shè)計(jì)模型的仿真驗(yàn)證,同時(shí)仿真模型庫(kù)中的器件模型可在后續(xù)類似軟件的驗(yàn)證中直接提取調(diào)用。
2.2 驗(yàn)證環(huán)境的原理與建模
基于軟、硬件協(xié)同的FPGA軟件交聯(lián)仿真驗(yàn)證環(huán)境由軟件仿真驗(yàn)證環(huán)境和硬件仿真驗(yàn)證環(huán)境組成,如圖3所示。
圖3 軟、硬件協(xié)同的FPGA軟件交聯(lián)仿真驗(yàn)證環(huán)境
軟件仿真驗(yàn)證環(huán)境是由仿真驗(yàn)證計(jì)算機(jī)、仿真模型庫(kù)、Matlab激勵(lì)數(shù)據(jù)、Matlab仿真模型、被測(cè)設(shè)計(jì)模型、ModelSim編譯仿真器構(gòu)成的離線閉環(huán)驗(yàn)證系統(tǒng)。在仿真驗(yàn)證計(jì)算機(jī)中,采用白盒測(cè)試的思想,利用Verilog HDL語(yǔ)言對(duì)與被測(cè)設(shè)計(jì)模型接口的器件進(jìn)行建模,按照設(shè)計(jì)要求描述與被測(cè)設(shè)計(jì)模型接口時(shí)的規(guī)定電路動(dòng)作,并通過(guò)調(diào)用頂層模塊編寫的測(cè)試平臺(tái)(Testbench),與Matlab中預(yù)先設(shè)計(jì)的激勵(lì)數(shù)據(jù)一起構(gòu)成被測(cè)設(shè)計(jì)模型的軟激勵(lì)。在測(cè)試平臺(tái)中,通過(guò)不同的任務(wù)調(diào)度(Task)描述實(shí)現(xiàn)特定功能的過(guò)程,自動(dòng)將輸入激勵(lì)施加到被測(cè)設(shè)計(jì)模型中,從而實(shí)現(xiàn)功能驗(yàn)證環(huán)境的建模。在ModelSim編譯仿真器中對(duì)被測(cè)設(shè)計(jì)模型進(jìn)行功能仿真,生成波形文件和覆蓋率信息,檢驗(yàn)被測(cè)設(shè)計(jì)是否滿足設(shè)計(jì)需求中規(guī)定的功能。同時(shí)在ModelSim編譯仿真器中添加網(wǎng)表文件、標(biāo)準(zhǔn)時(shí)序延遲文件、設(shè)計(jì)約束、測(cè)試向量庫(kù)文件對(duì)被測(cè)設(shè)計(jì)模型進(jìn)行時(shí)序仿真,生成性能分析文件,檢驗(yàn)被測(cè)設(shè)計(jì)是否滿足設(shè)計(jì)需求中規(guī)定的性能指標(biāo)。仿真結(jié)束后,將ModelSim編譯仿真器中生成的功能、時(shí)序信息以數(shù)據(jù)文件的形式導(dǎo)出,供測(cè)試結(jié)果比較分析時(shí)使用。利用Matlab對(duì)被測(cè)設(shè)計(jì)模型進(jìn)行建模并仿真,生成的仿真結(jié)果與ModelSim編譯仿真器生成的數(shù)據(jù)文件進(jìn)行比較分析,進(jìn)一步檢驗(yàn)被測(cè)設(shè)計(jì)是否滿足設(shè)計(jì)需求中規(guī)定的功能和時(shí)序指標(biāo)要求,同時(shí)隔離編譯仿真器對(duì)被測(cè)設(shè)計(jì)模型帶來(lái)的不可預(yù)見(jiàn)的影響,精確定位設(shè)計(jì)缺陷,實(shí)現(xiàn)軟件仿真驗(yàn)證環(huán)境下的離線閉環(huán)驗(yàn)證。
硬件仿真驗(yàn)證環(huán)境是借助于伺服控制系統(tǒng)內(nèi)部集成的DSP高速數(shù)字信號(hào)處理器、FPGA、外圍電路配合仿真驗(yàn)證計(jì)算機(jī)、數(shù)字邏輯分析儀和各電路控制時(shí)序模型所構(gòu)成的硬件在線動(dòng)態(tài)驗(yàn)證平臺(tái)。采用黑盒測(cè)試的思想,將經(jīng)過(guò)軟件仿真驗(yàn)證、環(huán)境驗(yàn)證通過(guò)后的被測(cè)設(shè)計(jì)的熔絲圖文件下載到FPGA中,通過(guò)CCS編譯調(diào)試軟件對(duì)DSP高速數(shù)字信號(hào)處理器編程,使DSP高速數(shù)字信號(hào)處理器輸出正常或異常的控制邏輯信號(hào),達(dá)到向FPGA施加硬激勵(lì)的目的,從而真實(shí)模擬實(shí)際運(yùn)行環(huán)境中的控制邏輯,這種激勵(lì)方式易于實(shí)現(xiàn),且配置靈活,能夠方便地實(shí)現(xiàn)對(duì)各種控制邏輯的遍歷測(cè)試。利用數(shù)字邏輯分析儀觀測(cè)并記錄FPGA及外圍電路物理響應(yīng)信號(hào)的特征及波形,通過(guò)與各電路控制時(shí)序模型的比較分析,完成FPGA軟件在硬件實(shí)物上的功能、時(shí)序仿真驗(yàn)證,檢驗(yàn)在硬件實(shí)物上FPGA軟件能否滿足設(shè)計(jì)需求中規(guī)定的功能和時(shí)序指標(biāo)要求,實(shí)現(xiàn)在硬件仿真驗(yàn)證環(huán)境下的在線閉環(huán)驗(yàn)證。通過(guò)對(duì)2種仿真驗(yàn)證環(huán)境下的驗(yàn)證結(jié)果進(jìn)行分析比較,不斷修正設(shè)計(jì)模型,逐步逼近整個(gè)控制電路的實(shí)際參數(shù),使驗(yàn)證結(jié)果最終達(dá)到收斂狀態(tài),實(shí)現(xiàn)電路參數(shù)設(shè)計(jì)的最優(yōu)化,完成FPGA軟件在不同的驗(yàn)證級(jí)別和驗(yàn)證環(huán)境上的交聯(lián)仿真驗(yàn)證。
2.3 驗(yàn)證流程優(yōu)化
傳統(tǒng)的FPGA設(shè)計(jì)驗(yàn)證流程如圖4所示。首先,根據(jù)設(shè)計(jì)說(shuō)明文檔利用硬件描述語(yǔ)言描述系統(tǒng)的行為,并根據(jù)行為描述進(jìn)行寄存器傳輸級(jí)的編譯器中間語(yǔ)言描述(Register Transer Language,RTL)級(jí)描述,利用專業(yè)的編碼規(guī)則檢查工具對(duì)RTL描述代碼進(jìn)行規(guī)則檢查,檢驗(yàn)代碼的可綜合性、可仿真性、可測(cè)試性和可重用性;其次,對(duì)程序進(jìn)行功能性仿真,檢驗(yàn)描述是否正確;而后進(jìn)行綜合,對(duì)綜合得到的門級(jí)電路進(jìn)行綜合后仿真,查看功能與要求是否一致;最后,將布局布線的時(shí)延信息反標(biāo)注到設(shè)計(jì)網(wǎng)表中,進(jìn)行布局布線后仿真,檢查設(shè)計(jì)時(shí)序與FPGA實(shí)際運(yùn)行情況是否一致后通過(guò)專業(yè)自動(dòng)測(cè)試設(shè)備進(jìn)行板級(jí)仿真[4]。
圖4 傳統(tǒng)的FPGA設(shè)計(jì)驗(yàn)證流程
傳統(tǒng)的設(shè)計(jì)驗(yàn)證流程不僅步驟繁瑣、流程復(fù)雜,且在驗(yàn)證過(guò)程中需要大量的專業(yè)工具的支持,驗(yàn)證的周期長(zhǎng),測(cè)試投入和成本較高,不利于型號(hào)的快速研制。本文針對(duì)型號(hào)伺服控制系統(tǒng)硬件架構(gòu)的特點(diǎn)和控制要求,減少驗(yàn)證步驟,簡(jiǎn)化測(cè)試流程,提出一種基于軟、硬件協(xié)同的FPGA軟件驗(yàn)證流程,如圖5所示。
圖5 基于軟、硬件協(xié)同的FPGA軟件驗(yàn)證流程
由于FPGA在整個(gè)控制電路中主要完成特定時(shí)序下的特定功能,因此將驗(yàn)證的重點(diǎn)放在功能和時(shí)序上,而不考慮其他中間過(guò)程。根據(jù)設(shè)計(jì)需求和約束分解出功能驗(yàn)證需求和約束,分別在軟件驗(yàn)證環(huán)境和硬件驗(yàn)證環(huán)境中對(duì)硬件設(shè)計(jì)和軟件設(shè)計(jì)進(jìn)行功能驗(yàn)證,通過(guò)波形分析、覆蓋率統(tǒng)計(jì)檢驗(yàn)被測(cè)設(shè)計(jì)模型(包括:軟件設(shè)計(jì)和硬件設(shè)計(jì))是否滿足功能需求。如果不滿足功能需求或約束條件,則檢驗(yàn)功能需求和約束是否合理正確,并修正被測(cè)設(shè)計(jì)模型,重復(fù)功能驗(yàn)證步驟,直至問(wèn)題閉合,狀態(tài)收斂;如果驗(yàn)證通過(guò),則根據(jù)設(shè)計(jì)需求和約束分解出時(shí)序驗(yàn)證需求和約束,然后分別在軟件驗(yàn)證環(huán)境和硬件驗(yàn)證環(huán)境中對(duì)被測(cè)設(shè)計(jì)模型進(jìn)行時(shí)序驗(yàn)證,通過(guò)波形分析、時(shí)序分析檢驗(yàn)被測(cè)設(shè)計(jì)模型是否滿足各電路的時(shí)序需求。如果不滿足時(shí)序需求或約束條件,則檢驗(yàn)時(shí)序需求和約束是否合理正確,并修正被測(cè)設(shè)計(jì)模型,重復(fù)時(shí)序驗(yàn)證步驟,直至問(wèn)題閉合,狀態(tài)收斂,電路參數(shù)穩(wěn)定可靠;如果全部驗(yàn)證通過(guò)則結(jié)束驗(yàn)證流程,完成整個(gè)驗(yàn)證過(guò)程。應(yīng)用該流程不僅減少了驗(yàn)證步驟,簡(jiǎn)化了測(cè)試流程,提高了測(cè)試的效率,同時(shí)確保了FPGA軟件功能、時(shí)序測(cè)試驗(yàn)證的全面性[5]。
2.4 故障仿真分析
本文中所提出的故障仿真分析技術(shù)首先根據(jù)控制電路的結(jié)構(gòu)特性和功能特性建立相應(yīng)的故障模型,再根據(jù)故障模型對(duì)被測(cè)設(shè)計(jì)模型施加定向或隨機(jī)激勵(lì),然后將仿真輸出結(jié)果與理論輸出結(jié)果進(jìn)行比較,以此檢查被測(cè)設(shè)計(jì)模型的可靠性和容錯(cuò)能力。
軟件仿真驗(yàn)證環(huán)境和硬件仿真驗(yàn)證環(huán)境中,一方面利用軟件手段,通過(guò)Matlab仿真工具對(duì)被測(cè)設(shè)計(jì)模型施加隨機(jī)序列實(shí)現(xiàn)對(duì)FPGA軟件的故障仿真和分析;另一方面利用硬件手段,通過(guò)DSP高速數(shù)字信號(hào)處理器向FPGA軟件輸入非法邏輯實(shí)現(xiàn)對(duì)FPGA軟件的故障仿真和分析。如圖6所示,在軟件仿真驗(yàn)證環(huán)境下,利用Verilog HDL語(yǔ)言對(duì)故障模型進(jìn)行描述,然后利用Matlab仿真工具中的接口擴(kuò)展模塊Link for ModelSim與ModelSim編譯仿真器連接[6,7],將隨機(jī)序列和故障模型嵌入被測(cè)設(shè)計(jì)模型,由ModelSim編譯仿真器完成對(duì)被測(cè)設(shè)計(jì)模型的硬件模擬,再利用Matlab仿真模型對(duì)ModelSim中的模擬硬件進(jìn)行仿真,并輸出仿真結(jié)果,實(shí)現(xiàn)對(duì)被測(cè)設(shè)計(jì)模型故障的協(xié)同仿真[7]。
圖6 基于Matlab的軟件故障仿真分析
基于DSP的硬件故障仿真分析如圖7所示。在硬件仿真驗(yàn)證環(huán)境下,利用CCS編譯調(diào)試軟件按照故障模型對(duì)DSP高速數(shù)字信號(hào)處理器進(jìn)行編程,添加時(shí)序信息,使DSP高速數(shù)字信號(hào)處理器輸出異??刂七壿嫞蚴馆敵隹刂菩盘?hào)的特性(保持時(shí)間和變化頻率)發(fā)生變化或達(dá)到臨界狀態(tài),利用數(shù)字邏輯分析儀觀測(cè)并記錄可編程邏輯器件及外圍電路物理響應(yīng)信號(hào)的特征及波形,根據(jù)響應(yīng)情況判斷FPGA軟件各功能模塊實(shí)現(xiàn)是否正確,檢查各功能電路是否由于異??刂七壿嫸a(chǎn)生誤動(dòng)作,在真實(shí)的硬件環(huán)境下檢驗(yàn)FPGA軟件的可靠性、抵御故障的能力及抗干擾能力[8,9]。
圖7 基于DSP的硬件故障仿真分析
以A/D片選邏輯為例,輸入信號(hào)分別為DSP芯片內(nèi)存空間地址區(qū)片選信號(hào)i_dsp_xzcs2_n、地址總線信號(hào)iv_a18~iv_a13,輸出信號(hào)為A/D片選信號(hào)o_ad_cs1_n~o_ad_cs6_n,信號(hào)均為低電平有效。DSP芯片依次訪問(wèn)6片A/D轉(zhuǎn)換器,在一個(gè)中斷周期內(nèi),共執(zhí)行6次該操作,分別對(duì)24個(gè)通道進(jìn)行采樣,A/D片選邏輯模塊功能仿真波形如圖8所示。圖8a中的毛刺為通過(guò)Matlab軟件向被測(cè)功能模塊輸入信號(hào)中添加的隨機(jī)干擾脈沖,被測(cè)輸出信號(hào)在軟件仿真驗(yàn)證環(huán)境中并未由于隨機(jī)干擾脈沖的引入而出現(xiàn)誤動(dòng)作的情況。圖8b中的毛刺為地址總線中加入的隨機(jī)干擾信號(hào),被測(cè)輸出信號(hào)在硬件仿真驗(yàn)證環(huán)境中并未由于隨機(jī)干擾脈沖的引入而出現(xiàn)誤動(dòng)作的情況。由圖8可知,在2種仿真驗(yàn)證環(huán)境中的波形相同。因此,被測(cè)設(shè)計(jì)功能正確,且具有較好的抗干擾性。
圖8 A/D片選邏輯模塊功能仿真波形
圖9為A/D片選邏輯模塊時(shí)序仿真波形。圖9a為軟件仿真驗(yàn)證環(huán)境中的時(shí)序仿真波形,光標(biāo)之間為輸入信號(hào)有效到輸出信號(hào)輸出的時(shí)間,約為24.623 ns;圖9b為硬件仿真驗(yàn)證環(huán)境中的時(shí)序波形,光標(biāo)之間為輸入信號(hào)有效到輸出信號(hào)輸出的時(shí)間,約為10 ns,優(yōu)于軟件仿真驗(yàn)證環(huán)境下的24.623 ns,而設(shè)計(jì)中的時(shí)序約束為30 ns,因此,被測(cè)功能模塊滿足時(shí)序約束,且實(shí)現(xiàn)了硬件設(shè)計(jì)的最優(yōu)化。
圖9 A/D片選邏輯模塊時(shí)序仿真波形
本文利用基于軟、硬件協(xié)同的FPGA軟件交聯(lián)仿真驗(yàn)證技術(shù)實(shí)現(xiàn)了對(duì)某型號(hào)伺服控制系統(tǒng)FPGA軟件功能和時(shí)序的精確驗(yàn)證,試驗(yàn)結(jié)果表明:在軟件仿真驗(yàn)證環(huán)境中,應(yīng)用器件建模技術(shù)構(gòu)造一個(gè)虛擬的硬件運(yùn)行環(huán)境,為被測(cè)設(shè)計(jì)施加軟激勵(lì),驗(yàn)證了整個(gè)控制系統(tǒng)硬件設(shè)計(jì)功能的正確性和時(shí)序的合理性,同時(shí)在硬件仿真驗(yàn)證環(huán)境中,利用DSP及外圍電路對(duì)被測(cè)設(shè)計(jì)施加硬激勵(lì),驗(yàn)證了FPGA軟件的邏輯功能的正確性和時(shí)序的合理性,并通過(guò)對(duì)2種仿真驗(yàn)證環(huán)境驗(yàn)證結(jié)果的比較分析,不斷修正設(shè)計(jì)模型,實(shí)現(xiàn)了電路設(shè)計(jì)的最優(yōu)化。通過(guò)驗(yàn)證流程的優(yōu)化,提高了驗(yàn)證的效率,并利用故障仿真分析技術(shù),充分檢驗(yàn)FPGA軟件的可靠性、抵御故障的能力及抗干擾能力。
[1] 宋春霞, 胡波, 閆大慶. 2013年各國(guó)固體火箭技術(shù)進(jìn)展[J]. 中國(guó)航天, 2014(7): 40-45.
[2] 周新蕾, 卿壽松. 軟件可靠性保證及相關(guān)技術(shù)[J]. 質(zhì)量與可靠性, 2005(6): 25-28.
[3] 孫英俠, 王東, 朱穎. 基于LASAR軟件仿真的板級(jí)自動(dòng)測(cè)試研究[J].儀表技術(shù), 2014(4): 28-31.
[4] 于斌, 米秀杰. ModelSim電子系統(tǒng)分析及仿真[M]. 北京: 電子工業(yè)出版社, 2011.
[5] Mathworks, Ιnc. The link for modelsim documentation[DB/OL]. [2011-08-13]. http://www.mathworks.com.
[6] 門范靜, 陳文藝. 基于Modelsim與Matlab/Simulink聯(lián)合仿真技術(shù)的接口與應(yīng)用研究[J]. 西安郵電學(xué)院學(xué)報(bào), 2010, 15(3): 72-75.
[7] 文全剛, 孫志剛. 基于黑盒的FPGA功能測(cè)試[J]. 微計(jì)算機(jī)信息, 2004(12): 96-97.
[8] 戚新字. 基于FPGA設(shè)計(jì)的功能仿真和時(shí)序仿真[J]. 航空電子技術(shù), 2005, 36(3): 5l-54.
[9] 李偉, 張剛. 基于FPGA的數(shù)字系統(tǒng)設(shè)計(jì)方法[J]. 太原理工大學(xué)學(xué)報(bào)2008(39): 183-185.
Field Programmable Gate Array Hardware-Software Co-Simulation Verification
Liu Hai-shan, Qiao Sen, Ding Huai-long
(Beijing Research Ιnstitute of Precise Mechatronic and Controls, Beijing, 100076)
A FPGA hardware-software co-simulation technology is presented in this paper based on servo control system hardware architecture and white box and black box software testing method. A software simulation experiment system, approximately equivalent to electric arc furnace system is established based on component modeling technology. The software simulation experiment system just brings forward key technology in the circuit function and timing to ensure the comprehensiveness and high efficiency. The FPGA software can achieve high reliability and good anti-interference ability by the software simulation experiment system and modeling and fault simulating technology.
Hardware-software; Field programmable gate array; Co-Simulation; Component modeling
TP391.9
A
1004-7182(2017)04-0072-06
DOΙ:10.7654/j.issn.1004-7182.20170417
2016-11-26;
2017-04-15
劉海山(1982-),男,工程師,主要研究方向?yàn)殡娏﹄娮优c電力傳動(dòng)及嵌入式軟件