关于FPGA软核的一些总结(microblaze && NIOS II)

FPGA软核实质上是一个高级一点的IP核,他可以利用C语言编程,实现Verilog语言与C语言的联合编程。

在玩FPGA之前,玩了几年的单片机,对C语言驱动模块有了一定的依赖,自从开始玩FPGA,Verilog HDL驱动模块有速度快的优势,速度远远快于一般的单片机,还有并行运行的特点。但是单片机C语言却只能按照顺序执行,虽然有中断系统,但实质上还是顺序执行。

FPGA也可以利用C语言编程,那就是软核了,玩了一段时间altera(NIOS)和Xilinx(MicroBlaze)的FPGA,他们的软核大同小异,思想基本是一样的,只是软件的操作上不同,有些程序从单片机移植到FPGA就显得方便多了。特别是有些需要顺序实现的过程C语言实现起来也比较方便,比如液晶,TFT,ADC,DAC等外置模块。

自定义IP核也通过软核来实现,底层是用Verilog语言实现,定义之后,用户只要通过API调用即可,通信总线可以采用AVALON(ALTERA),AXI(Xilinx),FSL(Xilinx),总线用来传输数据,实现C语言与Verilog语言的通信。


前几天与一个FPGA高级工程师简单聊了几句,原来软核这东西在实际工作岗位中用到的很少,如果是做数字IC岗位,很少有这个需求。从学校其他团队的FPGA大牛口中,他们也很少用到软核,基本都是Verilog,说起这个,心就拔凉拔凉的,就权当自己的兴趣吧,自己最近这段时间,搞了很久软核,接下来要把重点转移到Verilog上面了!!!

你可能感兴趣的:(FPGA)