关于FPGA软核的仿真(一)

MicroBlaze是Xilinx专为FPGA设计的软核处理器,其本质是通过FPGA的可编程逻辑资源(如查找表LUT、触发器Flip-Flop)动态构建的处理器架构,其本质为搭建处理器电路。MicroBlaze上运行嵌入式C代码程序,通过CoreConnect总线与FPGA内的硬件模块通信,共同完成可编程系统芯片SOPC的设计。

对有软核处理器的FPGA代码进行仿真主要有以下两种方式,C代码与FPGA联合仿真、verilog测试激励编写。

一、C代码与FPGA联合仿真

当FPGA中存在MicroBlaze要进行仿真时,其核心问题是将嵌入式C代码程序和FPGA设计联系在一起,在仿真运行的过程中,嵌入式C代码程序运行在软核处理器上,通过总线与FPGA内的硬件模块进行通信。

Vivado工具提供的将嵌入式C代码程序和FPGA设计联系在一起的方法为在Tools下面Associate ELE_Files下选择已经编译的C代码程序。

当然上述方法,存在以下难点:

1、如果直接用研制方提供编译的C代码程序,测试激励的产生完成依赖于编译好的程序,其程序产生测试激励是否依赖其他的条件不饿可知,何时产生测试激励不可知,导致测试激励的产生不可控,同时也会造成时间的浪费。

2、如果针对不同的测试场景编写不同.C的测试激励,对测试人员的能力提出了较大挑战,反而额外增加了仿真测试激励编写的复杂度。

二、verilog测试激励编写

更为直接的一种方式则是通过编写verilog代码测试激励模拟软核程序的行为。测试人员只需将重点放在软核处理器与FPGA通信的总线时序上,极大提高了仿真效率。

最新在搜索资料的时候,使用的是迷塔AI搜索,搜索出来的内容质量很高。同时我也搜索到关于软核仿真不错的资料,在这里也共享一下

【免费】FPGA设计基于Kintex-7的MicroBlaze处理器系统仿真与硬件实现:使用IPIntegrator构建和验证嵌入式系统资源-CSDN文库

相关推荐
Riwuarua2 小时前
从近似0基础开始FPGA开发 -- part.7 FPGA的网络通信设计
fpga开发
pingping_TEL5 小时前
JESD204B_IP核使用教程
fpga开发
cmc10281 天前
292.三段式状态机第三段时序逻辑用state_c与_n的差异分析
fpga开发
智塑未来2 天前
FPGA开发板怎么选?先看资质、案例与研发底盘
fpga开发
minglie13 天前
黑金AX301的SDRAM
fpga开发
hahaha60163 天前
HLS高层次综合设计技巧--高层次综合设计探讨
fpga开发
minglie13 天前
黑金AX301的EEPROM 24LC04
fpga开发
Hello-FPGA3 天前
量子计算滨松c15550-22up单光子相机与PCIe1004采集卡
人工智能·计算机视觉·fpga开发
9527华安3 天前
FPGA实现CameraLink转SFP光口,基于GT Transceivers Wizard Aurora8B10B编解码架构,提供4套工程源码和技术支持
fpga开发·sfp·cameralink·aurora8b10b·transceivers
ALINX技术博客4 天前
【期刊共读】如何应对 FPGA 短缺常态?
嵌入式硬件·fpga开发·fpga