最近,研究了arm和FPGA芯片开发的过程,发现二者之间的不同点如下:
1)ARM采用的串行运行的方式,通过取指令,解码编译,执行的方式进行逻辑运算。而FPGA可以采用并行的方式进行,通过逻辑设计,设计输入,逻辑综合,布局布线,器件编程的方式来进行功能实现。
2)ARM的硬件电路在芯片设计好后,是固化的,其内部寄存器,控制器和运算器是不能修改和定义的;而FPGA的硬件电路是可以进行自由组合的,虽然其寄存器个数,门电路个数或者晶体管个数是确定的,其内部电路可以通过verilog DHL语言进行编程实现。
二者之间的相同点如下:
1)拿到逻辑设计任务后,必须熟悉硬件板卡,了解硬件板卡资源及其对应IO端口引脚分配;
2)板卡外围资源接线定义明确后,也就是对应的arm引脚,FPGA的引脚资源定义也就不能改变了。不同的是arm引脚定义必须按照其芯片规定来进行编程定义,而FPGA的引脚定义可以利用软件的工具tool进行定义,智能化程度更高。