李士剛,祝周榮
(海裝駐上海地區(qū)第六軍事代表室,上海 201109)
國(guó)產(chǎn)P1750A的研制成功并大量投入使用,規(guī)避了1750芯片完全依賴進(jìn)口的風(fēng)險(xiǎn),使得MIL-STD-1750A指令集已經(jīng)成為我國(guó)星載彈載計(jì)算機(jī)常用指令集之一,它提供多種數(shù)據(jù)類型,包括16位、32位整數(shù)和32位、48位浮點(diǎn)數(shù),以及直接尋址、間接尋址、立即尋址、短變址、長(zhǎng)變址尋址等十三種尋址方式,指令類型有130種。
通常星載彈載計(jì)算機(jī)的結(jié)構(gòu)是CPU+FPGA結(jié)合的方式來控制各個(gè)存儲(chǔ)模塊和IO模塊,如看門狗電路、存儲(chǔ)器控制功能(包括EDAC)、總線接口芯片控制電路等。CPU軟件和FPGA產(chǎn)品都有程序的概念,都要進(jìn)行專門的驗(yàn)證和測(cè)試,現(xiàn)有的測(cè)試方式通常是將CPU軟件和FPGA產(chǎn)品分開測(cè)試,CPU軟件在硬件平臺(tái)上進(jìn)行測(cè)試,而FPGA產(chǎn)品只能通過仿真器對(duì)CPU時(shí)序的讀寫IO時(shí)序和讀寫SRAM時(shí)序進(jìn)行單一模擬,但是實(shí)際CPU時(shí)序會(huì)根據(jù)各種指令集產(chǎn)生不同時(shí)序和不同時(shí)序組合,因此現(xiàn)有測(cè)試方法僅能滿足簡(jiǎn)單測(cè)試用例的實(shí)施,缺少通用性,時(shí)序產(chǎn)生的隨意性和主觀性較強(qiáng),不能真正反映實(shí)際CPU時(shí)序的運(yùn)行情況,從而導(dǎo)致FPGA內(nèi)部設(shè)計(jì)隱患無法發(fā)現(xiàn)。因此需要有一種測(cè)試方法,既能實(shí)現(xiàn)實(shí)際意義上CPU時(shí)序的組合,又能進(jìn)行某些安全性、強(qiáng)度、單粒子翻轉(zhuǎn)等異常測(cè)試激勵(lì)故障注入,從而實(shí)現(xiàn)軟硬件聯(lián)合仿真,并完全滿足測(cè)試覆蓋率要求。
本文提出一種CPU+FPGA的仿真模型搭建方法,設(shè)計(jì)了一種精簡(jiǎn)1750仿真軟核,實(shí)現(xiàn)了基于1750A指令集架構(gòu)微處理器仿真軟核和FPGA軟硬件聯(lián)合仿真驗(yàn)證方法。……