关于FPGA软核的一些总结(microblaze && NIOS II)
2015-11-06 15:30
946 查看
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之前,玩了几年的单片机,对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上面了!!!
相关文章推荐
- ios 设置启动页
- iOS9下的Map Kit View下的使用
- iOS 开发小记 (五)
- iOS 隐藏顶部状态栏
- 招聘一个靠谱的 iOS
- 苹果开发的一些要求(汇总到这里)
- iOS 开发博客汇总
- ios原生二维码扫描
- MWPhotoBrowser, simple and elegant image library for iOS
- 2015/11/6 IOS9适配
- iOS KVC & KVO
- dSYM文件分析
- ios socket通信
- iOS NSDate 各种时间字符说明
- iOS 处理图片的一些小 Tip
- ios 开发日记 21 -自动处理键盘事件的第三方库:IQKeyboardManager
- 多线程
- IOS 给Label添加下划线,删除线,不同的颜色和大小
- iOS 开发 高级:使用 宏定义macros (#,##,...,__VA_ARGS_)
- <iOS>GCD使用经验与技巧