zoukankan      html  css  js  c++  java
  • 关于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 

  • 相关阅读:
    移植tslib库出现selected device is not a touchscreen I understand的解决方法
    2017- 韦东山视频学员成果精选(三)
    2017-韦东山视频学员成果精选(二)
    2017-韦东山视频学员成果精选(一)
    字符设备驱动另一种写法—mmap方法操作LED
    使用ubuntu16.04配置linux内核和busybox出现错误的解决方法总结
    100000个嵌入式学习者遇到的PING不通问题,我们使用这一个视频就解决了,牛!
    推荐使用集串口,SSH远程登录和FTP传输三合一工具MobaXterm
    外设位宽为8、16、32时,CPU与外设之间地址线的连接方法
    Laravel 日志配置以及设置按日期记录日志
  • 原文地址:https://www.cnblogs.com/ninghechuan/p/9707649.html
Copyright © 2011-2022 走看看