关于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文库

相关推荐
bnsarocket2 小时前
Verilog和FPGA的自学笔记8——按键消抖与模块化设计
笔记·fpga开发·verilog·自学·硬件编程
奋斗的牛马5 小时前
FPGA—ZYNQ学习GPIO-EMIO,MIO,AXIGPIO(五)
单片机·嵌入式硬件·学习·fpga开发·信息与通信
FPGA_ADDA7 小时前
基于VU13P的6U VPX 载板
fpga开发·信号处理·xcvu13p
KOAN凯擎小妹1 天前
晶振信号质量:上升下降时间与占空比
单片机·嵌入式硬件·fpga开发·信息与通信
cmc10281 天前
148.PCIE参考时钟无法绑定
fpga开发
我爱C编程1 天前
【硬件片内测试】基于FPGA的完整BPSK链路测试,含频偏锁定,帧同步,定时点,Viterbi译码,信道,误码统计
fpga开发·定时·bpsk·帧同步·卷积编码·维特比译码·频偏估计
FPGA_小田老师1 天前
FPGA基础知识(十一):时序约束参数确定--从迷茫到精通
fpga开发·时序约束·建立时间·保持时间·约束参数计算
FPGA_小田老师1 天前
FPGA基础知识(十二):详解跨时钟域约束
fpga开发·时序约束·跨时钟域·约束完整性
第二层皮-合肥2 天前
基于FPGA的雷达信号处理设计工具包分享
fpga开发·信号处理
美好的事情总会发生2 天前
FPGA的LVDS接口电压
嵌入式硬件·fpga开发·硬件工程·智能硬件