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 

  • 相关阅读:
    sys模块详解
    os模块详解2
    tyvj 1203 机器分配
    洛谷 P1496 火烧赤壁
    P1204 [USACO1.2]挤牛奶Milking Cows
    bzoj 2120 数颜色
    P2056 采花
    P1972 [SDOI2009]HH的项链
    9.20模拟赛
    P2709 小B的询问
  • 原文地址:https://www.cnblogs.com/ninghechuan/p/9707649.html
Copyright © 2011-2022 走看看