关于FPGA的一些小见解
Xilinx FPGA配置bit流文件
Xilinx FPGA的供电是采用USB作为电源,使用Verilog HDL或VHDL实现的逻辑电路通过Xilinx的综合工具生成bit流文件,通过Digilent的程序Adept可以进行配置到开发板上。其是通过FPGA的JTAG编程接口,把bit文件下载到FPGA中。Adept也可以把bit文件下载到Platform Flash中,这样即使FPGA电源掉电,配置的电路也会保留。
Xilinx FPGA的配置原理是通过一个USB转换JTAG芯片,通过JTAG把bit文件配置到FPGA或内部Flash中。
这是ZYBO开发板的配置电路,也是通过芯片转换成JTAG协议。
FPGA 开发板没有VGA转换芯片
这个VGA SHIELD就是个金属外壳,Xilinx在VGA输出的数字量加了些电阻,就成了模拟量。通过电阻网络模拟视频DAC方案来实现数模转换。博主发现我手上的Xilinx开发板的VGA都是这样的操作,记得博主面试的时候面试官问我,Xilinx的VGA芯片是什么,真是个坑啊。
还有一种解决方法就是用专用视频转换DAC来实现VGA电路解决方案,可以保证视频传输的质量。
关于FPGA的一些小见解
之前在QQ群里看都有些朋友对Verilog写的代码称之为程序,我个人觉得Verilog写的代码,严格来说不能叫程序,Verilog描述的是数字电路,最后生成的是门级网表。程序最后都是编译成指令机器码,用CPU执行运算。
单片机可以理解为跑程序的微型电脑,麻雀虽小五脏俱全,所以写的代码相当于程序,应该属于软件范畴。单片机写出来程序,用编译器编译后实际上是一条条指令,控制单片机去控制它的外围器件。
FPGA则应该理解为可编程的数字逻辑电路集成芯片,所以写的代码其实是在描绘一个数字逻辑电路。属于硬件范畴。
FPGA内部是并行的,所有的电路逻辑都是在同一个时钟触发下工作的,而单片机属于单线程,内部属于顺序执行,一个执行完了再执行下一个。现在的多核多线程CPU虽然可以达到一些并行的操作,但本质还是和FPGA的完全并行是有区别的。
单片机里面有集成运算单元,FPGA里面是查找表和触发器,本质不一样。我说的是只有胶合逻辑的FPGA,Zynq是在普通FPGA里面集成了个ARM内核。ARM部分的开发和单片机原理是一样。
所以Verilog写的顶多叫代码,FPGA的下载应该叫配置,
#我个人认为,先立个flag,怕被大佬怼。
转载请注明出处:NingHeChuan(宁河川)
个人微信订阅号:开源FPGA
如果你想及时收到个人撰写的博文推送,可以扫描左边二维码(或者长按识别二维码)关注个人微信订阅号
知乎ID:NingHeChuan
微博ID:NingHeChuan
原文地址:https://www.cnblogs.com/ninghechuan/p/9707649.html