美文网首页
verilog面试宝典[1]-FPGA原理

verilog面试宝典[1]-FPGA原理

作者: Yuhan尽量笑不露齿 | 来源:发表于2017-09-27 20:28 被阅读942次

by yang

最近准备数字IC岗时复习整理的知识点,参考了比较火的fpga面试题,和一些相关知识。主要是写着自己看着方便的,有很多不严谨的地方,有些地方有参考链接,那些博客写的都很好。

Part.1

FPGA原理
1:FPGA和CPLD的区别?
2:FPGA的构成?查找表LUT的原理与结构?
3:FPGA设计流程:★
4:FPGA芯片内存储器资源?
5:FPGA上电配置方式


1:FPGA和CPLD的区别?

FPGA是可编程ASIC。ASIC:专用集成电路,为专门用途定制

CPLD FPGA
内部结构 Product-term 乘积项 Look-up Table 查找表
程序存储 内部EEPROM SRAM,外挂EEPROM
资源类型 组合电路资源丰富 触发器资源丰富
使用场合 算法和组合逻辑 时序逻辑
速度
其他资源 - PLL、RAM和乘法器等
保密 可加密 一般不能保密

CPLD这种基于乘积项(实际就是与或阵列)的PLD基本都是由EEPROM和Flash工艺制造的,一上电就可以工作,无需其他芯片配合。布线方式是全局的,所以延时可预测。CPLD适合做逻辑设计。而SRAM工艺的FPGA是易失的,因为它们是基于 SRAM 工艺的,掉电丢失配置。

2:FPGA的构成?查找表LUT的原理与结构?

Spartan-6中每个slice包括4个LUT,8个FF,和其他逻辑。具体了解slice结构有助于coding充分利用资源。

基本逻辑单元.png
查找表(look-up-table)简称为LUT,LUT本质上就是一个RAM。如果FPGA中使用4输入的LUT,那每一个LUT可以看成一个有4位地址线的16x1的RAM。这也是为什么FPGA需要外接一个ROM来上电配置。 当用户通过原理图或HDL语言描述了一个逻辑电路以后,FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。
3:FPGA设计流程:★
  • 功能定义,器件选型
  • 设计输入
  • 功能仿真(前仿真) ModelSim
  • 综合优化
  • 布线
  • 时序仿真(后仿真)
4:FPGA芯片内存储器资源?

FPGA芯片内有两种存储器资源:一种叫block ram,另一种是由LUT配置成的内部存储器(也就是分布式ram)。
Block ram由一定数量固定大小的存储块构成的,使用BLOCK RAM资源不占用额外的逻辑资源,并且速度快。但是使用的时候消耗的BLOCK RAM资源是其块大小的整数倍。

  • FPGA中可以综合实现为RAM/ROM/CAM的三种资源:block ram ;触发器(FF),查找表(LUT);
    注意事项:
    1:在生成RAM等存储单元时,应该首选block ram 资源;其原因有二: 第一:使用block ram等资源,可以节约更多的FF和4-LUT等底层可编程单元。使用block ram可以说是“不用白不用”,是最大程度发挥器件效能,节约成本的一种体现; 第二:block ram是一种可以配置的硬件结构,其可靠性和速度与用LUT和register构建的存储器更有优势。
    2:弄清FPGA的硬件结构,合理使用block ram资源;
    3:分析block ram容量,高效使用block ram资源;
    4:分布式ram资源(distribute ram)
5:FPGA上电配置方式

上电——>清空寄存器——>根据M[1:0]电平设置载入模式——> 配置同步 ——> 启动序列 ——>CRC校验 ——> 载入配置文件 ——> 检测器件ID

  • JTAG 边界扫描模式 4线
    JTAG 引脚:测试数据输入(TDI)模式选择(TMS)和测试时钟(TCK),TDO输出。在这种模式下,每个 TCK 载入一个比特的数据。JTAG时钟频率—TCK 最高是 33 MHz。
    TMS、TCK 和 TDI 引脚在缺省的情形下都提供了内部的可编程的弱上拉。TDO 是浮空的。

  • 从并模式

  • 主串模式 Master Serial SPI FLASH

  • 从串模式 好像区别在于是不是自己的时钟CCLK驱动

PROM配置:bit文件 iMPACT转mcs,写入PROM。

上电里面核心电压VCCINT先启动,然后是IO电压,,载入模式确定之后进行识别和载入配置文件,需要考虑上电时IO电压为弱上拉,要加入上下拉电阻,改变器件加电顺序等来尽量避免或减少FPGA配置时对电路其他器件的影响。载入成功后还会校验。

配置E²prom eletric eraser program
IIC总线,要上拉,上电后写一个数据到 EEPROM 的地址 0, 再读出地址 0 的内容。这里我们写的数据是 0x12, 用户可以自行修改。

相关文章

网友评论

      本文标题:verilog面试宝典[1]-FPGA原理

      本文链接:https://www.haomeiwen.com/subject/bshpextx.html