01

SkyEye的概念和应用


SkyEye,中文全称天目全数字实时仿真软件,是基于可视化建模的硬件行为级仿真平台,支持用户通过拖拽的方式对硬件进行行为级别的仿真和建模。


SkyEye目前支持主流的嵌入式硬件平台,可以运行主流的操作系统,此外还能适配国内自主研发的操作系统天脉。通过利用基于LLVM的动态二进制翻译技术,使虚拟处理器在典型的桌面计算机上运行速度可以达到2000MIPS以上。


图片关键词

▲图1:利用虚拟原型来降低产品的周期和成本


图片关键词

▲图2:4个PowerPC运行4个天脉操作系统的截图



02

SkyEye的优势


SkyEye可与第三方语言或者模型集成


目前已实现SkyEye与SystemC集成进行时序仿真,以及SkyEye与MATLAB或者Simulink集成进行多领域协同仿真。


图片关键词

▲图3:MATLAB与SkyEye连接图


基于可视化图形的硬件建模


基于可视化图形的硬件建模,有效降低了硬件工程师和软件工程师之间的沟通成本。软件工程师可以不依赖于硬件工程师,而根据需要对硬件的配置进行改动。通过这种可视化图形的硬件建模方式,软件人员能够快速搭建硬件模型,并在硬件模型上运行和调试与真实硬件相同的二进制文件,可大大缩短产品研发周期,提高软件调试效率。


图片关键词

▲图4:基于可视化图形的硬件建模


容器化的仿真平台


传统的以虚拟机为最小资源调度单位的模式出现资源利用率低、配置复杂等一系列问题。为适应云计算服务的不断发展,SkyEye支持Docker容器化部署,将配置无误的SkyEye环境封装到Docker,用户可直接加载Docker来运行仿真环境。Docker容器可以随时开随时关,非常适合动态扩容和缩容,使得SkyEye可以弹性的部署在云平台上。同时,通过多个容器,一台机器可以跑多个服务,部署多个SkyEye Docker仿真出多个处理器架构模型。SkyEye Docker不仅支持终端模式输出,还支持Telnet模式,可通过端口映射的方式访问串口的输出数据。


图片关键词

▲图5:SkyEye Docker部署原理


FPGA协同仿真


SkyEye实现了与虚拟FPGA的协同仿真,可以支持UVM的验证方法。虚拟的FPGA通过协同仿真总线与SkyEye相连,用户可以自主的控制仿真运行速度,提高较大规模嵌入式系统的测试效率。SkyEye本身是多架构的功能级别仿真平台,且有丰富的调试功能,可以对多核的嵌入式系统进行调试。


图片关键词

▲图6:SkyEye与虚拟FPGA协同仿真



03

SkyEye的应用案例


SkyEye导弹仿真案例


模拟全系统环境由Core i7管理组合控制导弹加电、发射等一系列运行过程。整个全系统环境包含管理组合Core i7应用程序,发控系统应用程序,弹上机系统应用程序以及Windows下的火控模拟器。


图片关键词

▲图7:SkyEye导弹仿真案例


SkyEye卫星仿真案例


超实时仿真子系统是一套基于SPARC处理器的姿轨控嵌入式软件的开发、仿真和验证平台,支持和外部Simulink仿真模型的协同仿真,实现全数字高速闭环仿真运行,用于姿轨控软件的开发调试、系统测试。


图片关键词

▲图8:SkyEye卫星仿真案例


SkyEye载荷软件仿真案例


SkyEye实现了AT697、龙芯等嵌入式处理器的空间站载荷软件的全数字软件仿真,可使代码在软件仿真平台上虚拟运行,同时支持代码质量分析等测试任务。


图片关键词

▲图9:SkyEye载荷软件仿真案例


SkyEye大规模航电系统仿真案例


SkyEye为综合航空电子系统(ICP)提供多机多功能目标系统搭建的环境,可以采用分布式部署方式,通过多路传输数据总线把多种机载电子分系统交联在一起,能实现信息的测量、采集、传输、处理、监控和显示功能,并完成飞行控制、发动机控制、导航、性能管理等任务。


图片关键词

▲图10:SkyEye大规模航电系统仿真案例


04

SkyEye支持多种处理器模型



指令集架构处理器核心SOC芯片编译环境支持的OS
ARMARM9系列S3C2410、AT91RM9200、OMAPL138、SOPC国威arm-gcc编译器、Linux、VxWorks6.9
RVDS开发环境
ARM11系列S3C6410arm-gcc编译器Linux
CORTEX-M系列STM32、STM32F0arm-gcc编译器/
CORTEX-R系列RM48L952arm-gcc编译器/
CORTEX-A系列AM335x、IMX6Q、ZYNQ7000arm-gcc编译器ReWorks锐华
飞腾FTC662FT-2000ALambdaAE、VxWorks6.9、ACoreOS天脉
workbench
DSPC28xC2812、F28335CCS/
C54xC5416CCS/
C55xC5510CCS/
C64xC6416、C6455、C6474CCS/
C66xC6678CCSLinux
C67xC6701、6713、C6748CCS/
POWERPCMPC603EMPC8245workbenchVxWorks6.9、ReWorks锐华
E200Z6MPC5554
E300MPC8378、MPC5121
E500MPC8560、P1010、P2020
E600MPC755、MPC8641D
E5500T1040
E6500T2080、T4240
SPARCSPARC V7TSC695Fsparc-gcc编译器/
SPARC V8LEON2、BM3803、Tornado2.2VxWorks6.8、RT-Thread
AT697F、BM3823
X86ATOMN270workbenchVxWorks6.8
PENTIUMP2、P3、P4
COREI3、I5、I7
MIPSGS232龙芯1E龙芯IDE开发环境Linux、VxWorks6.9
LS132R龙芯1J龙芯IDE开发环境/



05

SkyEye已支持的外设列表


外设类型(片内)定时器所属开发板
定时器am3359_timerc541x_timerc64x_timerc6748_timer
at91rm9200_timerc5510_timerc6678_timerleon2_timer
c28_timerc6474_timerc6713_timeromapl138_timer
s3c2410x_timers3c6410_timerstm32f0x_timer
串口16550_uartc2812_uartleon2_uartmpc8245_uart
am3359_uartc5510_uartls3a_uarts3c2410x_uart
at91rm9200_uartc6678_uartmpc5121_uarts3c6410_uart
tsc695f_uartimx6_uart

ctrlam3359_ctrlc6678_ctrlomapl138_emac_ctrls3c6410_sysctrl
at91rm9200_sysctrlf28335_ctrls3c2410x_sysctrl
emifc6713_emifomapl138_emif

gpioam3359_gpioc6713_gpioomapl138_gpios3c6410_gpio
at91rm9200_gpiof28335_gpios3c2410x_gpio
flashc6713_flashf28335_flash

iicam335x_iicc6713_iicf28335_iicmpc8378_iic
omapl138_iicsopa_i2c

pllc64x_pllc6713_pllmpc8641_pllomapl138_pll
intcam335x_intcc6713_intcc674x_aintcomapl138_intc
lcdomapl138_lcd


picmpc5121_ipicmpc8245_picmpc8378_picmpc8641d_pic
p1010_pict2080_pic

pief28335_pie


spiam335x_spif28335_spiomapl138_spis3c6410_spi
其他t2080_bmanimx6q_analogc6713_semaphorec6748_sata
t2080_fmanat91rm9200_vicc6748_mcBspc6748_upp
t2080_qmanc2812_xintfc6748_ecapc674x_ehrpwm
am335x_prcmc6713_L2cachec6748_nandf28335_adc
am335x_rtcc6713_edmac6748_rtcf28335_xintf
f28335_canf28335_scileon2_irqmpc8245_pci
f28335_ecapf28335_xinterruptmpc5121_sfifocmpc8245_ddr
f28335_epwmf28335_mcbspmpc5121_dmampc8378_pit
mpc8560_dpramomapl138_emacomapl138_syscfgstm32f0x_usart
mpc8641_rapidioomapl138_mcaspomapl138_usbhoststm32f0x_rcc
omapl138_edmaccomapl138_pscomapl138_usbotgs3c2410x_vic
s3c6410_camifs3c6410_rtcs3c6410_usbhosts3c6410_vic
s3c6410_mfct2080_dcfg



外设类型(定制/片外)定时器所属开发板
定时器c645x_timerthey_timerrm48x_timert104x_timer
c687_timermpc8378_timersopc_timer
串口c687uarthtey_uartp1010_duartsopc_uart
ft2000a_uartloongson_uart

ctrlbm3803_sysctrlc2812_sysctrlc5510_sysctrlsopc_ictl
sparc_fight_ctrlsparc_sysctrl

emifc2812_emifc6678_emifrm48x_emif
gpioc5510_gpioc6748_gpiosopc_gpiox86_gpio
c64x_gpioft2000_gpio

flashamd_flasham29lv160b_flashs29gl01gs_flashloongson_flash
at697f_flashs29a016d_flash

iicat607f_iicrm48x_iicft2000_iicxdht_iic
pllc6678_pll


intcam3359_intcc6678_intcnm3823_intcxdht_intc
lcds3c6410_lcduc1608_lcd

piec2812_pie


spiat697f_spift2000_spirm48x_spim25p128_spi
c6678_spiloongson_spisopc_spixdht_spi
其他ad7705c687_cldlloongson_collectrm48x_sys
rs485_hdlcc687_epicloongson_configs3c6410_keypad
am35x_heccc6k_lvdsloongson_hpets3c6410_sdhci
arinc_bu67118can_advloongson_ipmbsopc_a429
at697f_1553_bccan_bridgeloongson_pwmsopc_boot
at697f_1553b_bc_ramf28335_can_sja1000loongson_secsopc_dmac
at697f_1553b_rtft2000a_crumpc8641d_etsecsopc_fpga
bu_61580ft2000a_dmacmpc8378_usbsopc_fpu
bu_61580_ramft2000a_gicp2020_l2_cachesopc_wdt
c2812_xinterruptft2000a_gmacp2020_ecmusb_storage
c5510_mcbspft2000a_lpcp2020_elbcw5100_end
c618_sib_busft2000a_mcup2020_gutsx86_ad
c6678_iicft2000a_pciep2020_picx86_bu61580
c6678_cicft2000a_wdgrm48x_adcx86_bu_61580_ram
c6678_ddr2htey_gpsrm48x_esmx86_rs422
c6678_dschtey_clientrm48x_giox86_sja1000
c6678_edmahtey_cmd_filerm48x_ioxdht_can
c6678_msmchtey_hdlcrm48x_pbistzn122_atm
c6678_mt19f1gleon2_iorm48x_pcr
c6678_n25q128loongson_1553b_rtrm48x_pmm
c6678_srioloongson_adcrm48x_sci


连接器(多板之间的总线设备)
Lvds_busad_linkercan_linkeri2c_busspi_bus
Rs232_busarinc_429_busdmc_linkerio_linkerstd1553b_linker
Rs422_busatm_linkergpio_gaters422_bridgetsi578_linker
Rs485_busbu61580_bridgegpio_linkerrs422_linkerttp_bus


06

嵌入式软件测试工具


目标码覆盖率测试工具


该产品是基于仿真技术进行目标码测试的工具。通过在搭建的虚拟目标系统上运行用户的可执行程序,生成执行结果,计算代码覆盖率,展示语句覆盖率、分支覆盖率、函数覆盖率等信息(支持以HTML及Excel形式导出覆盖率报告)。该工具支持DO-178B中A级软件目标码测试覆盖性的相关要求,同时支持各种平台的嵌入式软件的目标码覆盖率测试,如ARM, PowerPC, DSP, MIPS, SPARC等。


图片关键词

▲图11:目标码覆盖率测试工具


基于仿真的自动故障注入工具


该产品是基于符号执行技术和仿真平台技术的自动化故障注入工具。由于基于仿真技术,该工具可以灵活地对任意硬件注入任意故障;同时还可基于符号执行技术,将硬件符号化,准确注入能够影响系统行为的故障。这一工具的优势在于可以避免传统方式的故障注入中的重复注入和遗漏注入。


图片关键词

▲图12:基于仿真的自动故障注入工具界面


首页
产品
新闻
联系